Pada beberapa distribusi Linux, SELinux diaktifkan secara default, yang dapat menyebabkan beberapa masalah yang tidak diinginkan, jika Anda tidak' t memahami cara kerja SELinux dan detail mendasar tentang cara mengkonfigurasinya. Saya sangat menyarankan Anda untuk memahami SELinux dan menerapkannya di lingkungan Anda. Namun, sampai Anda memahami detail implementasi SELinux, Anda mungkin ingin menonaktifkannya untuk menghindari beberapa masalah yang tidak perlu.
Untuk menonaktifkan SELinux Anda dapat menggunakan salah satu dari 4 metode berbeda yang disebutkan dalam artikel ini.
SELinux akan menerapkan kebijakan keamanan termasuk kontrol akses wajib yang ditentukan oleh Departemen Pertahanan AS menggunakan Modul Keamanan Linux (LSM) yang ditentukan di Kernel Linux. Setiap file dan proses dalam sistem akan diberi label khusus yang akan digunakan oleh SELinux. Anda dapat menggunakan ls -Z dan melihat label tersebut seperti yang ditunjukkan di bawah ini.
# ls -Z /etc/ -rw-r--r-- root root system_u:object_r:etc_t:s0 a2ps.cfg -rw-r--r-- root root system_u:object_r:adjtime_t:s0 adjtime -rw-r--r-- root root system_u:object_r:etc_aliases_t:s0 aliases drwxr-x--- root root system_u:object_r:auditd_etc_t:s0 audit drwxr-xr-x root root system_u:object_r:etc_runtime_t:s0 blkid drwxr-xr-x root root system_u:object_r:bluetooth_conf_t:s0 bluetooth drwx------ root root system_u:object_r:system_cron_spool_t:s0 cron.d -rw-rw-r-- root disk system_u:object_r:amanda_dumpdates_t:s0 dumpdates
Metode 1:Nonaktifkan SELinux Sementara
Untuk menonaktifkan SELinux sementara Anda harus memodifikasi file /selinux/enforce seperti yang ditunjukkan di bawah ini. Harap dicatat bahwa pengaturan ini akan hilang setelah sistem di-boot ulang.
# cat /selinux/enforce 1 # echo 0 > /selinux/enforce # cat /selinux/enforce 0
Anda juga dapat menggunakan perintah setenforce seperti yang ditunjukkan di bawah ini untuk menonaktifkan SELinux. Parameter yang memungkinkan untuk mengatur perintah adalah:Enforcing , Permissive, 1 (aktifkan) atau 0 (nonaktifkan).
# setenforce 0
Metode 2:Nonaktifkan SELinux Secara Permanen
Untuk menonaktifkan SELinux secara permanen, ubah /etc/selinux/config dan atur SELINUX=disabled seperti yang ditunjukkan di bawah ini. Setelah Anda membuat perubahan pada /etc/selinux/config, reboot server agar perubahan dapat dipertimbangkan.
# cat /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
Berikut adalah kemungkinan nilai untuk SELINUX variabel di /etc/selinux/config berkas
- menegakkan – Kebijakan Keamanan selalu Diberlakukan
- permisif – Ini hanya mensimulasikan kebijakan penegakan dengan hanya mencetak pesan peringatan dan tidak benar-benar menegakkan SELinux. Ada baiknya untuk melihat terlebih dahulu cara kerja SELinux dan kemudian mencari tahu kebijakan apa yang harus diterapkan.
- dinonaktifkan – Nonaktifkan SELinux sepenuhnya
Berikut adalah kemungkinan nilai untuk SELINUXTYPE variabel di /etc/selinux/config mengajukan. Ini menunjukkan jenis kebijakan yang dapat digunakan untuk SELinux.
- ditargetkan – Kebijakan ini hanya akan melindungi daemon jaringan tertarget tertentu.
- ketat – Ini untuk perlindungan SELinux yang maksimal.
Metode 3:Nonaktifkan SELinux dari Grub Boot Loader
Jika Anda tidak dapat menemukan file /etc/selinux/config di sistem Anda, Anda dapat meneruskan menonaktifkan SELinux dengan meneruskannya sebagai parameter ke Grub Boot Loader seperti yang ditunjukkan di bawah ini.
# cat /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5PAE.img title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5.img
Metode 4:Nonaktifkan Hanya Layanan Tertentu di SELinux – HTTP/Apache
Jika Anda tidak tertarik untuk menonaktifkan seluruh SELinux, Anda juga dapat menonaktifkan SELinux hanya untuk layanan tertentu. Misalnya, nonaktifkan SELinux untuk layanan HTTP/Apache, ubah httpd_disable_trans variabel di /etc/selinux/targeted/booleans file.
Set variabel httpd_disable_trans menjadi 1 seperti gambar di bawah ini.
# grep httpd /etc/selinux/targeted/booleans httpd_builtin_scripting=1 httpd_disable_trans=1 httpd_enable_cgi=1 httpd_enable_homedirs=1 httpd_ssi_exec=1 httpd_tty_comm=0 httpd_unified=1
Tetapkan nilai boolean SELinux menggunakan perintah setsebool seperti gambar di bawah ini. Pastikan untuk memulai ulang layanan HTTP setelah perubahan ini.
# setsebool httpd_disable_trans 1 # service httpd restart