GNU/Linux >> Tutoriels Linux >  >> Linux

Comment activer/désactiver les modes SELinux dans RHEL/CentOS

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 :

1. Obligatoire  : les actions contraires à la politique sont bloquées et un événement correspondant est consigné dans le journal d'audit.
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
.........


Linux
  1. Comment désactiver SELinux sur CentOS 7/6 et RHEL 7/6

  2. CentOS / RHEL 7 :Comment démarrer / Arrêter ou activer / désactiver Firewalld

  3. Comment désactiver IPv6 sur CentOS / RHEL 7

  4. CentOS / RHEL 6 :Comment désactiver IPv6

  5. CentOS / RHEL 5, 6 :comment désactiver NetworkManager

Comment désactiver SElinux sur CentOS 7

RHEL 8 / CentOS 8 activer/désactiver IPv6

Comment désactiver SELinux sur CentOS 8

Comment désactiver SELinux sur CentOS 7

Comment désactiver SELinux sur CentOS 8

Comment désactiver SELinux sur CentOS