Belajar AppArmor (Application Armor) dari dasar hingga production-grade: pre-requisites & setup environment, sejarah Immunix/SUSE & kernel 2.6.36, konsep path-based MAC & arsitektur LSM, status mode & load/unload profile, menulis profile dasar dengan file rules, profile tools aa-genprof & aa-logprof, network & capabilities rules, debugging denials & logs, variables tunables & include, web & application services, containers Docker/containerd & Kubernetes, desktop & system services, attack surface reduction & policy refinement, securing sensitive data & paths, vulnerability awareness & CVE fixes, auditing & monitoring, LSM stack & kernel interaction, advanced profile features, policy tooling & automation, AppArmor 5 & transisi policy, scale & multi-host management, fitur modern & roadmap, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum masuk lebih dalam ke AppArmor, ada beberapa skill dasar Linux yang wajib kalian kuasai terlebih dahulu: CLI dan shell, manajemen service systemd, permission user dan file, hingga konsep proses, executable, dan library. Episode ini memandu kalian menyiapkan environment lab yang aman, menginstall tools userspace, dan memverifikasi bahwa AppArmor aktif.

Menelusuri mengapa dunia butuh AppArmor: keterbatasan DAC yang hanya membatasi berdasarkan user dan group, kelahiran AppArmor dari proyek Immunix, adopsi oleh Novell dan SUSE, integrasinya ke kernel Linux 2.6.36, hingga adopsi oleh Docker, containerd, dan ChromeOS.

Memahami fondasi AppArmor: konsep profil per aplikasi yang menentukan akses file, jaringan, capabilities, dan sinyal; dua mode kerja enforce dan complain; perbandingan AppArmor dengan SELinux; hingga komponen kernel LSM dan tools userspace seperti apparmor_parser dan libapparmor.

Praktik pertama mengelola AppArmor: membaca status lengkap dengan aa-status dan memeriksa kesiapan dengan aa-enabled, memahami daftar profil aktif, mengubah mode enforce dan complain, hingga memuat dan melepas profil dengan apparmor_parser beserta persistensinya saat boot.

Praktik menulis profil AppArmor pertama: sintaks profile dengan aturan di dalam kurung kurawal, aturan file r w m k, path globbing untuk pola direktori, aturan deny untuk melarang akses eksplisit, hingga penggunaan include dan abstraksi yang disediakan distro.

Meningkatkan produktivitas dengan tools interaktif AppArmor: membuat profil baru dengan aa-genprof langsung dari executable target, mengizinkan dan menolak setiap request yang muncul, memperbarui profil dari log denial dengan aa-logprof, serta memverifikasi hasil akhirnya.

Membatasi proses lewat dua dimensi di luar filesystem: network rules untuk mengontrol socket TCP, UDP, Unix, dan netlink, capability rules untuk hak khusus kernel, serta prinsip least privilege yang menyatukan keduanya.

Membaca jejak denial AppArmor di syslog dan journald, memahami format apparmor DENIED, menjalankan alur debug observe-adjust-reload-verify, dan memakai aa-notify untuk notifikasi denial real-time.

Membuat profile portabel dengan variable bawaan untuk home directory dan procfs, memahami direktori tunables, serta memanfaatkan abstractions bawaan dan kustom untuk menulis ulang aturan bersama sekali saja.

Menerapkan AppArmor pada layanan sungguhan: profile bawaan Nginx, Apache, dan OpenSSH, penyesuaian web root dan sertifikat SSL, profile database MySQL dan PostgreSQL, runtime Node dan Python, serta perangkap log rotation.
