SELinux adalah singkatan dari “Linux yang Ditingkatkan Keamanan “. Keamanan standar Linux didasarkan pada Discretionary Access Control (DAC). Dengan DAC, akses ke file dan perangkat hanya didasarkan pada identitas dan kepemilikan pengguna. Setiap file dapat memiliki izin baca, tulis, dan eksekusi untuk pemilik file, grup, dan pengguna lain.
SELinux dibuat oleh Badan Keamanan Nasional AS untuk memberikan tingkat kontrol yang lebih halus atas file, proses, pengguna, dan aplikasi dalam sistem. Ini adalah peningkatan ke kernel Linux, dan mengimplementasikan jenis keamanan yang berbeda yang disebut Mandatory Access Control (MAC). Kebijakan MAC dikelola secara terpusat daripada dikelola oleh pengguna.
SELinux berjalan dalam salah satu dari tiga mode:
- Menegakkan :Akses ditolak ke pengguna dan program kecuali diizinkan oleh aturan kebijakan keamanan SELinux.
- Permisif :Aturan kebijakan keamanan tidak diterapkan, tetapi SELinux mengirimkan pesan penolakan ke file log.
- Dinonaktifkan :SELinux tidak memberlakukan kebijakan keamanan karena tidak ada kebijakan yang dimuat di kernel. Hanya aturan DAC yang digunakan untuk kontrol akses.
Menampilkan mode SELinux
Anda dapat menggunakan status perintah untuk menampilkan mode SELinux serta beberapa informasi tambahan tentang SELinux.
# 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 Max kernel policy version: 28
Anda dapat menggunakan getenforce perintah untuk menampilkan mode SELinux. Perintah ini menampilkan mode saat ini:“Menegakkan ”, “Permisif “,” atau “Dinonaktifkan “.” Contoh:
# getenforce Enforcing
Mengubah mode SELinux
Sebagian besar waktu Anda akan melihat orang mengubah mode "penegakan" menjadi "permisif" untuk menyelesaikan masalah yang terkait dengan izin file/proses. Ini bukan praktik terbaik untuk diterapkan, tetapi merupakan salah satu cara yang paling banyak digunakan dan tercepat untuk mengatasi masalah di Linux. Anda dapat menggunakan perintah setenforce untuk mengubah mode menjadi “Enforcing (1) ” atau “Permisif (0) “. Contoh:
# setenforce 0 # getenforce Permissive
Boolean
SELinux juga menyediakan “Boolean “, yang memungkinkan bagian dari kebijakan SELinux diubah pada saat dijalankan, tanpa memuat ulang atau mengkompilasi ulang kebijakan SELinux. Anda dapat menampilkan daftar Boolean, informasi status, dan deskripsi Boolean dengan menjalankan perintah berikut:
# semanage boolean -l SELinux boolean State Default Description privoxy_connect_any (on , on) Allow privoxy to connect any smartmon_3ware (off , off) Allow smartmon to 3ware mpd_enable_homedirs (off , off) Allow mpd to enable homedirs xdm_sysadm_login (off , off) Allow xdm to sysadm login ....
Anda dapat mengubah status Boolean tertentu menjadi aktif atau nonaktif dengan menggunakan setsebool memerintah. Misalnya, untuk mengaktifkan ftp_home_dir Boolean ke:
# setsebool ftpd_use_nfs on
Gunakan getsebool perintah untuk menampilkan status Boolean tertentu. Contoh:
# getsebool ftpd_use_nfs ftpd_use_nfs --> on