auditoria en linux

auditoria en linux

Estoy intentando configurar un mecanismo de auditoría sólido en mis cajas centos 6.x. Probé y probé varias herramientas de auditoría como

  • auditado
  • ayudante
  • psacto

Pero ninguno satisface por completo mis requisitos. Mi requisito es bastante simple y sé que un sistema de auditoría no servirá para todos y es posible que tenga que usar diferentes sistemas de auditoría todos juntos. Yo quiero

  • Monitorear todos los comandos ejecutados por un usuario.

psacct está haciendo esto perfectamente pero solo indica el comando ejecutado por el usuario y no los argumentos pasados ​​al comando. es decir, si el usuario ejecuta vim /erc/passwd, lastcomm <username>solo indicará que se ejecutó el comando vim, pero no indicará qué archivo se editó realmente.

Y auditd dice que, por ejemplo, se ejecutó el comando vim y se editó un archivo en particular, pero no dice quién editó el archivo.

Supongamos que ejecuto un comando como usuario de sudo, entonces no me dirá qué usuario editó el archivo en particular si hay 10 usuarios de sudo, ya que gid y uid serán de superusuario en la salida del comando:

time->Sat Jun 20 15:52:45 2015
type=PATH msg=audit(1434795765.057:54685): item=4 name="/etc/passwd" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE
type=PATH msg=audit(1434795765.057:54685): item=3 name="/etc/passwd" inode=152786 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1434795765.057:54685): item=2 name="/etc/passwd+" inode=152790 dev=fd:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1434795765.057:54685): item=1 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=PATH msg=audit(1434795765.057:54685): item=0 name="/etc/" inode=130562 dev=fd:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=CWD msg=audit(1434795765.057:54685):  cwd="/etc"
type=SYSCALL msg=audit(1434795765.057:54685): arch=c000003e syscall=82 success=yes exit=0 a0=7fffba897300 a1=7fd7cc94ece0 a2=7fffba8971c0 a3=0 items=5 ppid=14041 pid=14043 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=8494 comm="useradd" exe="/usr/sbin/useradd" key=(null)
  • Me gustaría realizar un seguimiento de los cambios reales realizados en el archivo.

La herramienta auxiliar indica que un archivo ha sido modificado, pero ¿cómo puedo obtener detalles del contenido que realmente se modificó y qué usuario realizó la modificación?

Respuesta1

Puede implementar esto usando auditd y un módulo pam. Necesitas cargar el módulo pam pam_tty_auditen sesión como

session required pam_tty_audit.so disable=testuser1 enable=testuser,root

tanto en archivos /etc/pam.d/password-authcomo /etc/pam.d/system-auth.

y luego la pulsación de tecla de los usuarios habilitados se registrará en el registro de auditoría.

Al generar el informe de auditoría, utilice la opción -i con aureport para obtener exactamente el nombre de usuario.

p.ej:aureport --tty -i -ts today

Un inconveniente de este método es que se registrarán todas las pulsaciones de teclas, incluidas las contraseñas ingresadas en el terminal.

Para realizar un seguimiento del archivo modificado, se puede utilizar una ayuda. Esto utiliza un método de verificación de suma de verificación. Pero la línea exacta cambiada en el archivo no es rastreable.

información relacionada