Les sections suivantes examinent les fichiers de configuration de SELinux et les systèmes de fichiers connexes.
Le pseudo-système de fichiers /selinux/ contient des commandes qui sont utilisées le plus couramment par le sous-système du noyau. Ce type de système de fichiers est semblable au pseudo-système de fichiers /proc/.
Dans la plupart des cas, les administrateurs et les utilisateurs n'ont pas à manipuler ce composant, contrairement à d'autres fichiers et répertoires de SELinux.
L'extrait ci-dessous reproduit un échantillon du contenu du répertoire /selinux/ :
-rw-rw-rw- 1 root root 0 Sep 22 13:14 access dr-xr-xr-x 1 root root 0 Sep 22 13:14 booleans --w------- 1 root root 0 Sep 22 13:14 commit_pending_bools -rw-rw-rw- 1 root root 0 Sep 22 13:14 context -rw-rw-rw- 1 root root 0 Sep 22 13:14 create --w------- 1 root root 0 Sep 22 13:14 disable -rw-r--r-- 1 root root 0 Sep 22 13:14 enforce -rw------- 1 root root 0 Sep 22 13:14 load -r--r--r-- 1 root root 0 Sep 22 13:14 mls -r--r--r-- 1 root root 0 Sep 22 13:14 policyvers -rw-rw-rw- 1 root root 0 Sep 22 13:14 relabel -rw-rw-rw- 1 root root 0 Sep 22 13:14 user |
Par exemple, l'exécution de la commande cat sur le fichier enforce renvoie soit un 1 pour le mode d'application, soit un 0 pour le mode permissif.
Les sections suivantes examinent les fichiers de configuration et de politiques de SELinux ainsi que les systèmes de fichiers connexes qui se trouvent dans le répertoire /etc/.
Il est possible de configurer SELinux Red Hat Enterprise Linux de deux manières : en utilisant l'Outil de configuration du niveau de sécurité (system-config-securitylevel) ou en éditant manuellement le fichier de configuration (/etc/sysconfig/selinux).
Le fichier /etc/sysconfig/selinux est le fichier de configuration principal permettant non seulement d'activer ou de désactiver SELinux, mais permettant également de déterminer la politique spécifique qui doit être appliquée sur le système ainsi que la manière selon laquelle elle doit être appliquée.
![]() | Remarque |
---|---|
Le fichier /etc/sysconfig/selinux contient un lien symbolique vers le fichier de configuration proprement dit, à savoir /etc/selinux/config. |
La partie ci-dessous examine la totalité du sous-système d'options qui sont disponibles pour la configuration :
SELINUX=<enforcing|permissive|disabled> — Définit l'état de niveau supérieur de SELinux sur un système.
enforcing — La politique de sécurité de SELinux est appliquée.
permissive — Le système SELinux émet des messages d'avertissements mais n'applique pas la politique. Cette option est utile pour le débogage ou la résolution de problèmes. En mode permissif, davantage de refus seront journalisés étant donné que les sujets seront en mesure de poursuivre des actions qui, en mode d'application, seraient par contre refusées. Par exemple, un utilisateur traversant toute une arborescence de répertoires entraîne la création de multiples messages avc: denied pour chaque niveau de répertoire lu, une situation qui ne se produirait pas avec un noyau en mode d'application car il aurait empêché dès le départ l'utilisateur de traverser l'arborescence et aurait mis fin à la création d'autres messages de refus.
disabled — SELinux est complètement désactivée. Les crochets de SELinux sont retirés du noyau et le pseudo-système de fichiers est abandonné.
![]() | Astuce |
---|---|
Les actions prises alors que SELinux est désactivée peuvent avoir un impact sur le système de fichiers dans le sens où il n'aura peut-être plus le bon contexte de sécurité, tel qu'il est défini par la politique. En exécutant fixfiles relabel avant d'activer SELinux le système de fichiers reprendra la bonne étiquette (ou label) afin que SELinux fonctionne correctement lors de son activation. Pour obtenir davantage d'informations, consultez la page de manuel de fixfiles(8). |
![]() | Remarque |
---|---|
Des espaces blancs supplémentaires à la fin d'une ligne de configuration ou des lignes blanches superflues à la fin du fichier peuvent entraîner un comportement imprévu. Par mesure de sécurité, supprimez tout espace blanc qui n'est pas nécessaire. |
SELINUXTYPE=<targeted|strict> — Spécifie la politique spécifique qui est actuellement appliquée par SELinux.
targeted — Seuls les démons réseau ciblés sont protégés.
![]() | Important |
---|---|
Les démons suivants sont protégés dans la politique ciblée par défaut : dhcpd, httpd (apache.te), named, nscd, ntpd, portmap, snmpd, squid et syslogd. Le reste du système est exécuté dans le domaine unconfined_t. Les fichiers de politiques pour ces démons se trouvent dans /etc/selinux/targeted/src/policy/domains/program et sont susceptibles de modifications suite à la publication de nouvelles versions de Red Hat Enterprise Linux. |
L'application des politiques pour ces démons peut être activée ou désactivée à l'aide de valeurs booléennes contrôlées par l'Outil de configuration du niveau de sécurité (system-config-securitylevel). La modification d'une valeur booléenne pour un démon ciblé désactive la transition de politique pour le démon, ce qui empêche par exemple init de faire transiter dhcpd du domaine unconfined_t au domaine spécifié dans dhcpd.te. Le domaine unconfined_t autorise les sujets et objets avec ce contexte de sécurité à être exécutés sous une sécurité Linux standard.
strict — La protection SELinux est totale et ce, pour tous les démons. Les contextes de sécurité sont définis pour tous les sujets et objets et toute action est traitée par le serveur d'application des politiques.
Le répertoire /etc/selinux/ représente l'emplacement primaire de tous les fichiers de politiques ainsi que celui du principal fichier de configuration.
L'extrait ci-dessous reproduit un échantillon du contenu du répertoire /etc/selinux/ :
-rw-r--r-- 1 root root 448 Sep 22 17:34 config drwxr-xr-x 5 root root 4096 Sep 22 17:27 strict drwxr-xr-x 5 root root 4096 Sep 22 17:28 targeted |
Les deux sous-répertoires strict/ et targeted/ sont les répertoires spécifiques dans lesquels les fichiers de politiques portant le même nom (c'est à dire strict et targeted) sont stockés.
Pour obtenir davantage d'informations sur la politique de SELinux et sur la configuration des politiques, consultez le Guide de rédaction de politiques SELinux de Red Hat.
La liste suivante contient certains des utilitaires de SELinux les plus couramment utilisés :
/usr/bin/setenforce — Modifie en temps réel le mode que SELinux exécute. En exécutant setenforce 1, SELinux est mis en mode d'application (ou enforcing mode). En exécutant setenforce 0, SELinux est mis en mode permissif (ou permissive mode). Pour vraiment déscativer SELinux, vous devez soit définir le paramètre dans /etc/sysconfig/selinux, soit passer le paramètre selinux=0 au noyau, soit dans /etc/grub.conf, soit au démarrage.
/usr/bin/sestatus -v — Obtient le status détaillé d'un système exécutant SELinux. L'exemple suivant reproduit un extrait de la sortie de sestatus :
SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Policy version: 18 |
/usr/bin/newrole — Exécute un nouveau shell dans un nouveau contexte ou rôle. La politique doit autoriser la transition vers le nouveau rôle.
/sbin/restorecon — Définit le contexte de sécurité d'un ou plusieurs fichiers en marquant les attributs étendus avec le fichier ou le contexte de sécurité approprié.
/sbin/fixfiles — Vérifie ou corrige la base de données du contexte de sécurité sur le système de fichiers.
Pour obtenir davantage d'informations, consultez la page de manuel abordant ces utilitaires.
Pour obtenir davantage d'informations sur l'ensemble des utilitaires binaires disponibles, consultez le contenu des paquetages setools ou policycoreutils en exécutant rpm -ql <package-name> où <package-name> correspond au nom du paquetage spécifique.
Précédent | Sommaire | Suivant |
SELinux | Niveau supérieur | Ressources supplémentaires |