Pendahuluan
Sistem Mandatory Access Control (MAC), seperti AppArmor dan SELinux, memungkinkan sysadmin untuk memberikan atau menolak akses ke sumber daya dan sistem kontrol yang dibangun ke dalam kernel Linux. Meskipun keduanya melakukan tugas yang sama, sistem ini bekerja secara berbeda dan menawarkan berbagai fitur.
Artikel ini menjelaskan perbedaan AppArmor vs. SELinux dan menunjukkan fitur utama kedua sistem.
AppArmor vs. SELinux
Baik SELinux dan AppArmor menyediakan alat keamanan yang mengisolasi aplikasi dan membatasi akses ke penyerang yang telah mengganggu satu bagian dari sistem.
AppArmor bekerja dengan memberikan akses terlebih dahulu, lalu menerapkan batasan. SELinux, bagaimanapun, membatasi akses ke semua aplikasi secara default dan memberikan akses hanya kepada pengguna yang menunjukkan sertifikasi yang tepat.
Kedua sistem memiliki banyak kesamaan fitur tetapi juga beberapa perbedaan:
Titik Perbandingan | AppArmor | SELinux |
---|---|---|
Kontrol akses | Menggunakan profil keamanan berdasarkan jalur. | Menggunakan kebijakan keamanan berdasarkan label file. |
Ketersediaan | Tersedia untuk distribusi apa pun, tetapi terutama digunakan di SUSE dan Ubuntu. | Tersedia untuk distribusi apa pun tetapi terutama digunakan pada sistem RHEL/Fedora. |
Kesulitan untuk belajar | Kurva pembelajaran yang lebih pendek, lebih mudah disiapkan dan dikelola. | Lebih kompleks dan kurang intuitif. |
Verifikasi independen | Mungkin. | Tidak mungkin. |
Memerlukan konfigurasi yang rumit | Tidak. | Ya. |
MLS/MCS | Tidak. | Ya. |
Dampak kinerja sistem | Tidak ada, tetapi waktu mulai lebih lama. | Tidak ada. |
Aturan kebijakan | Kurang fleksibel. | Fleksibel. |
Tingkat kendali | Sedang. | Tinggi. |
AppArmor
AppArmor adalah modul keamanan Linux praktis yang telah disertakan secara default dengan Ubuntu sejak versi 7.10. Modul ini memungkinkan pengembang untuk membatasi aplikasi dari menggunakan file tertentu. Oleh karena itu, AppArmor mencegah kerusakan apa pun pada aplikasi yang berpotensi rentan dan melindungi perangkat lunak yang mudah dieksploitasi, seperti server web.
Modul menggunakan profil keamanan untuk menentukan izin apa yang dibutuhkan aplikasi. Profil adalah file teks yang dimuat ke dalam kernel, biasanya saat boot.
AppArmor memberlakukan dua jenis aturan utama di profil:
- Entri jalur . Mereka menentukan file mana yang dapat diakses oleh aplikasi.
- Entri kemampuan . Aturan ini menentukan hak istimewa yang diizinkan untuk digunakan oleh proses terbatas.
Profil dirancang untuk membatasi aplikasi tertentu dan berfungsi dalam dua mode. Dalam
- Mode keluhan . Dalam mode ini, sistem melaporkan upaya pelanggaran kebijakan tetapi tidak menegakkan aturan.
- Terapkan mode . Dalam mode Terapkan, profil baru diperiksa dan semua pelanggaran dihentikan.
AppArmor terdiri dari komponen-komponen berikut:
- Penganalisis server . Memindai port dan menemukan aplikasi yang mendengarkannya secara otomatis. Ini juga mendeteksi aplikasi tanpa profil dan aplikasi yang perlu dibatasi oleh AppArmor.
- Pembuat profil . Proses statis yang menganalisis aplikasi dan membuat template profil.
- Pengoptimal . Komponen ini mencatat dan mengumpulkan peristiwa ke dalam profil perilaku normal.
Selain Ubuntu, AppArmor berjalan pada Debian, SUSE Enterprise Server, distribusi OpenSUSE, dan distribusi lainnya secara default. Untuk memverifikasi status modul, jalankan perintah berikut:
sudo apparmor_status
Output menunjukkan bahwa AppArmor aktif pada sistem. Perintah tersebut juga mencetak daftar profil yang diinstal dan proses terbatas yang aktif.
Kelebihan AppArmor
Keuntungan utama AppArmor adalah kesederhanaan dan kurva belajar yang singkat. Modul ini jauh lebih sederhana daripada SELinux, sehingga lebih mudah untuk diatur dan dikelola.
Alat ini bekerja secara langsung dengan profil (file teks) untuk kontrol akses, dan operasi file lebih mudah. Fitur ini membuat AppArmor lebih ramah pengguna daripada SELinux dengan kebijakan keamanannya.
Berkat implementasi berbasis jalur, AppArmor melindungi file apa pun di sistem dan memungkinkan aturan untuk ditentukan bahkan untuk file yang belum ada. Mode pembelajaran program membuat AppArmor dapat beradaptasi dengan perubahan dan menerapkan perilaku aplikasi yang disukai.
Kekurangan AppArmor
Dengan AppArmor, lebih dari satu jalur dapat merujuk ke aplikasi yang sama. Jalur yang berbeda ke executable yang sama ini membuat beberapa profil untuk satu aplikasi, yang merupakan potensi masalah keamanan.
Selain itu, kekuatan terbesar AppArmor, kesederhanaan, juga menjadi alasan mengapa program ini dianggap kurang aman.
AppArmor tidak memiliki Multi-Level Security (MLS) dan Multi-Category Security (MCS). Kurangnya dukungan MCS membuat AppArmor hampir tidak efektif di lingkungan yang membutuhkan MLS.
Kelemahan lainnya adalah pemuatan kebijakan juga memakan waktu lebih lama, sehingga sistem memulai lebih lambat.
SELinux
SELinux (Security Enhanced Linux) adalah modul keamanan Linux yang dibangun ke dalam kernel Linux. Sistem memberi sysadmin lebih banyak kontrol atas siapa yang memiliki akses ke sumber daya.
SELinux memberikan label ke file, proses, dan port sistem. Jenis label sangat penting untuk kebijakan yang ditargetkan, sementara ketik penegakan adalah konsep terpenting kedua di SELinux.
Pelabelan berfungsi sebagai mekanisme pengelompokan yang memberikan file dan memproses berbagai jenis label. Model keamanan penegakan tipe membantu SELinux menentukan apakah suatu proses dengan tipe label tertentu memiliki akses ke file dengan tipe label lain.
Sistem membatasi akses secara default (sebagai lawan dari AppArmor). Pengguna harus dikonfigurasi dengan benar untuk mengakses sumber daya apa pun.
SELinux mencairkan keputusan sebelumnya di Access Vector Cache (AVC ), misalnya, mengizinkan atau membatasi akses. Keputusan menguangkan mempercepat proses kontrol akses. Misalnya, jika aplikasi mencoba mengakses file, SELinux memeriksa AVC dan mengizinkan atau menolak akses berdasarkan keputusan sebelumnya.
RHEL, CentOS, dan Fedora telah menginstal SELinux atau tersedia secara default. Untuk mengetahui status SELinux saat ini, jalankan perintah berikut:
sudo sestatus
Catatan :Ikuti panduan kami untuk mengaktifkan SELinux di CentOS atau menonaktifkan SELinux di CentOS.
Kelebihan SELinux
Terlepas dari (dan karena) kebijakan yang rumit, SELinux dianggap sebagai opsi yang lebih aman untuk keamanan Linux.
Pelabelan dan penegakan jenis memungkinkan SELinux untuk memberikan akses hanya jika aturan kebijakan mengizinkannya. Proses ini menerapkan kontrol akses yang lebih kuat dan mendalam.
Dengan menjadi kompatibel dengan MLS, SELinux menawarkan fitur akses yang lebih baik. Misalnya, salah satu prinsip dasar MLS adalah bahwa pengguna hanya dapat membaca file pada tingkat sensitivitas dan lebih rendah. Namun, dengan SELinux, sysadmin dapat membaca dan menulis file pada tingkat sensitivitasnya sendiri dan lebih rendah.
Secara default, sistem memisahkan file dari satu sama lain dan host dan mempertahankan pemisahan. Misalnya, sebuah file memiliki kumpulan izin yang berbeda untuk:
- Pemilik (pengguna).
- Grup yang menyimpan file.
- Pengguna/grup lain mengakses file.
Catatan :Keputusan akses ke cache juga merupakan manfaat yang signifikan karena prosesnya meningkatkan efisiensi.
Kekurangan SELinux
SELinux menyediakan sysadmin dengan alat kontrol akses serbaguna. Namun, modul keamanan ini memiliki beberapa kelemahan.
SELinux cukup sulit untuk dipelajari, diatur, dan dikelola. Sementara program secara efisien mengontrol akses ke aplikasi dan file, pemecahan masalah potensial sulit bagi pemula. Tidak selalu mudah untuk menentukan apa arti sebenarnya dari pesan kesalahan dan di mana mencari masalah. Secara keseluruhan, SELinux tidak ramah pengguna dan admin yang tidak berpengalaman mungkin menghadapi kurva pembelajaran yang curam.
Penting :SELinux sering menolak tindakan jika file diberi label yang salah.
Kesimpulan
Setelah membaca teks ini, Anda mengetahui kelebihan dan kekurangan SELinux dan AppArmor. Kedua sistem menawarkan pendekatan berbeda untuk keamanan Linux dan melindungi mesin dari akses tidak sah dan modifikasi sumber daya sistem.
Anda mungkin ingin mempelajari cara lain untuk melindungi sistem Anda, seperti menggunakan cadangan yang tidak dapat diubah untuk melawan ransomware atau prosedur lain untuk perlindungan database.