Web Hosting “Fai da te” – SELinux

In questo articolo vedremo come configurare SELinux per l’esecuzione del Server Apache in un ambiente sicuro.

Requisiti di Sistema

  • RHEL/Fedora/CentOS Linux OS
  • Apache2 (httpd) Server

Software richiesto

Per poter eseguire le istruzioni contenute in questa guida bisogna installare i seguenti pacchetti:

sudo dnf install policycoreutils-python selinux-policy-devel

Istruzioni

SELinux è pre-installato con un set di regole di default che difficilmente combaceranno con le vostre esigenze. Per verificare quali policy sono installate di default potete lanciare il comando:

sudo semanage fcontext -l

Se la cartella contenente le risorse che volete mettere a disposizione del vostro Server Web non è presente, bisogna creare una policy personalizzata (una per ciascuna cartella di alto livello).

Supponendo di volere caricare le risorse in oggetto all’interno della cartella:

/var/www/MY_FOLDER

e di voler far sì che Apache possa accedere a ciascuna risorsa in essa contenuta (incluse eventuali sotto-cartelle), in lettura e scrittura dovete eseguire:

 sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/MY_FOLDER(/.*)?"

Una volta creata la policy, va eseguito il re-labeling delle risorse attraverso il comando:

 sudo restorecon -Rv /var/www/MY_FOLDER

Ora Apache sarà in grado di usare le risorse contenute nella cartella in oggetto. Potete pertanto riavviarlo mediante il comando:

sudo service httpd restart

Lascia un commento