GNU/Linux >> Tutoriales Linux >  >> Linux

Guía para principiantes de SELinux

SELinux significa “Linux con seguridad mejorada “. La seguridad estándar de Linux se basa en el control de acceso discrecional (DAC). Con DAC, el acceso a archivos y dispositivos se basa únicamente en la identidad y propiedad del usuario. Cada archivo puede tener permisos de lectura, escritura y ejecución para el propietario del archivo, para el grupo y para otros usuarios.

SELinux fue creado por la Agencia de Seguridad Nacional de EE. UU. para proporcionar un nivel de control más detallado sobre archivos, procesos, usuarios y aplicaciones en el sistema. Es una mejora del kernel de Linux e implementa un tipo diferente de seguridad llamado Control de acceso obligatorio (MAC). La política MAC se administra de forma centralizada en lugar de que la administre el usuario.

SELinux se ejecuta en uno de tres modos:

  • Cumplimiento :Se deniega el acceso a usuarios y programas a menos que lo permitan las reglas de la política de seguridad de SELinux.
  • Permisivo :Las reglas de la política de seguridad no se aplican, pero SELinux envía mensajes de denegación a un archivo de registro.
  • Deshabilitado :SELinux no aplica una política de seguridad porque no hay ninguna política cargada en el kernel. Solo las reglas DAC se utilizan para el control de acceso.

Mostrar el modo SELinux

Puede utilizar el sestado Comando para mostrar el modo SELinux, así como información adicional sobre 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

Puedes usar el getenforce comando para mostrar el modo SELinux. Este comando muestra el modo actual:“Aplicando ”, “Permisivo “,” o “Deshabilitado “.” Por ejemplo:

# getenforce
Enforcing

Cambiar el modo SELinux

La mayoría de las veces vería a personas cambiar el modo de "aplicación" a "permisivo" para resolver un problema relacionado con los permisos de archivos/procesos. Esta no es la mejor práctica para aplicar, pero es una de las formas más utilizadas y rápidas de solucionar el problema en Linux. Puede usar el comando setenforce para cambiar el modo a "Aplicando (1) ” o “Permisivo (0) “. Por ejemplo:

# setenforce 0 
# getenforce 
Permissive

Booleanos

SELinux también proporciona “Booleanos “, que permite cambiar partes de una política de SELinux en tiempo de ejecución, sin recargar o recompilar una política de SELinux. Puede mostrar una lista de valores booleanos, información de estado y una descripción del valor booleano ejecutando el siguiente comando:

# 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
....

Puede cambiar el estado de un valor booleano específico a activado o desactivado utilizando setsebool dominio. Por ejemplo, para activar el booleano ftp_home_dir:

# setsebool ftpd_use_nfs on

Usa el getsebool comando para mostrar el estado de un booleano específico. Ejemplo:

# getsebool ftpd_use_nfs
ftpd_use_nfs --> on


Linux
  1. Una guía de la terminal de Linux para principiantes

  2. Una guía de SELinux para administradores de sistemas:42 respuestas a las grandes preguntas

  3. Guía para principiantes de rutas múltiples de Device Mapper (DM)

  4. Guía para principiantes sobre la configuración de yum

  5. Guía para principiantes de administración de usuarios y grupos en Linux

Una guía para principiantes de LVM

Configurar una IP estática en Ubuntu:una guía para principiantes

Una guía para principiantes para entender sudo en Ubuntu

Una guía para principiantes sobre los trabajos de Cron

Guía para principiantes sobre la política de reinicio de Docker

Guía para principiantes de gestión de usuarios de MySQL