Capítulo 5. Solución de problemas relacionados con SELinux
Si planeas habilitar SELinux en sistemas en los que ha sido previamente deshabilitado o si ejecutas un servicio en una configuración no estándar, puede que necesites solucionar situaciones potencialmente bloqueadas por SELinux. Tenga en cuenta que, en la mayoría de los casos, las denegaciones de SELinux son signos de una configuración incorrecta.
5.1. Identificación de las denegaciones de SELinux
Siga sólo los pasos necesarios de este procedimiento; en la mayoría de los casos, sólo tendrá que realizar el paso 1.
Procedimiento
Cuando su escenario está bloqueado por SELinux, el archivo
/var/log/audit/audit.log
es el primer lugar en el que hay que buscar más información sobre una denegación. Para consultar los registros de auditoría, utilice la herramientaausearch
. Dado que las decisiones de SELinux, como permitir o denegar el acceso, se almacenan en caché y esta caché se conoce como caché de vectores de acceso (AVC), utilice los valoresAVC
yUSER_AVC
para el parámetro de tipo de mensaje, por ejemplo:# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent
Si no hay coincidencias, compruebe si el demonio de Auditoría se está ejecutando. Si no lo hace, repita el escenario denegado después de iniciar
auditd
y compruebe de nuevo el registro de Auditoría.En caso de que
auditd
se esté ejecutando, pero no haya coincidencias en la salida deausearch
, compruebe los mensajes proporcionados por el Diariosystemd
:# journalctl -t setroubleshoot
Si SELinux está activo y el demonio de auditoría no se está ejecutando en su sistema, busque ciertos mensajes de SELinux en la salida del comando
dmesg
:# dmesg | grep -i -e type=1300 -e type=1400
Incluso después de las tres comprobaciones anteriores, es posible que no haya encontrado nada. En este caso, los rechazos del CVA pueden ser silenciados debido a las reglas de
dontaudit
.Para desactivar temporalmente las reglas de
dontaudit
, permitiendo que se registren todos los rechazos:# semodule -DB
Después de volver a ejecutar su escenario denegado y encontrar los mensajes de denegación utilizando los pasos anteriores, el siguiente comando habilita de nuevo las reglas de
dontaudit
en la política:# semodule -B
Si aplica los cuatro pasos anteriores y el problema sigue sin identificarse, considere si SELinux realmente bloquea su escenario:
Cambia al modo permisivo:
# setenforce 0 $ getenforce Permissive
- Repite tu escenario.
Si el problema sigue ocurriendo, algo diferente a SELinux está bloqueando su escenario.