« LINUX:SELinux-Méthode de première mise en route » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 4 : | Ligne 4 : | ||
---- | ---- | ||
=But= | =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. | 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= | =Préliminaire= | ||
Il faut procéder à une configuration 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 | * 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 | * Placer SELinux en mode '''permissif''' | ||
* Redémarrer de système avec l'option de relabélisation du "Context" de tous les | * 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 [[LINUX:SELinux#Première activation|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= | =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". Pour ma part, je les place sous le répertoire "/application/web". Il faut donc que je procède à une relabélisation. | |||
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 | |||
---- | |||
On exécute les deux commandes suivantes: | |||
semanage fcontext -a -t httpd_sys_content_t '/application/web(/.*)?' | |||
restorecon -RFv /application/web/ | |||
Version du 13 janvier 2024 à 17:33
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". Pour ma part, je les place sous le répertoire "/application/web". Il faut donc que je procède à une relabélisation.
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
On exécute les deux commandes suivantes:
semanage fcontext -a -t httpd_sys_content_t '/application/web(/.*)?' restorecon -RFv /application/web/