Security Enhanced Linux atau SELinux adalah mekanisme keamanan yang dibangun ke dalam kernel Linux yang digunakan oleh distribusi berbasis RHEL.
SELinux menambahkan lapisan keamanan tambahan ke sistem dengan memungkinkan administrator dan user untuk mengontrol akses ke objek berdasarkan aturan kebijakan.
Aturan kebijakan SELinux menentukan bagaimana proses dan pengguna berinteraksi satu sama lain serta bagaimana proses dan pengguna berinteraksi dengan file. Ketika tidak ada aturan yang secara eksplisit mengizinkan akses ke objek, seperti untuk proses membuka file, maka akses akan ditolak.
SELinux memiliki tiga mode operasi:
- Enforcing: SELinux memungkinkan akses berdasarkan pada aturan kebijakan SELinux.
- Permissive: SELinux hanya mencatat tindakan yang akan ditolak jika berjalan dalam mode penegakan. Mode ini berguna untuk debugging dan membuat aturan kebijakan baru.
- Disabled: Tidak ada kebijakan SELinux yang dimuat, dan tidak ada pesan yang dicatat.
Secara default, dalam CentOS 8, SELinux diaktifkan dan dalam mode enforcing. Sangat disarankan untuk menjaga SELinux dalam mode enforcing. Namun, kadang mode ini dapat mengganggu fungsi beberapa aplikasi, dan Anda perlu mengaturnya ke mode permissive atau bahkan menonaktifkannya sepenuhnya..
Dalam tutorial ini, kami akan menjelaskan cara menonaktifkan SELinux di CentOS 8.
Prasyarat
Hanya pengguna root atau user dengan hak sudo yang dapat mengubah mode SELinux.
Periksa Mode SELinux di CentOS 8
Gunakan perintah sestatus
untuk memeriksa status dan mode di mana SELinux berjalan:
sestatus
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 31
Output di atas menunjukkan bahwa SELinux diaktifkan dan diatur ke mode enforcing.
Mengubah Mode SELinux ke Permissive
Saat diaktifkan, SELinux dapat berada dalam mode enforcing atau permissive. Anda dapat mengubah sementara mode dari enforcing menjadi permissive dengan perintah berikut:
sudo setenforce 0
Namun, perubahan ini hanya berlaku untuk sesi runtime saat ini dan akan kembali ke pengaturan awal saat reboot.
Untuk mengatur mode SELinux secara permanen ke permissive, ikuti langkah-langkah di bawah ini:
- Buka file
/etc/selinux/config
dan setSELINUX
mod menjadipermissive
:sudo vim /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
- Simpan dan jalankan perintah
setenforce 0
untuk mengubah SELinux mode untuk sesi saat ini:sudo shutdown -r now
Menonaktifkan SELinux
Alih-alih menonaktifkan SELinux, sangat disarankan untuk mengubah mode menjadi permissive. Nonaktifkan SELinux hanya saat diperlukan untuk memfungsikan aplikasi Anda.
Lakukan langkah-langkah di bawah ini untuk menonaktifkan SELinux pada sistem CentOS 8 Anda secara permanen:
- Buka file
/etc/selinux/config
dan ubah nilaiSELINUX
menjadidisabled
:sudo vim /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
- Simpan file dan reboot sistem:
sudo shutdown -r now
- Ketika sistem di-boot, gunakan perintah
sestatus
untuk memverifikasi bahwa SELinux telah dinonaktifkan:sestatus
Outputnya akan terlihat seperti ini:
SELinux status: disabled
Kesimpulan
SELinux adalah mekanisme untuk mengamankan sistem dengan menerapkan mandatory access control (MAC). SELinux diaktifkan secara default pada sistem CentOS 8, tetapi dapat dinonaktifkan dengan mengedit file konfigurasi dan reboot sistem.
Untuk mempelajari lebih lanjut tentang fitur-fitur canggih SELinux, kunjungi panduan CentOS SELinux.