GNU/Linux >> Tutoriales Linux >  >> Linux

3 Salida del comando SELinux sestatus explicada con ejemplos

sestatus significa estado de SELinux.

Este comando se usa para ver el estado actual de SELinux que se está ejecutando en su sistema.

Este tutorial explica lo siguiente:

  1. Salida del comando sestatus explicada con detalles
  2. Mostrar contexto de seguridad de objetos seleccionados en sestatus
  3. Mostrar valores booleanos en sestatus

1. Explicación de la salida del comando sestatus

El comando sestatus mostrará si SELinux está habilitado o deshabilitado. Esto también mostrará información adicional sobre algunas de las configuraciones de SELinux que se explican aquí.

El siguiente es el comando sestatus en el sistema CentOS 7. En la versión anterior de CentOS/RedHat, esta salida será ligeramente diferente.

# 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

Nota:En la salida anterior, el "modo actual" es la línea más importante a la que debe prestar atención, que se explica a continuación.

Estado de SELinux: Esto indica si el propio módulo SELinux está habilitado o deshabilitado en su sistema. Tenga en cuenta que, aunque esto puede decir habilitado, es posible que SELinux aún no esté técnicamente habilitado (aplicado), lo que realmente se indica mediante la línea de "modo actual" que se explica a continuación.

Montaje SELinuxfs: Este es el punto de montaje del sistema de archivos temporal de SELinux. Esto es utilizado internamente por SELinux. Esto es lo que hará si intenta hacer un ls en este sistema de archivos SELinux. Para nuestro propósito práctico, no podemos manipular nada en este directorio, ya que SELinux lo administra internamente.

# 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

Directorio raíz de SELinux: Aquí es donde se encuentran todos los archivos de configuración de SELinux. De forma predeterminada, verá los siguientes archivos y directorios. Este directorio contiene todos los archivos de configuración necesarios para el funcionamiento de SELinux. Puede modificar estos archivos.

# 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

Nombre de la política cargada: Esto indicará qué tipo de política de SELinux está cargada actualmente. En casi todas las situaciones comunes, verá "dirigido" como la política de SELinux, ya que esa es la política predeterminada. Las siguientes son las posibles políticas de SELinux disponibles:

  • dirigido:esto significa que SELinux solo protege los procesos específicos
  • mínimo:esta es una ligera modificación de la política específica. Solo unos pocos procesos seleccionados están protegidos en este caso.
  • mls:esto es para protección de seguridad multinivel. MLS es bastante complejo y prácticamente no se usa en la mayoría de las situaciones.

Modo actual: Esto indica si SELinux está aplicando actualmente las políticas o no. En otras palabras, técnicamente esto le dirá si SELinux está actualmente habilitado y ejecutándose en su sistema o no.

Los siguientes son los posibles modos de SELinux:

  • enforcing:esto indica que se aplica la política de seguridad de SELinux (es decir, SELinux está habilitado)
  • permisivo:esto indica que SELinux imprime advertencias en lugar de aplicarlas. Esto es útil durante la depuración cuando desea saber qué bloquearía potencialmente SELinux (sin bloquearlo realmente) mirando los registros de SELinux.
  • deshabilitado:no se carga ninguna política de SELinux.

Para nuestro propósito práctico, hacer cumplir es igual a habilitar. permisivo y deshabilitado es igual a deshabilitado.

El estado de la política MLS indica el estado actual de la política MLS. De forma predeterminada, esto estará habilitado.

El estado de la política deny_unknown indica el estado actual del indicador deny_unknown en nuestra política. De forma predeterminada, esto se establecerá como permitido.

Max kernel policy version indica la versión actual de la política de SELinux que tenemos. En este ejemplo, es la versión 28.

El siguiente es el resultado de sestatus en CentOS y 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 desea deshabilitar SELinux en su sistema, puede usar uno de estos métodos:4 métodos efectivos para deshabilitar SELinux de manera temporal o permanente

2. Mostrar el contexto de seguridad de los objetos seleccionados en sestatus

Con la opción -v, junto con el estado normal de selinux, también puede mostrar el contexto de SELinux para archivos y procesos seleccionados.

La siguiente es la salida predeterminada de la opción 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

En la salida anterior:

  • La sección de contextos de procesos muestra el contexto de SELinux de algunos procesos seleccionados. Puede agregar su propio proceso a esta lista agregándolo al archivo /etc/sestatus.conf. Como puede ver aquí, muestra el contexto de seguridad del proceso sshd.
  • La sección de contextos de archivos muestra el contexto de SELinux de algunos archivos seleccionados. Puede agregar sus propios archivos personalizados a esta lista agregándolos al archivo /etc/sestatus.conf. Como puede ver en el resultado anterior, muestra el contexto de seguridad de la contraseña, la sombra y algunos otros archivos.
  • Además, si el archivo que especificó es un enlace simbólico, también se mostrará el contexto del archivo de destino.
    Esta sección siempre mostrará el contexto de seguridad del proceso actual, el proceso de inicio y el control contexto del archivo de terminales.

La siguiente es la configuración predeterminada del archivo /etc/sestatus.conf. Agregue sus archivos personalizados a la sección [archivos] y agregue su proceso personalizado a la sección [proceso].

# 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. Mostrar valores booleanos en sestatus

Usando la opción -b, puede mostrar el estado actual de los booleanos como se muestra a continuación.

Como se muestra a continuación, además de la salida típica de sestatus, en la sección "Policy booleans:", se mostrarán los valores booleanos actuales de SELinux para todos los parámetros.

# 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

El resultado anterior generalmente muestra lo que vería en el resultado del comando getsebool. es decir, el comando anterior "sestatus -b" es equivalente a ejecutar los siguientes dos comandos:

sestatus

getsebool -a

Linux
  1. Comando de corte de Linux explicado con 6 ejemplos

  2. Comando de apagado de Linux explicado con ejemplos

  3. Comando nslookup de Linux explicado con ejemplos

  4. Comando Traceroute de Linux, explicado con ejemplos

  5. Comando whoami en Linux explicado con ejemplos

Comando Tr en Linux explicado con ejemplos

w Comando explicado con ejemplos en Linux

Comando de espera en Linux explicado con ejemplos prácticos

Explicación del comando tee de Linux (con ejemplos)

Explicación del comando csplit de Linux (con ejemplos)

Ejemplos de comandos sestatus en Linux