Las secciones siguientes describen los archivos de configuración y sistemas de archivos relacionados con SELinux.
El pseudo-sistema de archivos /selinux/ contiene los comandos que son utilizados más a menudo por el subsistema del kernel. Este tipo de sistema de archivos es similar al pseudo sistema /proc/.
En la mayoría de los casos, los administradores y usuarios no necesitan manipular este componente, en comparación con otros archivos y directorios SELinux.
El ejemplo siguiente presenta contenidos de muestra del directorio /selinux/:
-rw-rw-rw- 1 root root 0 Sep 22 13:14 access dr-xr-xr-x 1 root root 0 Sep 22 13:14 booleans --w------- 1 root root 0 Sep 22 13:14 commit_pending_bools -rw-rw-rw- 1 root root 0 Sep 22 13:14 context -rw-rw-rw- 1 root root 0 Sep 22 13:14 create --w------- 1 root root 0 Sep 22 13:14 disable -rw-r--r-- 1 root root 0 Sep 22 13:14 enforce -rw------- 1 root root 0 Sep 22 13:14 load -r--r--r-- 1 root root 0 Sep 22 13:14 mls -r--r--r-- 1 root root 0 Sep 22 13:14 policyvers -rw-rw-rw- 1 root root 0 Sep 22 13:14 relabel -rw-rw-rw- 1 root root 0 Sep 22 13:14 user |
Por ejemplo, al ejecutar el comando cat en el archivo enforce revela un 1, para el modo impositivo, o un 0, para el modo permisivo.
Las secciones siguientes describen los archivos de configuración y de políticas para SELinux, y los sistemas de archivos relacionados localizados en el directorio /etc/.
Hay dos formas de configurar SELinux bajo Red Hat Enterprise Linux: usando el Herramienta de configuración de nivel de seguridad (system-config-securitylevel), o manualmente editando el archivo de configuración (/etc/sysconfig/selinux).
El archivo /etc/sysconfig/selinux es el archivo de configuración principal para habilitar o inhabilitar SELinux, así como también para configurar cuál política de debe imponer en el sistema y cómo hacerlo.
![]() | Nota |
|---|---|
El archivo /etc/sysconfig/selinux contiene un enlace simbólico al archivo de configuración real, /etc/selinux/config. |
A continuación se explica el subconjunto completo de opciones disponibles para la configuración:
SELINUX=<enforcing|permissive|disabled> — Define el estado superior para SELinux en un sistema.
enforcing o 'impositivo' — Se impone la política de seguridad SELinux.
permissive o 'permisivo' — El sistema SELinux advierte pero no impone la política. Esto es útil para propósitos de depuración o de resolución de problemas. En modo permisivo, se registrarán más rechazos, pues los sujetos podrán continuar con acciones que de lo contrario serían rechazadas en el modo impositivo. Por ejemplo, navegar en un árbol de directorios producirá varios mensajes de avc: denied para cada nivel de directorio leído, pero un kernel en modo impositivo habría detenido la primera acción de este tipo, previniendo que se produjeran más mensajes de rechazo.
disabled o 'inhabilitado' — SELinux está completamente desactivado. Los ganchos de SELinux no están conectados al kernel y el pseudo sistema de archivos no está registrado.
![]() | Sugerencia |
|---|---|
Las acciones realizadas mientras SELinux está inhabilitado pueden provocar que el sistema de archivos ya no tenga el contexto de seguridad adecuado como se definió en la política. La ejecución de fixfiles relabel antes de activar SELinux volverá a etiquetar el sistema de archivos para que SELinux funcione adecuadamente cuando esté activo. Para más información, consulte la página man de fixfiles(8). |
![]() | Nota |
|---|---|
Si se dejan espacios en blanco adicionales al final de una línea de configuración o como líneas extra al final de un archivo, se puede causar un comportamiento inesperado. Para ser precavidos, elimine cualquier espacio en blanco. |
SELINUXTYPE=<targeted|strict> — Especifica cuál política está siendo implantada actualmente por SELinux.
targeted (objetivo) — Solamente se protegen ciertos demonios particulares.
![]() | Importante |
|---|---|
Los siguientes demonios son protegidos en la política de objetivos predeterminada:dhcpd, httpd (apache.te), named, nscd, ntpd, portmap, snmpd, squid, y syslogd. El resto del sistema se ejecuta en el dominio unconfined_t (ilimitado). Los archivos de políticas para estos demonios se pueden encontrar en /etc/selinux/targeted/src/policy/domains/program y están sujetos a cambios, a medida que se publiquen versiones más nuevas de Red Hat Enterprise Linux. |
La imposición de políticas para estos demonios se puede activar y desactivar, utilizando valores boleanos controlados por Herramienta de configuración de nivel de seguridad (system-config-securitylevel). Al activar un valor boleano para un demonio objetivo se desactiva la transición de políticas para ese demonio, lo que previene, por ejemplo, que init pase a dhcpd desde el dominio unconfined_t (ilimitado) al dominio especificado en dhcpd.te. El dominio unconfined_t permite a los sujetos y objetos con ese contexto de seguridad a ejecutarse bajo la seguridad estándar de Linux.
strict (estricta) — Protección SELinux completa, para todos los demonios. Se definen los contextos de seguridad para todos los sujetos y objetos y cada simple acción es procesada por el servidor de aplicación de políticas.
El directorio /etc/selinux/ es la ubicación principal para todos los archivos de políticas así como también para el archivo de configuración principal.
El ejemplo siguiente presenta contenidos de muestra del directorio /etc/selinux/:
-rw-r--r-- 1 root root 448 Sep 22 17:34 config drwxr-xr-x 5 root root 4096 Sep 22 17:27 strict drwxr-xr-x 5 root root 4096 Sep 22 17:28 targeted |
Los dos subdirectorios, strict/ y targeted/, son los directorios específicos donde se contienen los archivos de políticas del mismo nombre (por ejemplo, strict y targeted).
Para más información sobre las políticas de SELinux y su configuración, consulte el Guía para escribir políticas SELinux de Red Hat.
Los siguientes son algunos de los programas de utilidades usados más a menudo por SELinux
/usr/bin/setenforce — Modifica en tiempo real el modo en que se ejecuta SELinux. Al ejecutar setenforce 1, se coloca SELinux en modo impositivo. Al ejecutar setenforce 0, SELinux se coloca en modo permisivo. Para desactivar SELinux, se necesita que configure el parámetro en /etc/sysconfig/selinux o que pase el parámetro selinux=0 al kernel, bien sea en /etc/grub.conf o al momento del arranque.
/usr/bin/sestatus -v — obtiene el estado detallado de un sistema ejecutando SELinux. El ejemplo siguiente muestra un extracto de la salida sestatus:
SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Policy version: 18 |
/usr/bin/newrole — Ejecuta un nuevo shell en un nuevo contexto o papel. La política debe permitir la transición al nuevo papel.
/sbin/restorecon — Configura el contexto de seguridad de uno o más archivos, marcando los atributos extendidos con el archivo apropiado o contexto de seguridad.
/sbin/fixfiles — Verifica o corrige la base de datos del contexto de seguridad en el sistema de archivos.
Consulte la página man asociada con estas utilidades para más información.
Para más información sobre todas las utilidades binarias disponibles, refiérase a los contenidos del paquete setools o policycoreutils, ejecutando rpm -ql <package-name>, donde <package-name> es el nombre del paquete específico.