
Daftar Isi
Pernahkah Anda merasa frustrasi karena aplikasi di Rocky Linux berjalan dengan baik saat SELinux dinonaktifkan, tetapi tiba-tiba bermasalah begitu SELinux diaktifkan? π
Situasi ini sangat umum terjadi, terutama bagi pengguna baru yang belum memahami bagaimana SELinux (Security-Enhanced Linux) mengontrol izin akses sistem.
Banyak pengguna akhirnya memilih jalan pintas: menonaktifkan SELinux sepenuhnya. Padahal, SELinux dirancang untuk memberikan lapisan keamanan ekstra yang sangat penting bagi server Linux.
Masalahnya bukan pada SELinux itu sendiri, tetapi karena belum memahami dua komponen utamanya: Booleans dan Context.
Dalam artikel ini, Anda akan belajar:
- Apa itu SELinux Booleans dan bagaimana cara mengubahnya.
- Apa itu SELinux Context dan mengapa konteks file penting bagi keamanan.
- Langkah demi langkah cara memeriksa, memodifikasi, dan mengelola keduanya dengan aman.
- Tips praktis agar sistem tetap aman tanpa harus menonaktifkan SELinux.
1. Apa Itu SELinux Booleans?
SELinux Booleans adalah parameter konfigurasi yang bisa diubah dengan cepat untuk mengaktifkan atau menonaktifkan fitur keamanan tertentu tanpa perlu menulis kebijakan baru.
Dengan kata lain, Booleans adalah βsaklarβ dalam SELinux.
Contoh sederhana:
- Anda ingin Apache (httpd) bisa terhubung ke database MySQL.
Maka aktifkan boolean berikut:
sudo setsebool -P httpd_can_network_connect_db onKeterangan:
-P= perubahan permanen (tetap berlaku setelah reboot).on/off= nilai boolean yang ingin Anda ubah.
Melihat Semua Booleans Aktif
Untuk melihat seluruh daftar Booleans di sistem Anda:
getsebool -aMenyaring Berdasarkan Layanan Tertentu
Misalnya Anda hanya ingin melihat boolean untuk Apache:
getsebool -a | grep httpdMengubah Nilai Boolean Sementara
Jika Anda ingin mencoba dulu tanpa menyimpan perubahan permanen:
sudo setsebool httpd_enable_homedirs onJika ternyata tidak cocok, reboot server atau ubah kembali ke off.
2. Apa Itu SELinux Context?
SELinux Context menentukan siapa yang bisa mengakses apa di sistem.
Setiap file, folder, dan proses di Linux memiliki label konteks keamanan yang terdiri dari empat bagian:
user:role:type:levelContohnya:
system_u:object_r:httpd_sys_content_t:s0Penjelasan singkat:
- user β siapa pemilik konteks (biasanya
system_u). - role β peran dalam sistem.
- type β tipe domain, paling penting karena menentukan akses.
- level β digunakan pada sistem dengan keamanan tingkat tinggi (jarang diubah).
Jika konteks file tidak sesuai, SELinux akan memblokir akses, meski izin file (chmod) sudah benar.
3. Mengecek Context File dan Direktori
Gunakan perintah berikut untuk melihat konteks:
ls -Z /var/www/htmlHasilnya akan menampilkan konteks di kolom terakhir, misalnya:
-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 index.htmlJika file web Anda memiliki konteks berbeda, Apache mungkin tidak bisa membacanya.
4. Mengubah SELinux Context
Ada dua cara utama untuk memperbaiki atau mengubah konteks file:
A. Menggunakan chcon (Sementara)
Jika Anda ingin mengubah konteks file tanpa membuatnya permanen:
sudo chcon -t httpd_sys_content_t /var/www/html/index.htmlNamun, konteks ini akan hilang setelah relabeling sistem (misalnya setelah restorecon -R /).
B. Menggunakan semanage fcontext (Permanen)
Jika Anda ingin menetapkan konteks secara permanen:
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
sudo restorecon -Rv /var/www/htmlPenjelasan:
-aβ menambahkan aturan baru.-tβ menentukan tipe konteks.restoreconβ menerapkan perubahan ke file yang sesuai dengan aturan.
5. Memulihkan Context Default
Jika konteks suatu file sudah berantakan, Anda bisa memulihkannya ke kondisi awal dengan:
sudo restorecon -Rv /path/to/directoryContoh:
sudo restorecon -Rv /var/www/htmlIni akan memeriksa dan memperbaiki semua konteks yang salah sesuai kebijakan bawaan SELinux.
6. Tips Praktis Mengelola SELinux Booleans dan Context
- Selalu uji dulu di mode Permissive sebelum Enforcing, untuk memastikan tidak ada layanan yang terblokir.
- Gunakan
audit.logataujournalctl -t setroubleshootuntuk memantau error SELinux. - Hindari menonaktifkan SELinux secara total β cukup atur Booleans atau Context sesuai kebutuhan.
- Dokumentasikan setiap perubahan konfigurasi yang Anda lakukan.
Dengan memahami Booleans dan Context, Anda sudah selangkah lebih maju dalam menguasai SELinux di Rocky Linux.
Sekarang Anda bisa mengizinkan layanan bekerja dengan aman tanpa harus menurunkan tingkat keamanan sistem.
Ingin melangkah lebih jauh?
Baca juga: [Mengkonfigurasi SELinux di Rocky Linux: Menerapkan Kebijakan Keamanan]
