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:

  1. Buka file /etc/selinux/config dan set SELINUX mod menjadi permissive:
    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
  2. 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:

  1. Buka file /etc/selinux/config dan ubah nilai SELINUX menjadi disabled:
    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
  2. Simpan file dan reboot sistem:
    sudo shutdown -r now
  3. 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.