作者:Evi1oX
使用 vim /etc/pam.d/password-auth 或者 vim /etc/pam.d/system-auth 编辑PAM模块, 配置用户命令的PAM审核
session required pam_tty_audit.so disable=user1,user2 enable=user3,user4
如果我们需要记录所有用户的数据(包括密码), 还需要使用log_passwd选项
session required pam_tty_audit.so enable=* log_passwd
存储的日志存放在 /var/log/audit/audit.log, 命令内容存放在data, 测试发现root 用户截取的通常为明文, 其他账户截取的是 hex 加密的数据, 如 data=70617373776F72640A
cat /var/log/audit/audit.log
type=USER_TTY msg=audit(1560480901.176:1894): pid=16680 uid=0 auid=0 ses=673 data="ls"
type=TTY msg=audit(1560480903.048:1896): tty pid=16680 uid=0 auid=0 ses=673 major=136 minor=14 comm="bash" data=77686F616D690D
type=USER_TTY msg=audit(1560480903.048:1897): pid=16680 uid=0 auid=0 ses=673 data="whoami"
type=TTY msg=audit(1560480792.016:1885): tty pid=18377 uid=1000 auid=0 ses=673 major=136 minor=14 comm="su" data=70617373776F72640A
[evi1ox@centos ~]$ echo '70617373776F72640A' |xxd -r -p
password
这个配置在Kernel 3.9及更高版本中受支持, 这种方法适用于 su/sudo 获取加密的密码数据(hex 加密的), 但是无法获取系统登录的密码,如果需要记录,作者提供了参考链接(http://www.adeptus-mechanicus.com/codex/logsshp/logsshp.html)
和 centos 类似
vim /etc/ssh/sshd_config
UsePAM yes
vim /etc/pam.d/common-session
session optional pam_tty_audit.so enable=* log_passwd
yum install auditd
apt install auditd
作者历史文章赏析: