He estado tratando de resolver esto y parece una situación más fácil de decir que de hacer. Actualmente estoy configurando un servidor que envía errores, inicios de sesión fallidos, quién accedió a qué y cuándo, etc...
Estoy tratando de descubrir cómo puedo rastrear a un usuario si intenta realizar un cambio de permiso. Digamos que Bob ejecuta 'chmod 777 ' pero no tiene permiso para cambiar dicho archivo. Entonces, en lugar de que el sistema le diga que no, que no puede hacer eso, también arroja un error que indica que se hizo un intento. ¿Cómo puedo registrar ese error (si aún no lo está) y dónde se almacenaría esa ubicación? /var/log/mensajes? O, ¿tendría que configurar una regla auditctl para que esto funcione como yo también quiero? Gracias a todos de antemano
Respuesta1
De man auditctl
:
To watch a file for changes (2 ways to express):
auditctl -w /etc/shadow -p wa
auditctl -a always,exit -F path=/etc/shadow -F perm=wa
- -w: inserta una vigilancia para el objeto del sistema de archivos en la ruta, es decir, /etc/shadow.
- -p: establece el filtro de permisos para una vigilancia del sistema de archivos. w=escribir, x=ejecutar, a=cambio de atributo.
También puede agregar -k, lo que ayudará a buscar registros de auditoría para estos eventos usando ausearch
.
- -k: establece una clave de filtro en una regla de auditoría. La clave de filtro es una cadena arbitraria de texto que puede tener hasta 31 bytes de longitud. Puede identificar de forma única los registros de auditoría producidos por una regla.
En realidad, será necesario implementar la norma /etc/audit/audit.rules
para que sea permanente. auditd
También será necesario habilitarlo e iniciarlo ( systemctl enable auditd.service
y systemctl start auditd.service
).
Puedes encontrar más información en esteArtículo sobre la solución de Red Hat. Está ejecutando CentOS, por lo que los detalles aquí se aplicarán directamente a usted.