
Ketika bicara soal keamanan server Linux, mandatory access control (MAC) jadi salah satu pilar penting untuk membatasi akses aplikasi dan mencegah eskalasi hak istimewa. Dua sistem MAC paling populer di Linux adalah AppArmor dan SELinux.
Meski keduanya memiliki tujuan serupa — membatasi apa yang bisa dilakukan oleh aplikasi atau proses — pendekatan mereka cukup berbeda. Artikel ini akan membahas bagaimana masing-masing bekerja, perbedaan utama, dan kapan kamu sebaiknya memilih yang satu dibanding yang lain.
Apa Itu Mandatory Access Control?
MAC (Mandatory Access Control) adalah mekanisme keamanan yang memaksa kontrol akses berdasarkan kebijakan sistem pusat, bukan kebijakan pengguna. Jadi, walau seorang user punya akses root
, MAC bisa membatasi apa yang bisa dilakukan proses tersebut.
Pengenalan SELinux
Security-Enhanced Linux (SELinux) adalah proyek keamanan dari NSA (National Security Agency) yang memberi kernel Linux kemampuan kontrol akses yang sangat granular.
Cara Kerja:
- Menggunakan labeling: setiap file, proses, dan port diberi security context.
- Kebijakan akses ditentukan oleh rule yang kompleks berbasis konteks ini.
- Default di banyak distro seperti Red Hat Enterprise Linux (RHEL), CentOS, dan Fedora.
Kelebihan:
✅ Kontrol sangat detail
✅ Cocok untuk sistem produksi dengan kebutuhan tinggi akan keamanan
✅ Banyak digunakan di lingkungan enterprise
Kekurangan:
⚠️ Konfigurasi sangat kompleks
⚠️ Debugging error bisa membingungkan
⚠️ Dokumentasi kadang terlalu teknis bagi pemula
Pengenalan AppArmor
AppArmor (Application Armor) adalah sistem MAC alternatif yang lebih mudah dikonfigurasi dan dipahami. Diciptakan oleh Immunix dan sekarang dikembangkan oleh Canonical (Ubuntu).
Cara Kerja:
- Menggunakan path-based rules: aturan ditentukan berdasarkan jalur file.
- Profil aplikasi ditulis dalam file teks biasa.
- Default di Ubuntu, Debian, dan openSUSE.
Kelebihan:
✅ Lebih mudah digunakan dan dikonfigurasi
✅ Debugging lebih sederhana
✅ Ideal untuk server kecil atau pengembang
Kekurangan:
⚠️ Tidak sekuat dan sedetail SELinux
⚠️ Bisa dieksploitasi jika attacker bisa mengubah path file
⚠️ Kurang cocok untuk sistem dengan kebutuhan keamanan tingkat tinggi
Perbandingan Langsung
Aspek | SELinux | AppArmor |
---|---|---|
Basis | Label-based | Path-based |
Granularitas | Sangat tinggi | Menengah |
Kemudahan setup | Kompleks | Lebih mudah |
Dokumentasi | Lengkap, tapi teknis | Simpel dan langsung |
Dukungan distro | RHEL, Fedora, CentOS | Ubuntu, Debian, openSUSE |
Debugging | Lebih sulit | Lebih mudah |
Penggunaan umum | Enterprise, Data Center | Developer, Server kecil/menengah |
Kapan Harus Menggunakan SELinux?
Gunakan SELinux jika:
- Kamu mengelola sistem berskala besar (misal: data center).
- Perusahaanmu memiliki standar compliance tinggi (HIPAA, PCI DSS).
- Kamu butuh kontrol akses super-detail (misal: isolasi kontainer, VM).
Kapan Harus Menggunakan AppArmor?
Gunakan AppArmor jika:
- Kamu menggunakan Ubuntu atau Debian-based server.
- Butuh solusi keamanan cepat dan ringan.
- Kamu ingin proteksi tambahan tapi tetap mudah dikonfigurasi.
Kesimpulan
Tidak ada “jawaban mutlak” antara SELinux dan AppArmor — semua tergantung pada kebutuhan dan konteks servermu. Kalau kamu butuh kontrol keamanan ekstrem dan siap menghadap kompleksitas, SELinux bisa jadi pilihan terbaik. Tapi kalau kamu ingin perlindungan MAC tanpa banyak keribetan, AppArmor menawarkan solusi praktis dan cukup aman.
Ingin panduan mengaktifkan AppArmor atau SELinux di servermu? Kirim saja distro Linux yang kamu gunakan — saya bisa bantu buatkan tutorial langkah demi langkah.
Tertarik mengikuti training di ID-Networkers? Klik disini untuk info lengkapnya.