如何审计 ssh 连接中指定用户的 TTY?

如何审计 ssh 连接中指定用户的 TTY?

我需要一种方法来审核指定用户在与我的服务器的 ssh 连接中输入的命令。

有什么帮助吗?

答案1

如果用户不是故意隐藏他们的活动,这样的事情会起作用吗?:

cat ~/.bash_history | grep "name_of_command"

或者

cat /home/user_name_here/.bash_history | grep search_string

尽管启用 PAM(可插入式身份验证模块)TTY 审计可能是一个更好的解决方案: 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"

启动 auditd:

sudo service auditd status

如果没有运行:

sudo service auditd start

并针对用户 UID 使用 grep tty 报告:

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

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

相关内容