Modes SELinux
SELinux donne cette couche de sécurité supplémentaire 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é :Le SELinux est entièrement désactivé.
Basculer temporairement les modes SELinux
Pour basculer temporairement entre les modes SELinux, nous pouvons utiliser la commande setenforce comme indiqué ci-dessous :
# setenforce [ Enforcing | Permissive | 1 | 0 ]
0 –> Permissif
1 –> Obligatoire
Ou vous pouvez simplement faire écho aux valeurs dans le pseudo fichier - /sys/fs/selinux/enforce ou /selinux/enforce .
# echo [0|1] > /sys/fs/selinux/enforce
Pour vérifier le mode actuel de SELinux :
# getenforce Enforcing
ou nous pouvons aussi utiliser la commande sestatus pour obtenir un statut détaillé :
# sestatus SELinux status: enabled SELinuxfs mount: /selinux --> virtual FS similar to /proc Current mode: enforcing --> current mode of operation Mode from config file: permissive --> mode set in the /etc/sysconfig/selinux file. Policy version: 24 Policy from config file: targeted
Modification permanente des modes SELinux
Utiliser le fichier /etc/sysconfig/selinux
Une façon de changer le mode SELinux de manière permanente en mode Applicatif ou Permissif consiste à modifier le fichier /etc/sysconfig/selinux et à définir la valeur des paramètres SELINUX sur Applicatif ou Permissif.
# ls -l /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 Mar 2 13:03 /etc/sysconfig/selinux -> ../selinux/config
# cat /etc/sysconfig/selinux # 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, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Modifiez ce fichier et redémarrez le système pour que les modifications prennent effet.
Utilisation des paramètres de démarrage du noyau
Nous pouvons également utiliser le paramètre de démarrage du noyau au démarrage pour définir le mode SELinux. Pour cette modification, le /etc/grub.conf fichier et ajoutez l'option "selinux=1 enforcing=[0|1]" aux paramètres de démarrage.
# cat /etc/grub.conf ........ root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=1 enforcing=0 initrd /initramfs-2.6.32-279.el6.x86_64.img .........
selinux=1 –> Activer le SELinux
enforcing=0 –> Mode permissif
enforcing=1 –> Mode d'application
Désactiver SELinux
Parfois, lorsque vous ne maîtrisez pas bien les fonctionnalités de SELinux, il est préférable de le désactiver. Nous ne pouvons pas désactiver le SELinux sans un redémarrage. Une autre option serait de définir SELinux en mode permissif. Pour désactiver complètement SELinux, modifiez le fichier de configuration /etc/sysconfig/selinux ou le /etc/selinux/config qui est un lien symbolique vers le fichier /etc/sysconfig/selinux.
# ls -l /etc/sysconfig/selinux lrwxrwxrwx. 1 root root 17 Mar 2 13:03 /etc/sysconfig/selinux -> ../selinux/config
# cat /etc/sysconfig/selinux # 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 two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Modifiez ce fichier et redémarrez le système pour que les modifications prennent effet.
Utilisation des paramètres de démarrage du noyau pour désactiver SELinux
Une autre façon de désactiver définitivement SELinux consiste à modifier les paramètres de démarrage du noyau. Modifiez le fichier /etc/grub.conf et ajoutez l'option selinux=0 à l'option de démarrage pour désactiver SELinux au démarrage. Dans ce cas, les paramètres dans /etc/sysconfig/selinux sont ignorés.
# cat /etc/grub.conf ........ root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=0 initrd /initramfs-2.6.32-279.el6.x86_64.img .........