GNU/Linux >> Tutoriels Linux >  >> Linux

Guide du débutant sur SELinux

SELinux signifie "Security-Enhanced Linux “. La sécurité Linux standard est basée sur le contrôle d'accès discrétionnaire (DAC). Avec DAC, l'accès aux fichiers et aux appareils est basé uniquement sur l'identité et la propriété de l'utilisateur. Chaque fichier peut avoir des autorisations de lecture, d'écriture et d'exécution pour le propriétaire du fichier, pour le groupe et pour les autres utilisateurs.

SELinux a été créé par la National Security Agency des États-Unis pour fournir un niveau de contrôle plus fin sur les fichiers, les processus, les utilisateurs et les applications du système. Il s'agit d'une amélioration du noyau Linux qui implémente un type de sécurité différent appelé Mandatory Access Control (MAC). La politique MAC est gérée de manière centralisée plutôt que d'être gérée par l'utilisateur.

SELinux s'exécute dans l'un des trois modes :

  • Application  :L'accès est refusé aux utilisateurs et aux programmes, sauf si les règles de la politique de sécurité de SELinux l'autorisent.
  • Permissif  :Les règles de la politique de sécurité ne sont pas appliquées, mais SELinux envoie des messages de refus dans un fichier journal.
  • Désactivé :SELinux n'applique pas de politique de sécurité car aucune politique n'est chargée dans le noyau. Seules les règles DAC sont utilisées pour le contrôle d'accès.

Afficher le mode SELinux

Vous pouvez utiliser le sestatus commande pour afficher le mode SELinux ainsi que quelques informations supplémentaires sur 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
Max kernel policy version:      28

Vous pouvez utiliser le getenforce commande pour afficher le mode SELinux. Cette commande affiche le mode actuel :"Enforcing ”, “Permissif "," ou "Désactivé "." Par exemple :

# getenforce
Enforcing

Changer le mode SELinux

La plupart du temps, vous verriez des gens changer le mode "application" en "permissif" afin de résoudre un problème lié aux autorisations de fichiers/processus. Ce n'est pas la meilleure pratique à appliquer, mais c'est l'un des moyens les plus largement utilisés et les plus rapides pour résoudre le problème sous Linux. Vous pouvez utiliser la commande setenforce pour changer le mode en "Application (1) ” ou “Permissif (0) “. Par exemple :

# setenforce 0 
# getenforce 
Permissive

Booléens

SELinux fournit également des "booléens “, qui permettent de modifier des parties d'une politique SELinux au moment de l'exécution, sans recharger ou recompiler une politique SELinux. Vous pouvez afficher une liste de booléens, des informations d'état et une description du booléen en exécutant la commande suivante :

# semanage boolean -l
SELinux boolean                State  Default Description
privoxy_connect_any            (on   ,   on)  Allow privoxy to connect any
smartmon_3ware                 (off  ,  off)  Allow smartmon to 3ware
mpd_enable_homedirs            (off  ,  off)  Allow mpd to enable homedirs
xdm_sysadm_login               (off  ,  off)  Allow xdm to sysadm login
....

Vous pouvez activer ou désactiver l'état d'un booléen spécifique en utilisant le setsebool commande. Par exemple, pour activer le booléen ftp_home_dir :

# setsebool ftpd_use_nfs on

Utilisez le getsebool commande pour afficher l'état d'un booléen spécifique. Exemple :

# getsebool ftpd_use_nfs
ftpd_use_nfs --> on


Linux
  1. Un guide du terminal Linux pour les débutants

  2. Guide du débutant sur le multipathing Device Mapper (DM)

  3. CentOS / RHEL 7 :Guide du débutant sur systemd

  4. Guide du débutant pour la configuration de yum

  5. Guide du débutant pour l'administration des utilisateurs et des groupes sous Linux

Un guide pour débutants sur LVM

Définir une adresse IP statique sur Ubuntu :un guide pour les débutants

Un guide du débutant pour comprendre sudo sur Ubuntu

Un guide du débutant sur les tâches Cron

Guide du débutant sur la politique de redémarrage de Docker

Guide du débutant sur la gestion des utilisateurs MySQL