GNU/Linux >> LINUX-Kenntnisse >  >> Linux

3 SELinux sestatus Befehlsausgabe mit Beispielen erklärt

sestatus steht für SELinux-Status.

Dieser Befehl wird verwendet, um den aktuellen Status von SELinux anzuzeigen, das auf Ihrem System ausgeführt wird.

Dieses Tutorial erklärt Folgendes:

  1. sestatus-Befehlsausgabe mit Details erklärt
  2. Ausgewählten Objekt-Sicherheitskontext im Sestatus anzeigen
  3. Boolesche Werte im Status anzeigen

1. sestatus-Befehlsausgabe erklärt

Der Befehl sestatus zeigt an, ob SELinux aktiviert oder deaktiviert ist. Dadurch werden auch zusätzliche Informationen zu einigen der SELinux-Einstellungen angezeigt, die hier erklärt werden.

Das Folgende ist der sestatus-Befehl auf dem CentOS 7-System. Auf der älteren Version von CentOS / RedHat wird diese Ausgabe etwas anders sein.

# 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

Hinweis:In der obigen Ausgabe ist „aktueller Modus“ die wichtigste Zeile, auf die Sie achten sollten, was unten erklärt wird.

SELinux-Status: Dies zeigt an, ob das SELinux-Modul selbst auf Ihrem System aktiviert oder deaktiviert ist. Denken Sie daran, dass SELinux, auch wenn hier „aktiviert“ angezeigt wird, technisch möglicherweise nicht aktiviert (erzwungen) ist, was durch die unten erläuterte Zeile „Aktueller Modus“ wirklich angezeigt wird.

SELinuxfs-Mount: Dies ist der temporäre SELinux-Dateisystem-Einhängepunkt. Dies wird intern von SELinux verwendet. Dies ist, was Sie tun werden, wenn Sie versuchen, ein ls auf diesem SELinux-Dateisystem auszuführen. Für unseren praktischen Zweck können wir nichts in diesem Verzeichnis manipulieren, da dies intern von SELinux verwaltet wird.

# 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

SELinux-Stammverzeichnis: Hier befinden sich alle SELinux-Konfigurationsdateien. Standardmäßig sehen Sie die folgenden Dateien und Verzeichnisse. Dieses Verzeichnis enthält alle für den SELinux-Betrieb notwendigen Konfigurationsdateien. Sie können diese Dateien ändern.

# 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

Name der geladenen Richtlinie: Dies zeigt an, welche Art von SELinux-Richtlinie derzeit geladen ist. In so ziemlich allen gängigen Situationen sehen Sie „gezielt“ als SELinux-Richtlinie, da dies die Standardrichtlinie ist. Die folgenden möglichen SELinux-Richtlinien sind verfügbar:

  • zielgerichtet – Dies bedeutet, dass nur gezielte Prozesse durch SELinux geschützt werden
  • Minimum – Dies ist eine geringfügige Modifikation der gezielten Richtlinie. Dabei werden nur wenige ausgewählte Prozesse geschützt.
  • mls – Dies dient dem mehrstufigen Sicherheitsschutz. MLS ist ziemlich komplex und wird in den meisten Situationen nicht verwendet.

Aktueller Modus: Dies zeigt an, ob SELinux derzeit die Richtlinien durchsetzt oder nicht. Mit anderen Worten, technisch gesehen sagt Ihnen dies, ob SELinux derzeit aktiviert ist und auf Ihrem System ausgeführt wird oder nicht.

Die folgenden sind die möglichen SELinux-Modi:

  • erzwingen – Dies zeigt an, dass die SELinux-Sicherheitsrichtlinie erzwungen wird (d. h. SELinux ist aktiviert)
  • permissive – Dies zeigt an, dass SELinux Warnungen ausgibt, anstatt sie zu erzwingen. Dies ist beim Debuggen hilfreich, wenn Sie wissen möchten, was SELinux möglicherweise blockieren würde (ohne es wirklich zu blockieren), indem Sie sich die SELinux-Protokolle ansehen.
  • deaktiviert – Es wird keine SELinux-Richtlinie geladen.

Für unseren praktischen Zweck ist Enforcement gleich Enabled. freizügig und deaktiviert ist gleich deaktiviert.

Richtlinien-MLS-Status zeigt den aktuellen Status der MLS-Richtlinie an. Standardmäßig ist dies aktiviert.

Deny_unknown-Status der Richtlinie zeigt den aktuellen Status des deny_unknown-Flags in unserer Richtlinie an. Standardmäßig ist dies auf erlaubt gesetzt.

Maximale Kernel-Richtlinienversion gibt die aktuelle Version der SELinux-Richtlinie an, die sich in uns befindet. In diesem Beispiel ist es Version 28.

Das Folgende ist die Ausgabe von sestatus auf CentOS und 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

Wenn Sie SELinux auf Ihrem System deaktivieren möchten, können Sie eine dieser Methoden verwenden:4 effektive Methoden zum vorübergehenden oder dauerhaften Deaktivieren von SELinux

2. Sicherheitskontext ausgewählter Objekte in sestatus anzeigen

Mit der Option -v können Sie neben dem regulären Selinux-Status auch den SELinux-Kontext für ausgewählte Dateien und Prozesse anzeigen.

Das Folgende ist die Standardausgabe der 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

In der obigen Ausgabe:

  • Der Abschnitt "Prozesskontexte" zeigt den SELinux-Kontext einiger ausgewählter Prozesse an. Sie können dieser Liste Ihren eigenen Prozess hinzufügen, indem Sie ihn zur Datei /etc/sestatus.conf hinzufügen. Wie Sie hier sehen, zeigt es den Sicherheitskontext des sshd-Prozesses an.
  • Der Abschnitt Dateikontexte zeigt den SELinux-Kontext einiger ausgewählter Dateien an. Sie können dieser Liste Ihre eigenen benutzerdefinierten Dateien hinzufügen, indem Sie sie der Datei /etc/sestatus.conf hinzufügen. Wie Sie in der obigen Ausgabe sehen, zeigt es den Sicherheitskontext von Passwort, Schatten und einigen anderen Dateien an.
  • Wenn die angegebene Datei ein symbolischer Link ist, wird auch der Kontext der Zieldatei angezeigt.
    Dieser Abschnitt zeigt immer den Sicherheitskontext des aktuellen Prozesses, des Init-Prozesses und des Controllings an Terminals-Dateikontext.

Das Folgende ist die Standardeinstellung der Datei /etc/sestatus.conf. Fügen Sie Ihre benutzerdefinierten Dateien zum Abschnitt [files] und Ihren benutzerdefinierten Prozess zum Abschnitt [process] hinzu.

# 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. Boolesche Werte im Sestatus anzeigen

Mit der Option -b können Sie den aktuellen Status von booleschen Werten wie unten gezeigt anzeigen.

Wie unten gezeigt, werden neben der typischen sestatus-Ausgabe im Abschnitt „Policy booleans:“ die aktuellen SELinux-booleschen Werte für alle Parameter angezeigt.

# 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

Die obige Ausgabe zeigt normalerweise das, was Sie in der Ausgabe des Befehls getsebool sehen würden. Das heißt, der obige Befehl „sestatus -b“ entspricht der Ausführung der folgenden beiden Befehle:

sestatus

getsebool -a

Linux
  1. Linux cut Befehl erklärt mit 6 Beispielen

  2. Befehl zum Herunterfahren von Linux mit Beispielen erklärt

  3. nslookup Linux-Befehl mit Beispielen erklärt

  4. Linux Traceroute-Befehl, erklärt mit Beispielen

  5. whoami-Befehl in Linux mit Beispielen erklärt

Tr-Befehl in Linux mit Beispielen erklärt

w Befehl mit Beispielen in Linux erklärt

Wait-Befehl in Linux mit praktischen Beispielen erklärt

Linux tee-Befehl erklärt (mit Beispielen)

Linux csplit Befehl erklärt (mit Beispielen)

sestatus-Befehlsbeispiele in Linux