Как провести аудит TTY для указанного пользователя в SSH-подключении?

Как провести аудит TTY для указанного пользователя в SSH-подключении?

Мне нужен метод аудита команд, которые вводит указанный пользователь при ssh-подключении к моему серверу.

Любая помощь ?

решение1

Если пользователь намеренно не скрывает свою активность, сработает ли что-то вроде этого?:

cat ~/.bash_history | grep "name_of_command"

Или

cat /home/user_name_here/.bash_history | grep search_string

Хотя лучшим решением может быть включение аудита TTY PAM (Pluggable Authentication Modules): pam_tty_audit.8

Установите auditd(примечание: убедитесь, что установлен ssh-сервер) и перезагрузите компьютер:

sudo apt-get install auditd && sudo reboot

Удалите все pam_tty_audit:

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

Добавьте строку включения в файлы конфигурации pam.d:

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

Начать аудит:

sudo service auditd status

Если он не запущен:

sudo service auditd start

И grep tty отчет для UID пользователя:

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

Связанное чтение:

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-user

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

Связанный контент