Product SiteDocumentation Site

7.3.6. Raw Audit Messages

Los mensajes crudos de auditoría se guardan en /var/log/audit/audit.log. El siguiente es un ejemplo de negación AVC (y su llamada a sistema asociado) que ocurrío cuando el Servidor HTTP Apache (corriendo en el dominio httpd_t) intentó acceder el /var/www/html/archivo1 (etiquetado con el tipo samba_share_t):
type=AVC msg=audit(1226874073.147:96): avc:  denied  { getattr } for  pid=2465 comm="httpd" path="/var/www/html/file1" dev=dm-0 ino=284133 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:samba_share_t:s0 tclass=file

type=SYSCALL msg=audit(1226874073.147:96): arch=40000003 syscall=196 success=no exit=-13 a0=b98df198 a1=bfec85dc a2=54dff4 a3=2008171 items=0 ppid=2463 pid=2465 auid=502 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=6 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)

{ getattr }
The item in braces indicates the permission that was denied. getattr indicates the source process was trying to read the target file's status information. This occurs before reading files. This action is denied due to the file being accessed having the wrong label. Commonly seen permissions include getattr, read, and write.
comm="httpd"
The executable that launched the process. The full path of the executable is found in the exe= section of the system call (SYSCALL) message, which in this case, is exe="/usr/sbin/httpd".
path="/var/www/html/file1"
La dirección al objeto (destino) al que quiere acceder el proceso.
scontext="unconfined_u:system_r:httpd_t:s0"
El contexto de SELinux del proceso que intentó la acción denegada. En este caso, es el contexto SELinux del Servidor HTTP Apache, que core en el dominio httpd_t.
tcontext="unconfined_u:object_r:samba_share_t:s0"
El contexto de SELinux del objeto (destino) al que intentó acceder el proceso. En este caso, es el contexto SELinux del archivo1. Nota: el tipo samba_share_t no es accesible para procesos que corren el dominio httpd_t.
En ciertas cituaciónes, el tcontext puede coincidir con scontext, por ejemplo, cuando un proceso intenta ejecutar un servicio del sistema que cambiará las características de ese proceso en ejecución, tales como el ID del usuario. También el tcontext puede coincidir con el scontext cuando un proceso intenta usar más recursos (como la memoria) más allá de los límites normales permitidos, lo que resulta en un chequeo de seguridad para ver si el proceso tiene permitido romper esos límites.
Desde el mensaje de llamado al sistema (SYSCALL) nos interesan dos ítems:
An incorrect file type is a common cause for SELinux denying access. To start troubleshooting, compare the source context (scontext) with the target context (tcontext). Should the process (scontext) be accessing such an object (tcontext)? For example, the Apache HTTP Server (httpd_t) should only be accessing types specified in the httpd_selinux(8) manual page, such as httpd_sys_content_t, public_content_t, and so on, unless configured otherwise.