Setting selinux untuk apache di Centos 7

SELINUX menyediakan lapisan keamanan tambahan selain file permission di linux. Hal ini kadang membingungkan untuk sysadmin yang baru saja belajar menggunakan system yang menerapkan SELINUX (seperti saya ini  :p).

Skenarionya begini, saya perlu setting IOU di salah satu mesin lab yang menggunakan CENTOS 7. Direktori default instalasi IOU ada di /opt/iou . Port untuk IOU saya set 8000. Paket standar apache httpd, php, dan MySQL ( di Centos 7 defaultnya menggunakan MariaDB) sudah terinstall sempurna. Sebenarnya IOU tidak butuh MySQL, tapi siapa tahu nanti modul yang lain butuh. Mari kita mulai:

Instalasi IOU melalui rpm tidak ada hambatan berarti. Berdasarkan file konfigurasi di /etc/httpd/conf.d/iou.conf , ada beberapa direktori penting untuk IOU

  • /opt/iou : direktori instalasi
  • /opt/iou/html : direktori file html
  • /opt/iou/data/ : direktori untuk unggah data
  • /opt/iou/data/Logs/: direktori log

Untuk sistem tanpa SELINUX, yang perlu dilakukan adalah menambah listening port 8000 di file /etc/httpd/conf/httpd.conf dan selesai. Tapi ada langkah tambahan untuk mengijinkan httpd mengakses IOU di sistem dengan SELINUX. Pertama-tama perlu kita install tools untuk mengatur SELINUX:

Defaultnya, apache memiliki beberapa konteks untuk SELINUX:

  • httpd_sys_content_t : direktori read only untuk apache
  • httpd_sys_rw_content_t : direktori read-write untuk apache, seperti untuk folder unggah
  • httpd_log_t : direktori untuk menyimpan log

Untuk skenario yang lain bisa dilihat di halaman man Apache SELINUX

Contoh policy yang sudah diterapkan:

Berarti yang perlu kita lakukan adalah:

1. Untuk direktori utama:

2. Untuk direktori unggah data:

3. Untuk direktori log:

4. Port TCP 8000

Cek lagi untuk memastikan policy sudah diterapkan

Oke, sekarang restart httpd.service dan cek ulang apakah port 8000 sudah bisa diakses.

 

Sumber: http://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/

2 thoughts on “Setting selinux untuk apache di Centos 7

Leave a Reply

Your email address will not be published. Required fields are marked *