audit2allow
.
audit2allow
- genera reglas para habilitar de la política de SELinux a partir de operaciones negadas"[19]. Después de analizar las negaciones como en Sección 7.3.7, “Mensajes sealert”, y si ningún cambio de etiqueta o de Booleano permitió el acceso, use audit2allow
para crear un módulo de política local. Después de que el acceso es negado por SELinux, ejecutando el comando audit2allow
presenta reglas de Obligación de Tipo que permitirían el acceso previamente negado.
audit2allow
para crear un módulo de política:
/var/log/audit/audit.log
:
type=AVC msg=audit(1226270358.848:238): avc: denied { write } for pid=13349 comm="certwatch" name="cache" dev=dm-0 ino=218171 scontext=system_u:system_r:certwatch_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=dir type=SYSCALL msg=audit(1226270358.848:238): arch=40000003 syscall=39 success=no exit=-13 a0=39a2bf a1=3ff a2=3a0354 a3=94703c8 items=0 ppid=13344 pid=13349 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="certwatch" exe="/usr/bin/certwatch" subj=system_u:system_r:certwatch_t:s0 key=(null)
comm="certwatch"
) se le negó el acceso de escritura ({ write }
) a un direcotiro etiquetado con el tipo var_t
(tcontext=system_u:object_r:var_t:s0
). Analice la negación como en Sección 7.3.7, “Mensajes sealert”. Si no hay cambios de etiquetas o Boleanos que permitan el acceso, use audit2allow
para crear un módulo de política local.
certwatch
en el paso 1, corra el comando audit2allow -w -a
para producir una descripción legible al humano sobre por qué el acceso fue negado. La opción -a
hace que se lean todos los registros de autidoría. La opción -w
produce una descripción legible al humano. La herramienta audit2allow
accede a /var/log/audit/audit.log
, y como tal, debe ser ejecutada como usuario root de Linux:
# audit2allow -w -a type=AVC msg=audit(1226270358.848:238): avc: denied { write } for pid=13349 comm="certwatch" name="cache" dev=dm-0 ino=218171 scontext=system_u:system_r:certwatch_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=dir Was caused by: Missing type enforcement (TE) allow rule. You can use audit2allow to generate a loadable module to allow this access.
audit2allow -a
para ver la regla de Obligación de Tipo que permite el acceso negado:
# audit2allow -a #============= certwatch_t ============== allow certwatch_t var_t:dir write;
Fedora
, y seleccione el componente selinux-policy
. Incluya la salida de los comandos audit2allow -w -a
y audit2allow -a
en el informe del error.
audit2allow -a
, ejecute el comando audit2allow -a -M mycertwatch
como usuario root de Linux. La opción -M
crea un archivo de Obligación de Tipo (.te
) con el nombre especificado en -M
, en su directorio actual de trabajo:
# audit2allow -a -M mycertwatch ******************** IMPORTANT *********************** To make this policy package active, execute: semodule -i mycertwatch.pp # ls mycertwatch.pp mycertwatch.te
audit2allow
compila la regla de Obediencia de Tipo en un paquete de política (.pp
). Para instalar el módulo, ejecute el comando /usr/sbin/semodule -i mycertwatch.pp
como usuario root de Linux.
audit2allow
pueden permitir más acceso que el requerido. Se recomienda que la política creada con audit2allow
sea enviada a una lista de SELinux, tal como fedora-selinux-list, para su revisión. Si cree que hay un error en la política, informe un error en Bugzilla de Red Hat.
grep
para una búsqueda más refinada de audit2allow
. El siguiente ejemplo muestra el uso de grep
para sólo enviar negaciones de certwatch
a audit2allow
:
# grep certwatch /var/log/audit/audit.log | audit2allow -M mycertwatch2 ******************** IMPORTANT *********************** To make this policy package active, execute: # /usr/sbin/semodule -i mycertwatch2.pp
audit2allow
para construir módulos de políticas.
[19] De la página man de audit2allow(1), tal como fue incluida en el paquete policycoreutils en Fedora 11.