Product SiteDocumentation Site

7.3.5. Búsqueda y Revisión de Negaciones

Esta sección asume que los paquetes setroubleshoot, setroubleshoot-server, y audit están instalados, y que los demonios auditd, rsyslogd y setroubleshootd están ejecutándose. Vaya a Sección 5.2, “Qué Archivo Log se usa” para información sobre cómo iniciar estos demonios. Hay disponibles un número de herramientas para ver las negaciones de SELinux, tales como ausearch, aureport y sealert.
ausearch
El paquete audit provee ausearch. De la página de manual de ausearch(8): "ausearch es una herramienta que puede consultar los registros del demonio audit basados en distintos criterios de búsqueda"[16]. La herramienta ausearch accede a /var/log/audit/audit.log, y como tal, sebe ser ejecutada como usuario root de Linux:
BuscandoComando
todas las negaciones/sbin/ausearch -m avc
negaciones de hoy/sbin/ausearch -m avc -ts today
negaciones desde los últimos 10 minutos/sbin/ausearch -m avc -ts recent
Para buscar negaciones de SELinux para un servicio particular, use la opción -c nombre-de-comando, donde nombre-de-comando "es el nombre del ejecutable"[17], por ejemplo, httpd para el Servidor HTTP Apache, y smbd para Samba:
/sbin/ausearch -m avc -c httpd
/sbin/ausearch -m avc -c smbd
Vaya a la página de manual de ausearch(8) para más opciones de ausearch.
aureport
El paquete audit provee aureport. De la página de manual de aureport(8): "aureport es una herramienta que produce informes resumen de los registros de auditoría del sistema"[18]. La herramienta aureport accede a /var/log/audit/audit.log, y como tal, se debe ejecutar como usuario root de Linux. Para ver una lista de las negaciones de SElinux y cuán a menudo ocurren, ejecute el comando aureport -a. El siguiente es un ejemplo de la salida en donde se incluyen dos negaciones:
# /sbin/aureport -a

AVC Report
========================================================
# date time comm subj syscall class permission obj event
========================================================
1. 05/01/2009 21:41:39 httpd unconfined_u:system_r:httpd_t:s0 195 file getattr system_u:object_r:samba_share_t:s0 denied 2
2. 05/03/2009 22:00:25 vsftpd unconfined_u:system_r:ftpd_t:s0 5 file read unconfined_u:object_r:cifs_t:s0 denied 4
Vaya a la página de manual de aureport(8) para más opciones de aureport.
sealert
El paquete setroubleshoot-server provee sealert, que lee los mensajes de negación traducidos por setroubleshoot-server. A las negaciones se le asignan IDs, como se ve en /var/log/messages. El siguiente es un ejemplo de negación en messages:
setroubleshoot: SELinux esta previniendo acerca de la intención de httpd (httpd_t) "getattr" to /var/www/html/archivo1 (samba_share_t). Para mensajes SELinux completos, ejecute sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020
En este ejemplo, el ID de negación es 84e0b04d-d0ad-4347-8317-22e74f6cd020. La opción -l toma un ID como argumento. Ejecutando el comando sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020 le presenta un análisis detallado de por qué SELinux negó el acceso, y una posible solución para permitir el acceso.
Si está corriendo el Sistema de Ventanas X, tenga los paquetes setroubleshoot y setroubleshoot-server instalados, y los demonios setroubleshootd y auditd ejecutándose, una estrella amarilla y una advertencia se muestran cuando un acceso es negado por SELinux. Con clic sobre la estrella se lanza sealert modo gráfico y se muestra la negación como HTML:
Vaya a la página man de sealert(8) para más opciones de sealert.


[16] De la página man de ausearch(8), como se incluyó en el paquete audit en Fedora 11.

[17] De la página de manual de ausearch(8), como se incluyó en el paquete audit en Fedora 11.

[18] de la página de manual de aureport(8) como se incluyó en el paquete audit en Fedora 11.