WindowsMacSoftwareConfiguraciónSeguridadAndroidProductividadLinuxRendimientoApple Todo

Cómo configurar SELinux en Linux

Editado 3 Hace unas semanas por ExtremeHow Equipo Editorial

SeguridadSELinuxConfiguraciónPolíticasLínea de comandosAplicaciónAdministrador del sistemaMonitoreoMejores prácticasControl de Acceso

Cómo configurar SELinux en Linux

Traducción actualizada 3 Hace unas semanas

Introducción

SELinux, que significa Security-Enhanced Linux (Linux con Seguridad Mejorada), es una arquitectura de seguridad integrada en el núcleo que proporciona un mecanismo para soportar políticas de control de acceso. Su objetivo es aplicar políticas del sistema operativo que limiten las capacidades de los programas y protejan el sistema de posibles vulnerabilidades. Configurar SELinux en su sistema basado en Linux puede ayudarle a lograr un entorno más seguro. Esta guía completa explica cómo configurar SELinux en una máquina Linux paso a paso.

Entendiendo el modo de SELinux

Antes de configurar SELinux, es importante entender los modos en los que SELinux puede operar. Estos modos determinan cómo SELinux gestiona el control de acceso en su sistema operativo.

Comprobación del estado actual de SELinux

Para configurar SELinux de manera efectiva, necesita comprobar su estado actual. Esto le ayudará a entender si SELinux está activo o no y qué modo está utilizando actualmente.

Abra una ventana de terminal e introduzca el siguiente comando para comprobar el estado:

getenforce

También puede usar el siguiente comando para obtener información más detallada:

sestatus

Este comando le mostrará el estado actual como Enforcing, Permissive o Disabled.

Cambiando el modo de SELinux

Puede cambiar el modo de SELinux temporalmente o permanentemente. A menudo es útil cambiar el modo temporalmente para pruebas o solución de problemas, pero los cambios permanentes son necesarios para hacer que la configuración sea permanente después de un reinicio.

Cambiando el modo de SELinux temporalmente

Para cambiar el modo temporalmente sin reiniciar el sistema, puede usar el comando setenforce. Por ejemplo, para cambiar al modo de aplicación, ejecute:

sudo setenforce 1

Para cambiar al modo permisivo, ejecute:

sudo setenforce 0

Cambiando el modo de SELinux permanentemente

Para hacer el cambio permanente, actualice el archivo de configuración de SELinux ubicado en /etc/selinux/config. Abra este archivo usando un editor de texto:

sudo nano /etc/selinux/config

Busque la línea que comienza con SELINUX= y cambie su valor a enforcing, permissive o disabled dependiendo de sus necesidades. Por ejemplo:

SELINUX=enforcing

Guarde y cierre el archivo, luego reinicie su sistema para hacer efectivos los cambios.

Entendiendo los tipos de políticas de SELinux

Las políticas de SELinux definen las reglas de seguridad aplicadas por SELinux. Estas políticas controlan los permisos otorgados a varios usuarios y servicios en el sistema. Las políticas más comúnmente utilizadas son:

Para averiguar la política actualmente en uso, ejecute el siguiente comando en la terminal:

sestatus | grep "Loaded policy name"

Instalación y gestión de paquetes SELinux

Para gestionar eficazmente SELinux, puede que necesite instalar herramientas y paquetes relacionados, que varían dependiendo de la distribución. A continuación, algunos paquetes comunes que pueden ser útiles.

Para distribuciones basadas en Debian/Ubuntu

Use el gestor de paquetes apt para instalar las herramientas SELinux:

sudo apt update sudo apt install policycoreutils selinux-utils setools

Para distribuciones basadas en RHEL/CentOS

Use el gestor de paquetes yum o dnf para instalar las herramientas SELinux:

sudo yum install policycoreutils selinux-policy setools

Gestión de políticas de SELinux

Entender cómo habilitar o deshabilitar políticas de SELinux para servicios específicos puede ser importante para lograr el nivel de seguridad que necesita sin interrumpir las funcionalidades previstas de los servicios. SELinux usa booleanos para activar o desactivar políticas para funcionalidades específicas.

Para listar los booleanos de SELinux disponibles, ejecute el siguiente comando:

getsebool -a

Configurando booleanos de SELinux

Para cambiar el valor de un booleano temporalmente (hasta el próximo reinicio):

sudo setsebool httpd_enable_homedirs on

Para cambiar permanentemente el valor del booleano use la opción -P, que escribe el cambio en disco:

sudo setsebool -P httpd_enable_homedirs on

Etiquetado de archivos con contextos de SELinux

SELinux usa contextos (también llamados etiquetas) para determinar los permisos en archivos y procesos. A veces, necesita establecer o cambiar estos contextos manualmente. Puede ver el contexto de un archivo con el comando ls -Z:

ls -Z /var/www/html

Si necesita cambiar el contexto de un archivo, use el comando chcon. Por ejemplo, para cambiar el archivo al contexto apropiado para el servidor web:

sudo chcon -t httpd_sys_content_t /var/www/html/index.html

Restauración de contextos de SELinux

Si un archivo tiene el contexto de SELinux incorrecto, puede restaurarlo a su contexto predeterminado usando el comando restorecon:

sudo restorecon -Rv /var/www/html

Este comando restaurará recursivamente el contexto SELinux correcto para el directorio especificado.

Solución de problemas de SELinux

Cuando SELinux está en modo de aplicación, a veces puede bloquear acciones legítimas, especialmente cuando se instalan aplicaciones personalizadas. Solucionar problemas de SELinux requiere analizar registros y entender por qué algo es denegado.

Comprobación de registros de SELinux

Los mensajes de SELinux se registran en /var/log/audit/audit.log o, en algunos sistemas, /var/log/messages. Para ver el registro, use un editor de texto o el comando tail:

sudo tail -n 50 /var/log/audit/audit.log

Análisis de acciones bloqueadas

Los registros pueden ser complejos y extensos, por lo que herramientas especializadas como audit2allow pueden ayudar a darles sentido. Esta herramienta convierte las entradas de registro en formatos legibles y hasta sugiere las políticas necesarias para permitir acciones no aprobadas.

grep AVC /var/log/audit/audit.log | audit2allow -m custompolicy

El comando anterior puede ayudarle a crear un módulo SELinux que permita una acción particular. Tenga cuidado al permitir acciones, ya que esto puede reducir la seguridad general de su sistema.

Conclusión

Configurar SELinux en Linux implica entender los diferentes modos, verificar el estado, cambiar modos, trabajar con políticas y booleanos, etiquetar archivos y restaurar contextos. SELinux es un sistema poderoso que mejora significativamente la seguridad de su entorno Linux al aplicar controles estrictos de acceso. Configurado correctamente, puede defenderse contra amenazas que buscan acceso no autorizado o interrupciones.

Asegúrese de monitorear constantemente los registros y mantener una política actualizada para adaptarse al software recién instalado y los requisitos cambiantes del sistema. SELinux puede parecer complicado inicialmente, pero a medida que se familiariza con sus características, se convierte en una herramienta indispensable para mejorar la seguridad de Linux.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios