Question :Comment désactiver complètement SELinux (Security Enhanced Linux) ou le mettre en mode "permissif"
Répondre :
SELinux donne cette couche supplémentaire de sécurité aux ressources du système. Il fournit le MAC (contrôle d'accès obligatoire) contrairement au DAC (Contrôle d'accès discrétionnaire). Avant de plonger dans la configuration des modes SELinux, voyons quels sont les différents modes de fonctionnement SELinux et comment fonctionnent-ils. SELinux peut fonctionner dans n'importe lequel des 3 modes :
2. Permissif : les actions contraires à la politique sont uniquement consignées dans le journal d'audit.
3. Désactivé :SELinux est entièrement désactivé.
Pour désactiver complètement SELinux , utilisez l'une de ces méthodes :
Changez la valeur SELINUX en SELINUX=disabled dans le fichier /etc/selinux/config.
# cat /etc/selinux/config # 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 three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
Redémarrez le serveur.
# shutdown -r now
Modifiez la ligne de démarrage du noyau dans /boot/grub/grub.conf et ajoutez selinux=0 aux options de démarrage du noyau. Par exemple :
title Red Hat Enterprise Linux AS (2.6.9-42.ELsmp) root (hd0,0) kernel /vmlinuz-2.6.9-42.ELsmp ro root=LABEL=/ rhgb quiet selinux=0 initrd /initrd-2.6.9-42.ELsmp.img
Redémarrez le serveur.
# shutdown -r now
Pour définir SELinux en mode permissif , utilisez l'une de ces méthodes :
1. Définissez le mode SELinux sur Permissif temporaire (sans redémarrage)
La commande setenforce est utilisée pour basculer entre le mode d'application et le mode permissif. Pour passer en mode permissif :
# setenforce 0
Utilisez la commande getenforce pour afficher le mode SELinux actuel :
# getenforce Permissive
a. Modifier /etc/selinux/config
Changez la valeur SELINUX en "SELINUX=permissif"
# cat /etc/selinux/config # 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 two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
Modifiez la ligne de démarrage du noyau et ajoutez "enforcing=0" aux options de démarrage du noyau (en supposant que SELinux n'est pas désactivé comme dans la section ci-dessus). Par exemple :
title Red Hat Enterprise Linux AS (2.6.9-42.ELsmp) root (hd0,0) kernel /vmlinuz-2.6.9-42.ELsmp ro root=LABEL=/ rhgb quiet enforcing=0 initrd /initrd-2.6.9-42.ELsmp.img
Redémarrez le serveur.
# shutdown -r now
Pour vérifier l'état de SELinux, lancez :
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: permissive Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28Comment vérifier si SELinux est activé ou désactivé