LINUX:SELinux-Méthode de première mise en route
But
Je ne conseille pas de suivre aveuglément les conseils données par Cockpit ou les messages du service "setroubleshootd.service". Je présente ici l'approche que j'ai utilisée. Au premier démarrage de SELinux, on est submergé d'alertes. On va procéder par débroussaillage successif.
Préliminaire
Il faut procéder à une configuration préliminaire:
- Désactiver l'envoi de messages électroniques du service "setroubleshootd.service" en mettant en commentaire (ligne préfixée par le caractère "#") les adresses email de sa configuration
- Placer SELinux en mode permissif
- Redémarrer de système avec l'option de relabélisation du "Context" de tous les fichiers du système (voir le paragraphe sur la Première activation)
- Lors de la découverte de SELinux, travailler sur un système si possible non en production afin de gêner un minimum de personnes.
Fcontext
J'ai l'habitude de placer les données d'applications dans un répertoire personnalisé. Cette configuration me permet de faciliter les sauvegardes, de ne pas être limité par l'espace disque et de pouvoir les déplacer comme on veut. Le fait de ne pas les laisser à l'emplacement défini par défaut, habituellement sous l'arborescence "/var", engendre une foule d'alertes dès que les applications concernées veulent accéder aux données. Il faut bien sûr connaitre son système et les changements auxquels on a procédé.
Voici un premier exemple:
Normalement, les sites Web utilisés par le service Httpd, se trouvent sous l'arborescence "/var/www" qui a le Context de Type "httpd_sys_content_t".
On peut le vérifier par la commande:
matchpathcon /var/www
qui donne:
/var/www system_u:object_r:httpd_sys_content_t:s0
ou par
ls -Z1 /var | grep www
qui donne:
system_u:object_r:httpd_sys_content_t:s0 www
Pour ma part, je les place sous le répertoire "/application/web". Il faut donc que je procède à une relabélisation de cet espace.
On exécute les deux commandes suivantes:
semanage fcontext -a -t httpd_sys_content_t '/application/web(/.*)?' restorecon -RFv /application/web/
De même, les images et autres documents par exemple PDF, prennent beaucoup de place. Nous les avons placés dans un espace à part "/disk1/documents" qu'il faut aussi adapter:
semanage fcontext -a -t httpd_sys_content_t '/disk1/documents(/.*)?' restorecon -RFv /disk1/documents/