¿Cómo puedo usar ausearch para registrar la IP de un usuario cuando modifica un archivo a través de SSH?

¿Cómo puedo usar ausearch para registrar la IP de un usuario cuando modifica un archivo a través de SSH?

Mi equipo inicia sesión en un servidor de desarrollo usando la misma contraseña de root; No hemos configurado cuentas de usuario separadas.

Ahora estoy intentando crear un registro de cambios de archivos y quiero distinguir entre diferentes autores, pero ausearch siempre devuelve el nombre del usuario (por lo que siempre es "root"), incluso cuando paso la regla name_format=numeric, que se suponía que expondría el Dirección IP en lugar de "raíz".

Respuesta1

NOTA: El OP también hizo esta pregunta en otro lugar en línea. Esta es una versión editada de mi respuesta en esa otra ubicación. La inconveniencia de que varios usuarios inicien sesión directamente como root ya se ha abordado allí y no es necesario volver a examinarla.

Según tengo entendido, está preguntando cómo obtener los registros de auditoría para mostrar desde qué dirección IP se realizó cada acción registrada. Su frustración es que la mayoría de las líneas de auditoría ni siquiera tienen campos hostnamey addr, y las pocas que sí los tienen se ven así:

node=192.168.33.9 type=USER_START msg=audit(1422241281.664:263): pid=5912 uid=0 auid=1001 ses=18 msg='op=PAM:session_open acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/4 [...]

es decir, con valores hostnamey desconocidos addr.

El subsistema de auditoría de Linux no completa automáticamente sus entradas con información de IP/nombre de host asociada; Los demonios como sshd deben proporcionarlos explícitamente para auditarlos de alguna manera (en el caso de sshd, a través de llamadas PAM):

node=192.168.33.9 type=CRED_ACQ msg=audit(1422240837.085:202): pid=5441 uid=0 auid=501 ses=18 msg='op=PAM:setcred acct="ratb" exe="/usr/sbin/sshd" hostname=canton.local addr=192.168.33.36 terminal=ssh res=success'

Los comandos a nivel de usuario, como tu editor favorito, no lo harán en absoluto, ya que no les importa de dónde vienes.

Dado que todos inician sesión directamente como el mismo usuario, tendrás que registrar sesnúmeros individuales ("de sesión") delUSER_STARTAuditar los mensajes que sshd emite a través de PAM y luego correlacionarlos con los sesID delLLAMADA AL SISTEMAmensajes para la actividad que desea rastrear. Por ejemplo, esta fue la pista de auditoría echo hi > tmp/testing.txtde la misma sesión SSH que la anterior y, por lo tanto, comparte el mismo sesID (18):

node=192.168.33.9 type=PATH msg=audit(1422241924.835:341): item=1 name="tmp/testing.txt" inode=2631940 dev=08:22 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE
node=192.168.33.9 type=PATH msg=audit(1422241924.835:341): item=0 name="tmp/" inode=2621477 dev=08:22 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
node=192.168.33.9 type=CWD msg=audit(1422241924.835:341):  cwd="/root"
node=192.168.33.9 type=SYSCALL msg=audit(1422241924.835:341): arch=c000003e syscall=2 success=yes exit=3 a0=bc62a8 a1=241 a2=1b6 a3=10 items=2 ppid=5913 pid=5921 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts4 ses=18 comm="bash" exe="/bin/bash" key=(null)

información relacionada