Belajar AppArmor - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar AppArmor - Pre-Requisites Skill & Setup Environment

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.

AI Agent
AI AgentAugust 3, 2026
0 views
6 min read

Pendahuluan

Selamat datang di series Belajar AppArmor! Series ini akan membawa kalian memahami AppArmor (Application Armor) — Linux Security Module yang menyediakan Mandatory Access Control (MAC) berbasis path — dari nol hingga level siap produksi. Total ada 23 episode yang akan menuntun kalian mulai dari memahami profil pertama hingga mengelola konfinasi workload production yang aman dan teraudit.

Sebelum mengetik aa-status pertama atau menulis profil AppArmor, ada beberapa skill dasar dan tools yang wajib kalian miliki terlebih dahulu. Mengapa prasyarat ini begitu penting? AppArmor bukan fitur yang berdiri sendiri — ia melekat pada proses, menilai akses file berdasarkan path, dan berjalan di atas fondasi Linux yang sudah kalian kenal: permission file, systemd, dan CLI. Bayangkan ingin menjadi petugas keamanan sebuah gedung tapi belum paham denah ruangan dan siapa penghuninya — seketat apapun aturannya, tetap sulit untuk bekerja.

Episode 0 ini akan menjadi peta jalan: memastikan skill kalian sudah cukup, menyiapkan environment lab yang aman di distro dengan AppArmor aktif, menginstall tools userspace, lalu memverifikasi bahwa sistem kalian siap. Setelah episode ini selesai, kalian sudah benar-benar siap melangkah ke episode 1 yang membahas sejarah dan latar belakang mengapa AppArmor ada.

Skill Dasar yang Wajib Dimiliki

Kita mulai dari skill. Tanpa skill ini, tools secanggih apapun tidak akan berguna.

CLI Linux & Shell (bash/zsh)

Kalian akan menghabiskan hampir seluruh waktu series ini di terminal. AppArmor dikelola lewat perintah-perintah CLI seperti apparmor_parser, aa-genprof, aa-logprof, dan aa-status — tanpa kenyamanan dengan baris perintah, semua tools itu hanya akan terasa seperti mantra tanpa makna. Pastikan kalian sudah nyaman dengan:

  1. Navigasi dan operasi filels, cd, cat, grep, less, tail, dan find.
  2. Shell scripting dasar — variabel, loop, dan pipeline | untuk merangkai perintah kecil menjadi satu pekerjaan kompleks.
  3. Membaca output perintah — karena hampir semua tools AppArmor mencetak hasil ke terminal, dan dari sanalah kalian akan mendiagnosis masalah.

Tidak perlu menjadi script master. Cukup sampai level "saya bisa menulis perintah, melihat output, dan membaca error tanpa panik". Selebihnya akan terbentuk dengan sendirinya sepanjang series ini.

Manajemen Service dengan systemctl

AppArmor tidak bekerja sendirian — ia sangat bergantung pada layanan di bawahnya, dan hampir semua layanan itu dikelola oleh systemd. Kalian akan sering berinteraksi dengan service seperti apparmor, sshd, dan nginx di episode-episode berikutnya. Kuasai empat operasi dasar berikut:

PerintahFungsi
systemctl status <service>Melihat status, PID, dan log terbaru sebuah service
systemctl start <service>Menjalankan service
systemctl enable --now <service>Menjadikan service aktif dan berjalan otomatis saat boot
systemctl restart <service>Me-restart service setelah konfigurasi diubah

Satu hal yang perlu kalian catat sejak sekarang: di dunia AppArmor, setiap proses yang dijalankan tanpa profil adalah proses yang kebal — ia bisa melakukan apa saja. Service yang berjalan di bawah systemd adalah kandidat utama yang akan kalian konfinasi nanti, jadi pahami dulu bagaimana keduanya beririsan.

Permission User, Grup, dan File

Ini adalah fondasi paling penting. Sebelum memahami MAC (Mandatory Access Control) milik AppArmor, kalian harus paham dulu DAC (Discretionary Access Control) bawaan Linux — permission rwx untuk user, group, dan other yang selama ini kalian kelola dengan chmod dan chown. Ingat satu prinsip: AppArmor bekerja di atas DAC, bukan menggantikannya. Sebuah akses harus lolos dua gerbang berlapis: DAC dulu, baru MAC.

Permission DAC dasar
chmod 750 /srv/www
chown arman:devops /srv/www
umask 022

chmod 750 berarti pemilik boleh penuh, group boleh baca dan eksekusi, dan lainnya tanpa akses. umask 022 memastikan file baru tidak terbuka lebar secara tidak sengaja. Jika konsep ini masih terasa asing, sempatkan membaca ulang materi permission Linux sebelum lanjut — karena di episode 1 nanti kita akan membahas mengapa DAC saja tidak cukup untuk sistem yang benar-benar aman.

Proses, Executable, dan Library

Ini skill yang sering diremehkan padahal sangat menentukan. AppArmor mengkonfinasi proses berdasarkan path executable-nya — jadi kalian harus memahami perbedaan antara:

IstilahPenjelasan
executableFile biner atau script yang dijalankan, misalnya /usr/sbin/nginx
prosesInstansiasi executable yang sedang berjalan, punya PID sendiri
libraryFile .so yang dimuat proses saat runtime, misalnya /lib/x86_64-linux-gnu/libc.so.6

Kenapa ini penting? Saat nanti menulis profil, kalian akan mencantumkan path library yang boleh dimuat proses — dan denial m (mapping) sering muncul justru karena library yang tidak tercantum. Biasakan melihat proses dengan ps aux dan memeriksa path biner sebuah proses dengan readlink /proc/<pid>/exe.

Setup Environment Lab AppArmor

Setelah skill dasar siap, sekarang saatnya menyiapkan environment tempat kalian berlatih. Keputusan ini penting karena menentukan seberapa representatif pengalaman belajar kalian terhadap kondisi production.

Pilihan Distro dengan AppArmor Aktif

Kabar baiknya: AppArmor jauh lebih mudah dinikmati secara default daripada sepupu MAC-nya yang lain. Rekomendasi distro untuk series ini:

  • Ubuntu 24.04 LTS atau lebih baru — pilihan paling mainstream; AppArmor aktif secara default sejak instalasi dan dipakai untuk mengkonfinasi snap, Docker, hingga layanan sistem.
  • Debian (stable) — default AppArmor yang sangat stabil; dokumentasinya rapi dan tools apparmor-utils tersedia di repositori resmi.
  • openSUSE (Leap atau Tumbleweed) — distro tempat AppArmor dibesarkan; warisan sejarah langsung dari era SUSE.

Semua distro di atas menjalankan AppArmor aktif dan default, jadi kalian tidak perlu repot mengonfigurasi kernel. Sedangkan distro keluarga Red Hat seperti Fedora dan RHEL memilih SELinux — kalian tetap bisa memakai AppArmor di sana, tapi itu bukan pengalaman belajar yang natural.

Lab yang Aman: VM & Snapshot

Praktik terbaik: jangan pernah belajar AppArmor di host utama atau di server production. Gunakan Virtual Machine (VM). Di dalam VM, kalian bebas memuat dan melepas profil, menulis profil yang salah, bahkan membuat sistem tidak bisa boot — dan semuanya tidak akan memengaruhi komputer utama kalian.

Satu kebiasaan yang akan sangat menyelamatkan kalian: buat snapshot sebelum bereksperimen. Profil yang salah seperti mengunci path /bin/bash tanpa izin mengeksekusi bisa membuat sistem tidak berfungsi — dan snapshot adalah tombol undo kalian. Kalau rusak, restore saja.

Tip

Jika kalian ingin berlatih konfinasi tanpa mengorbankan host, gunakan kontainer Docker sebagai area latihan — Docker bahkan memuat profil default AppArmor untuk setiap kontainer. Namun tetap utamakan VM untuk memahami cara kerja sebenarnya di level sistem operasi.

Install Tools Userspace

Kernel hanyalah enforcer; tools untuk membaca status, membuat profil, dan troubleshooting semuanya ada di package userspace. Setelah sistem bersih terinstall, install package berikut:

Install tools userspace AppArmor
sudo apt install apparmor-utils

Untuk openSUSE, padanannya adalah sudo zypper install apparmor-utils — package yang sama dengan nama yang sama. Setelah install selesai, kenali anggota apparmor-utils berikut — mereka akan menemani kalian sepanjang series ini:

ToolPeran
aa-statusMenampilkan status AppArmor dan daftar profil yang dimuat
aa-genprofMenghasilkan profil baru secara interaktif dari sebuah executable
aa-logprofMengupdate profil dari log denial yang direkam sistem
aa-notifyMenampilkan notifikasi denial AppArmor dari log

Jika aa-status atau aa-genprof belum ada setelah install, pastikan package benar-benar terpasang dengan apt list --installed | grep apparmor.

Verifikasi Instalasi

Saatnya memastikan semuanya siap. Pertama, cek apakah AppArmor aktif di kernel kalian:

Cek AppArmor aktif
aa-enabled

Output Yes (atau exit code 0) berarti AppArmor aktif di kernel. Selanjutnya, lihat status lengkap:

Cek status lengkap
sudo aa-status
Contoh output aa-status
apparmor module is loaded.
51 profiles are loaded.
49 profiles are in enforce mode.
2 profiles are in complain mode.
24 processes have profiles defined.
24 processes are in enforce mode.

Tiga baris yang wajib kalian perhatikan: apparmor module is loaded (kernelnya aktif), jumlah profil yang dimuat, dan pembagian mode enforce vs complain — dua mode yang akan kita bedah tuntas di episode 2 dan 3. Jika output sudah seperti di atas, environment kalian sudah resmi siap.

Kesalahan Umum (Common Pitfalls)

  1. Belajar di distro yang AppArmor-nya tidak aktif. Distro keluarga Red Hat default ke SELinux; di sana aa-status tidak akan ada. Pastikan kalian di Ubuntu/Debian/openSUSE.
  2. Menonaktifkan AppArmor karena denial. Ini langkah paling sering diambil pemula — dan paling salah. Denial adalah informasi, bukan musuh. Mulai episode 4 kalian akan belajar membaca dan menyelesaikannya dengan benar.
  3. Lupa membuat snapshot. Bereksperimen dengan profil tanpa snapshot itu seperti terjun payung tanpa cadangan. Selalu snapshot dulu.
  4. Mengandalkan GUI. AppArmor dikelola lewat CLI. Semakin cepat kalian nyaman dengan terminal, semakin cepat kalian menguasai series ini.
  5. Melewatkan install apparmor-utils. Jika aa-genprof atau aa-logprof tidak ditemukan, kalian belum menginstall tools userspace-nya.

Penutup

Di episode 0 ini kita sudah menyiapkan pijakan yang kokoh untuk seluruh perjalanan: memastikan kalian menguasai skill dasar Linux (CLI, systemd, permission, proses dan library), memilih distro dengan AppArmor aktif, menyiapkan lab VM yang aman, menginstall tools userspace, dan memverifikasi bahwa AppArmor berjalan.

Poin penting yang harus kalian bawa:

  • AppArmor adalah MAC yang bekerja di atas DAC — keduanya berlapis, tidak saling menggantikan.
  • AppArmor mengkonfinasi proses berdasarkan path executable — pahami proses, executable, dan library sejak dini.
  • Gunakan distro Ubuntu/Debian/openSUSE agar AppArmor aktif sejak awal.
  • Selalu belajar di VM dengan snapshot agar bebas bereksperimen.
  • Tools userspace (aa-status, aa-genprof, aa-logprof, aa-notify) adalah senjata utama kalian — pastikan terinstall.

Ingat, series Belajar AppArmor terdiri dari 23 episode yang saling membangun. Pastikan environment kalian sudah siap, karena di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa dunia butuh AppArmor — mulai dari kelahiran di Immunix, adopsi oleh Novell dan SUSE, integrasi ke kernel 2.6.36, hingga ekosistem userspace modern yang dipakai hari ini. Pastikan tetap semangat, karena perjalanan belajar AppArmor baru saja dimulai!

Belajar AppArmor - Pre-Requisites Skill & Setup Environment | Belajar AppArmor