
Security Enhanced Linux ou SELinux est un mécanisme de sécurité intégré au noyau Linux utilisé par les distributions basées sur RHEL.
SELinux ajoute une couche de sécurité supplémentaire au système en permettant aux administrateurs et aux utilisateurs de contrôler l'accès aux objets en fonction de règles de politique.
Les règles de politique SELinux spécifient comment les processus et les utilisateurs interagissent les uns avec les autres ainsi que la façon dont les processus et les utilisateurs interagissent avec les fichiers. Lorsqu'aucune règle n'autorise explicitement l'accès à un objet, comme pour un processus ouvrant un fichier, l'accès est refusé.
SELinux a trois modes de fonctionnement :
- Application :SELinux autorise l'accès en fonction des règles de politique SELinux.
- Permissif :SELinux n'enregistre que les actions qui auraient été refusées en cas d'exécution en mode d'application. Ce mode est utile pour le débogage et la création de nouvelles règles de stratégie.
- Désactivé :aucune stratégie SELinux n'est chargée et aucun message n'est enregistré.
Par défaut, dans CentOS 8, SELinux est activé et en mode application. Il est fortement recommandé de garder SELinux en mode d'application. Cependant, il peut parfois interférer avec le fonctionnement de certaines applications et vous devez le régler sur le mode permissif ou le désactiver complètement.
Dans ce tutoriel, nous expliquerons comment désactiver SELinux sur CentOS 8.
Prérequis #
Seul l'utilisateur root ou un utilisateur disposant des privilèges sudo peut modifier le mode SELinux.
Vérification du mode SELinux #
Utilisez le sestatus
commande pour vérifier l'état et le mode d'exécution de SELinux :
sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31
La sortie ci-dessus montre que SELinux est activé et défini sur le mode d'application.
Changement du mode SELinux en mode permissif #
Lorsqu'il est activé, SELinux peut être en mode d'application ou en mode permissif. Vous pouvez temporairement changer le mode de ciblé à permissif avec la commande suivante :
sudo setenforce 0
Cependant, cette modification n'est valable que pour la session d'exécution en cours et ne persiste pas entre les redémarrages.
Pour définir de manière permanente le mode SELinux sur permissif, suivez les étapes ci-dessous :
-
Ouvrez le
/etc/selinux/config/etc/selinux/config
fichier et définissez leSELINUX
mod àpermissive
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
Enregistrez le fichier et exécutez le
setenforce 0
commande pour changer le mode SELinux pour la session en cours :sudo shutdown -r now
Désactivation de SELinux #
Au lieu de désactiver SELinux, il est fortement recommandé de changer le mode en permissif. Désactivez SELinux uniquement lorsque cela est nécessaire au bon fonctionnement de votre application.
Effectuez les étapes ci-dessous pour désactiver définitivement SELinux sur votre système CentOS 8 :
-
Ouvrez le
/etc/selinux/config/etc/selinux/config
fichier et modifiez leSELINUX
valeurdisabled
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
-
Enregistrez le fichier et redémarrez le système :
sudo shutdown -r now
-
Lorsque le système est démarré, utilisez le
sestatus
commande pour vérifier que SELinux a été désactivé :sestatus
Le résultat devrait ressembler à ceci :
SELinux status: disabled