LINUX:SELinux-Méthode de première mise en route

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour à SELinux


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/








retour à SELinux