GNU/Linux >> Tutoriels Linux >  >> Linux

3 La sortie de la commande SELinux sestatus expliquée avec des exemples

sestatus signifie statut SELinux.

Cette commande est utilisée pour afficher l'état actuel du SELinux qui s'exécute sur votre système.

Ce didacticiel explique ce qui suit :

  1. Sortie de la commande sestatus expliquée avec détails
  2. Afficher le contexte de sécurité des objets sélectionnés dans sestatus
  3. Afficher les valeurs booléennes dans sestatus

1. Explication de la sortie de la commande sestatus

La commande sestatus affichera si SELinux est activé ou désactivé. Cela affichera également des informations supplémentaires sur certains des paramètres SELinux qui sont expliqués ici.

Voici la commande sestatus sur le système CentOS 7. Sur l'ancienne version de CentOS / RedHat, cette sortie sera légèrement différente.

# 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

Remarque :Dans la sortie ci-dessus, "mode actuel" est la ligne la plus importante à laquelle vous devez prêter attention, ce qui est expliqué ci-dessous.

Statut SELinux : Cela indique si le module SELinux lui-même est activé ou désactivé sur votre système. Gardez à l'esprit que même si cela peut indiquer activé, mais SELinux peut toujours ne pas être techniquement activé (appliqué), ce qui est vraiment indiqué par la ligne "mode actuel" expliquée ci-dessous.

Montage SELinuxfs : Il s'agit du point de montage du système de fichiers temporaire SELinux. Ceci est utilisé en interne par SELinux. C'est ce que vous ferez si vous essayez de faire un ls sur ce système de fichiers SELinux. Pour notre objectif pratique, nous ne pouvons rien manipuler dans ce répertoire, car il est géré en interne par SELinux.

# ls -l /sys/fs/selinux
total 0
-rw-rw-rw-.  1 root root    0 Jun  4 22:16 access
dr-xr-xr-x.  2 root root    0 Jun  4 22:16 avc
dr-xr-xr-x.  2 root root    0 Jun  4 22:16 booleans
-rw-r--r--.  1 root root    0 Jun  4 22:16 checkreqprot
..
..
-r--r--r--.  1 root root    0 Jun  4 22:16 policy
-rw-rw-rw-.  1 root root    0 Jun  4 22:16 relabel
-r--r--r--.  1 root root    0 Jun  4 22:16 status
-rw-rw-rw-.  1 root root    0 Jun  4 22:16 user

Répertoire racine de SELinux : C'est là que se trouvent tous les fichiers de configuration SELinux. Par défaut, vous verrez les fichiers et répertoires suivants. Ce répertoire contient tous les fichiers de configuration nécessaires au fonctionnement de SELinux. Vous pouvez modifier ces fichiers.

# ls -l /etc/selinux
total 8
-rw-r--r--. 1 root root  546 May  1 19:08 config
drwx------. 2 root root    6 May  1 19:09 final
-rw-r--r--. 1 root root 2321 Jan 17 18:33 semanage.conf
drwxr-xr-x. 7 root root  215 May  1 19:09 targeted
drwxr-xr-x. 2 root root    6 Jan 17 18:33 tmp

Nom de la règle chargée : Cela indiquera quel type de politique SELinux est actuellement chargé. Dans presque toutes les situations courantes, vous verrez "ciblé" comme politique SELinux, car c'est la politique par défaut. Voici la politique SELinux possible disponible :

  • ciblé - Cela signifie que seuls les processus ciblés sont protégés par SELinux
  • minimum :il s'agit d'une légère modification de la politique de ciblage. Seuls quelques processus sélectionnés sont protégés dans ce cas.
  • mls - Il s'agit d'une protection de sécurité à plusieurs niveaux. MLS est assez complexe et pratiquement pas utilisé dans la plupart des situations.

Mode actuel : Cela indique si SELinux applique actuellement les politiques ou non. En d'autres termes, techniquement, cela vous indiquera si SELinux est actuellement activé et en cours d'exécution sur votre système ou non.

Voici les modes SELinux possibles :

  • enforcing - Cela indique que la politique de sécurité SELinux est appliquée (c'est-à-dire que SELinux est activé)
  • permissif - Cela indique que SELinux imprime des avertissements au lieu de les appliquer. Ceci est utile lors du débogage lorsque vous voulez savoir ce que SELinux bloquerait potentiellement (sans vraiment le bloquer) en consultant les journaux SELinux.
  • désactivé – Aucune stratégie SELinux n'est chargée.

Pour notre objectif pratique, l'application est égale à activé. permissive et disabled est égal à disabled.

L'état MLS de la politique indique l'état actuel de la politique MLS. Par défaut, cela sera activé.

L'état deny_unknown de la politique indique l'état actuel de l'indicateur deny_unknown dans notre politique. Par défaut, cela sera défini sur autorisé.

La version maximale de la politique du noyau indique la version actuelle de la politique SELinux qui est en nous. Dans cet exemple, il s'agit de la version 28.

Voici la sortie de sestatus sur CentOS et RedHat 6.

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

Si vous souhaitez désactiver SELinux sur votre système, vous pouvez utiliser l'une de ces méthodes :4 méthodes efficaces pour désactiver SELinux temporairement ou définitivement

2. Afficher le contexte de sécurité des objets sélectionnés dans le statut

En utilisant l'option -v, avec le statut selinux normal, vous pouvez également afficher le contexte SELinux pour les fichiers et processus sélectionnés.

Voici la sortie par défaut de l'option sestatus -v :

# sestatus -v
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

Process contexts:
Current context:                unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Init context:                   system_u:system_r:init_t:s0
/usr/sbin/sshd                  system_u:system_r:sshd_t:s0-s0:c0.c1023

File contexts:
Controlling terminal:           unconfined_u:object_r:user_devpts_t:s0
/etc/passwd                     system_u:object_r:passwd_file_t:s0
/etc/shadow                     system_u:object_r:shadow_t:s0
/bin/bash                       system_u:object_r:shell_exec_t:s0
/bin/login                      system_u:object_r:login_exec_t:s0
/bin/sh                         system_u:object_r:bin_t:s0 -> system_u:object_r:shell_exec_t:s0
/sbin/agetty                    system_u:object_r:getty_exec_t:s0
/sbin/init                      system_u:object_r:bin_t:s0 -> system_u:object_r:init_exec_t:s0
/usr/sbin/sshd                  system_u:object_r:sshd_exec_t:s0

Dans la sortie ci-dessus :

  • La section des contextes de processus affiche le contexte SELinux de quelques processus sélectionnés. Vous pouvez ajouter votre propre processus à cette liste en les ajoutant au fichier /etc/sestatus.conf. Comme vous le voyez ici, il affiche le contexte de sécurité du processus sshd.
  • La section des contextes de fichiers affiche le contexte SELinux de quelques fichiers sélectionnés. Vous pouvez ajouter vos propres fichiers personnalisés à cette liste en les ajoutant au fichier /etc/sestatus.conf. Comme vous le voyez dans la sortie ci-dessus, il affiche le contexte de sécurité du mot de passe, du shadow et de quelques autres fichiers.
  • De plus, si le fichier que vous avez spécifié est un lien symbolique, le contexte du fichier cible sera également affiché.
    Cette section affichera toujours le contexte de sécurité du processus actuel, du processus d'initialisation et du contrôle contexte du fichier terminaux.

Voici la configuration par défaut du fichier /etc/sestatus.conf. Ajoutez vos fichiers personnalisés à la section [files] et ajoutez votre processus personnalisé à la section [process].

# cat /etc/sestatus.conf 
[files]
/etc/passwd
/etc/shadow
/bin/bash
/bin/login
/bin/sh
/sbin/agetty
/sbin/init
/sbin/mingetty
/usr/sbin/sshd
/lib/libc.so.6
/lib/ld-linux.so.2
/lib/ld.so.1

[process]
/sbin/mingetty
/sbin/agetty
/usr/sbin/sshd

3. Afficher les valeurs booléennes dans sestatus

En utilisant l'option -b, vous pouvez afficher l'état actuel des booléens comme indiqué ci-dessous.

Comme indiqué ci-dessous, en dehors de la sortie typique de sestatus, dans la section "Policy booleans :", cela affichera les valeurs booléennes SELinux actuelles pour tous les paramètres.

# sestatus -b | more
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

Policy booleans:
abrt_anon_write                             off
abrt_handle_event                           off
abrt_upload_watch_anon_write                on
antivirus_can_scan_system                   off
antivirus_use_jit                           off
auditadm_exec_content                       on
authlogin_nsswitch_use_ldap                 off
authlogin_radius                            off
authlogin_yubikey                           off
awstats_purge_apache_log_files              off
boinc_execmem                               on
cdrecord_read_content                       off
...
...
...
xend_run_blktap                             on
xend_run_qemu                               on
xguest_connect_network                      on
xguest_exec_content                         on
xguest_mount_media                          on
xguest_use_bluetooth                        on
xserver_clients_write_xshm                  off
xserver_execmem                             off
xserver_object_manager                      off
zabbix_can_network                          off
zarafa_setrlimit                            off
zebra_write_config                          off
zoneminder_anon_write                       off
zoneminder_run_sudo                         off

La sortie ci-dessus montre généralement ce que vous verriez dans la sortie de la commande getsebool. c'est-à-dire que la commande "sestatus -b" ci-dessus équivaut à exécuter les deux commandes suivantes :

sestatus

getsebool -a

Linux
  1. Commande Linux cut expliquée avec 6 exemples

  2. Commande d'arrêt Linux expliquée avec des exemples

  3. Commande Linux nslookup expliquée avec des exemples

  4. Commande Linux Traceroute, expliquée avec des exemples

  5. La commande whoami sous Linux expliquée avec des exemples

Commande Tr sous Linux expliquée avec des exemples

w Commande expliquée avec des exemples sous Linux

La commande Wait sous Linux expliquée avec des exemples pratiques

Explication de la commande Linux tee (avec exemples)

La commande Linux csplit expliquée (avec des exemples)

sestatus Exemples de commandes sous Linux