5.2. Análisis de los mensajes de denegación de SELinux
Después de identificar que SELinux está bloqueando su escenario, es posible que tenga que analizar la causa raíz antes de elegir una solución.
Requisitos previos
-
Los paquetes
policycoreutils-python-utils
ysetroubleshoot-server
están instalados en su sistema.
Procedimiento
Listar más detalles sobre una denegación registrada usando el comando
sealert
, por ejemplo:sealert -l "*" ausearch -x /usr/bin/passwd --raw | audit2allow -D -M my-passwd semodule -X 300 -i my-passwd.pp
$ sealert -l "*" SELinux is preventing /usr/bin/passwd from write access on the file /root/test. ***** Plugin leaks (86.2 confidence) suggests ***************************** If you want to ignore passwd trying to write access the test file, because you believe it should not need this access. Then you should report this as a bug. You can generate a local policy module to dontaudit this access. Do # ausearch -x /usr/bin/passwd --raw | audit2allow -D -M my-passwd # semodule -X 300 -i my-passwd.pp ***** Plugin catchall (14.7 confidence) suggests ************************** ... Raw Audit Messages type=AVC msg=audit(1553609555.619:127): avc: denied { write } for pid=4097 comm="passwd" path="/root/test" dev="dm-0" ino=17142697 scontext=unconfined_u:unconfined_r:passwd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file permissive=0 ... Hash: passwd,passwd_t,admin_home_t,file,write
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si el resultado obtenido en el paso anterior no contiene sugerencias claras:
Habilite la auditoría de ruta completa para ver las rutas completas de los objetos a los que se ha accedido y para hacer visibles los campos adicionales de eventos de Auditoría de Linux:
auditctl -w /etc/shadow -p w -k shadow-write
# auditctl -w /etc/shadow -p w -k shadow-write
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Borrar la caché de
setroubleshoot
:rm -f /var/lib/setroubleshoot/setroubleshoot.xml
# rm -f /var/lib/setroubleshoot/setroubleshoot.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Reproducir el problema.
Repite el paso 1.
Después de terminar el proceso, desactive la auditoría de ruta completa:
auditctl -W /etc/shadow -p w -k shadow-write
# auditctl -W /etc/shadow -p w -k shadow-write
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Si
sealert
devuelve sólo sugerencias decatchall
o sugiere añadir una nueva regla usando la herramientaaudit2allow
, compare su problema con los ejemplos listados y explicados en las denegaciones de SELinux en el registro de Auditoría.
Recursos adicionales
-
La página de manual
sealert(8)
.