¿Cómo auditar TTY para un usuario específico en una conexión ssh?

¿Cómo auditar TTY para un usuario específico en una conexión ssh?

Necesito un método para auditar los comandos que un usuario específico escribe en una conexión ssh a mi servidor.

Alguna ayuda ?

Respuesta1

Si el usuario no oculta intencionalmente su actividad, ¿funcionaría algo como esto?:

cat ~/.bash_history | grep "name_of_command"

O

cat /home/user_name_here/.bash_history | grep search_string

Aunque podría ser una mejor solución habilitar la auditoría TTY de PAM (módulos de autenticación conectables): pam_tty_audit.8

Instale auditd(nota: asegúrese de que el servidor ssh esté instalado) y reinicie:

sudo apt-get install auditd && sudo reboot

Elimine cualquier pam_tty_audit:

sed '/pam_tty_audit.so disable=/d' /etc/pam.d/sshd

Agregue la cadena de habilitación a los archivos de configuración pam.d:

sudo sh -c "echo 'session required pam_tty_audit.so enable=*' >> /etc/pam.d/sshd"

Iniciar auditoría:

sudo service auditd status

Si no se está ejecutando:

sudo service auditd start

Y informe grep tty para el UID de un usuario:

sudo aureport --tty | grep $(id -u username_here)

Lectura relacionada:

http://doc.opensuse.org/products/draft/SLES/SLES-security_sd_draft/cha.audit.comp.html#sec.audit.auditd

https://serverfault.com/questions/336217/how-do-i-log-every-command-executed-by-a-user

http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html

información relacionada