SELinux adalah sebuah modul keamanan pada Linux yang menyediakan sebuah mekanisme untuk membantu membuat kebijakan-kebijakan (policies) keamanan untuk kontrol akses pada sebuah komputer.
Pada sebuah server yang ingin digunakan sebagai web server, dengan menggunakan akun root, maka dapat digunakan langkah-langkah berikut:
- Ubah SELinux policy agar database dan file-file dapat diakses oleh web server, maka digunakan perintah-perintah:
setsebool -P httpd_can_network_connect_db on setsebool -P httpd_read_user_content on setsebool -P httpd_builtin_scripting on
- Dengan asumsi direktori web bertempat di /var/www/web (direktori publik) dan /var/web_system (direktori sistem aplikasi web), ketikkan perintah di bawah untuk membuat konteks httpd_sys_content_t ke direktori tersebut:
semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
- Buat sebuah policy untuk direktori logging:
semanage fcontext -a -t httpd_log_t "/var/web_system/logs(/.*)?"
- Buat sebuah policy untuk direktori cache (bila diperlukan):
semanage fcontext -a -t httpd_cache_t "/var/web_system/cache(/.*)?"
- Buat sebuah policy agar direktori-direktori untuk mengunggah file:
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/web/uploads(/.*)?"
Untuk menyelesaikan pembuatan policies di atas gunakan perintah:
restorecon -Rv /var/web_system restorecon -Rv /var/www/web
Mengakses Policies
Bila kita ingin melihat policies apa saja yang berlaku di filesystem server dapat dilihat dengan perintah:
semanage fcontext -l
Bila ingin melihat policies yang berlaku pada sebuah direktori:
ls -lZ /var/web_system
Demikian perkenalan mengenai SELinux, semoga bermanfaat.
Leave a Reply