Use los comandos
/usr/sbin/getenforce
o /usr/sbin/sestatus
para chequear el estado de SELinux. El comandogetenforce
devuelve Obediente
, Permisivo
, o Deshabilitado
. El comando getenforce
devuelve Obediente
cuando SELinux está habilitado (las reglas de la política de SELinux son aplicadas):$ /usr/sbin/getenforce Enforcing
El comando
getenforce
devuelve Permissive
cuando SELinux está activado, pero las reglas de políticas de SELinux no están en obligatorio, y sólo se usan las reglas DAC. El comando getenforce
devuelve Disabled
si SELinux está deshabilitado.
El comando
sestatus
devuelve el estado de SELinux y la política de SELinux que se está usando:$ /usr/sbin/sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 23 Policy from config file: targeted
SELinux status: enabled
is returned when SELinux is enabled. Current mode: enforcing
is returned when SELinux is running in enforcing mode. Policy from config file: targeted
is returned when the SELinux targeted policy is used.5.4.1. Habilitando SELinux
En sistemas con SELinux deshabilitado, la opción
SELINUX=disabled
se configura en /etc/selinux/config
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
También, el comando
getenforce
devuelve Disabled
:$ /usr/sbin/getenforce Disabled
Para habilitar SELinux:
- Use los comandos
rpm -qa | grep selinux
,rpm -q policycoreutils
yrpm -qa | grep setroubleshoot
para confirmar que los paquetes de SELinux están instalados. esta guía asume que los siguientes paquetes están instalados: selinux-policy-targeted, selinux-policy, libselinux, libselinux-python, libselinux-utils,policycoreutils, setroubleshoot, setroubleshoot-server, setroubleshoot-plugins. Si estos paquetes no están instalados, como usuario root de Linux, debe instalarlos con el comandoyum install
. Los siguientes paquetes son opcionales: policycoreutils-gui, setroubleshoot, selinux-policy-devel y mcstrans.nombre-de-paquete
- Antes de activar SELinux, cada archivo en el sistema de archivo debe ser etiquetado con un contexto de SELinux. Antes que esto ocurra, los dominios confinados pueden tener el acceso denegado, impidiendo de que su sistema se inicie correctamente. Para prevenir esto, configure
SELINUX=permissive
en/etc/selinux/config
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
- Como usuario root de Linux, corra el comando
reboot
para reiniciar el sistema. Durante el siguiente arranque, los sistemas de archivo son etiquetados. El proceso etiqueta todos los archivos con un contexto de SELinux:*** Warning -- SELinux targeted policy relabel is required. *** Relabeling could take a very long time, depending on file *** system size and speed of hard drives. ****
Cada carácter*
en la línea de abajo representa 1000 archivos que han sido etiquetados. En el ejemplo de arriba, cuatro caracteres*
representan 4000 archivos etiquetados. El tiempo que toma reetiquetar todos los archivos depende del número de archivos del sistema, y la velocidad de los discos rígidos. En sistemas modernos, este proceso puede tomar 10 minutos. - In permissive mode, SELinux policy is not enforced, but denials are still logged for actions that would have been denied if running in enforcing mode. Before changing to enforcing mode, as the Linux root user, run the
grep "SELinux is preventing" /var/log/messages
command as the Linux root user to confirm that SELinux did not deny actions during the last boot. If SELinux did not deny actions during the last boot, this command does not return any output. Refer to Capítulo 7, Solución a Problemas for troubleshooting information if SELinux denied access during boot. - Si no hay mensajes de negación en
/var/log/messages
, configureSELINUX=enforcing
en/etc/selinux/config
:# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
- Reinicie su sistema. Después de reiniciar, confirme que
getenforce
devuelveEnforcing
:$ /usr/sbin/getenforce Enforcing
- Como usuario root de Linux, corra el comando
/usr/sbin/semanage login -l
para ver el mapeo entre usuarios de SELinux y de Linux. La salida debe ser como la siguiente:Login Name SELinux User MLS/MCS Range __default__ unconfined_u s0-s0:c0.c1023 root unconfined_u s0-s0:c0.c1023 system_u system_u s0-s0:c0.c1023
Si éste no es el caso, ejecute los siguientes comandos como usuario root de Linux para corregir los mapeos de usuario. Es seguro ignorar los mensajes
El usuario SELinux nombre-de-usuario
ya está definido
si es que aparecen, donde nombre-de-usuario
puede ser unconfined_u
, guest_u
, o xguest_u
:/usr/sbin/semanage user -a -S targeted -P user -R "unconfined_r system_r" -r s0-s0:c0.c1023 unconfined_u
/usr/sbin/semanage login -m -S targeted -s "unconfined_u" -r s0-s0:c0.c1023 __default__
/usr/sbin/semanage login -m -S targeted -s "unconfined_u" -r s0-s0:c0.c1023 root
/usr/sbin/semanage user -a -S targeted -P user -R guest_r guest_u
/usr/sbin/semanage user -a -S targeted -P user -R xguest_r xguest_u
Importante
Cuando los sistemas corren con SELinux en modo permisivo o deshabilitado, los usuarios tiene permiso para etiquetar los archivos incorrectamente. También, los archivos creados con SELinux deshabilitado no son etiquetados. Esto causa problemas cuando se cambia a modo obediente. Para prevenir el etiquetado incorrecto o la falta de etiquetado, los sistemas de archivos son automáticamente reetiquetados cuando se cambie desde el modo deshabilitado al modo permisivo u obediente.
Fuente: http://docs.fedoraproject.org
No hay comentarios:
Publicar un comentario