我希望收到有关与 Linux(Debian)服务器的每个 SSH 连接的通知。
已经看到一些方法,建议将邮件命令添加到自己的 .bashrc 中,但这种方法似乎不能涵盖所有可能的情况。
关于 SSH 连接进行此类横向通知的最佳做法是什么?
答案1
既然你明确表示希望每个人都有自己的电子邮件成功的验证,pam_notify是一个很好的候选模块。
将其作为一行添加到session required
您或同等文件的末尾/etc/pam.d/sshd
。
答案2
最好的做法是不要这样做,除非你真的必须(这台机器的安全性非常重要)。
如果你真的必须这样做,您不想摆弄人们可以更改的 shell .rc 文件 - 这是一个不成熟的解决方案。
正确的方法可能是使用 Linux 内置的审计功能(请参阅auditd
及其配置文件auditd.conf
),但我对 Linux 中的审计功能的经验非常有限(特别是我不确定审计子系统是否可以轻松发送电子邮件——但我知道你可以在 FreeBSD 上轻松做到这一点而没有太多麻烦)。
不太正确但仍然不错的方法是使用始终成功的 PAM 模块并发出一封电子邮件说明谁试图登录。
最不合适但至少你的收件箱还没满的方法是将你的auth.log
文件或类似文件分批处理,然后每晚通过电子邮件发送给某人。如果你只需要一个基本记录,那么这就是我的选择:在活动量很大的系统中,根据我的其他建议生成的电子邮件数量会非常多。
答案3
您可以定期监视 /var/log/auth.log,甚至可以更好地使其成为远程日志记录,以便攻击者无法抹去成功登录的痕迹。