5.4. Denegaciones de SELinux en el registro de auditoría
El sistema de Auditoría de Linux almacena por defecto las entradas de registro en el archivo /var/log/audit/audit.log
. Para listar sólo los registros relacionados con SELinux, utilice el comando ausearch
con el parámetro de tipo de mensaje establecido en AVC
y AVC_USER
como mínimo, por ejemplo:
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR
Una entrada de denegación de SELinux en el archivo de registro de auditoría puede tener el siguiente aspecto:
type=AVC msg=audit(1395177286.929:1638): avc: denied { read } for pid=6591 comm="httpd" name="webpages" dev="0:37" ino=2112 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:nfs_t:s0 tclass=dir
Las partes más importantes de esta entrada son:
-
avc: denied
- la acción realizada por SELinux y registrada en Access Vector Cache (AVC) -
{ read }
- la acción denegada -
pid=6591
- el identificador del proceso del sujeto que intentó realizar la acción denegada -
comm="httpd"
- el nombre del comando que se utilizó para invocar el proceso analizado -
httpd_t
- el tipo de SELinux del proceso -
nfs_t
- el tipo de SELinux del objeto afectado por la acción del proceso -
tclass=dir
- la clase de objeto de destino
La entrada de registro anterior puede traducirse en:
SELinux denied the httpd
process with PID 6591 and the httpd_t
type to read from a directory with the nfs_t
type.
El siguiente mensaje de denegación de SELinux se produce cuando el servidor HTTP Apache intenta acceder a un directorio etiquetado con un tipo para el conjunto Samba:
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
-
{ getattr }
- la entradagetattr
indica que el proceso de origen estaba intentando leer la información de estado del archivo de destino. Esto ocurre antes de leer los archivos. SELinux niega esta acción porque el proceso accede al archivo y no tiene una etiqueta apropiada. Los permisos comúnmente vistos incluyengetattr
,read
, ywrite
. -
path="/var/www/html/file1"
- la ruta del objeto (objetivo) al que el proceso intentó acceder. -
scontext="unconfined_u:system_r:httpd_t:s0"
- el contexto SELinux del proceso (fuente) que intentó la acción denegada. En este caso, es el contexto SELinux del servidor HTTP Apache, que se ejecuta con el tipohttpd_t
. -
tcontext="unconfined_u:object_r:samba_share_t:s0"
- el contexto SELinux del objeto (objetivo) al que el proceso intentó acceder. En este caso, es el contexto SELinux defile1
.
Esta negación de SELinux se puede traducir en:
SELinux denied the httpd
process with PID 2465 to access the /var/www/html/file1
file with the samba_share_t
type, which is not accessible to processes running in the httpd_t
domain unless configured otherwise.
Recursos adicionales
-
Para más información, consulte las páginas de manual
auditd(8)
yausearch(8)
.