当我加入时,我们所有的 SA 都必须记住系统的 root 密码。我觉得这很麻烦(当有人离开公司时,我们必须接触每台服务器并更改密码)并且不安全。
终于有足够的吸引力来推动个人账户的sudo
访问。我希望有一个平稳的过渡,所以这是我的初步计划:
- 允许 SA 无需输入密码即可执行“批准”的命令。
- 每次使用时,其他所有命令都需要密码
sudo
。我将审核此命令,并在必要时将其定义为“已批准”,或如果它们存在安全风险,则阻止执行它们。
我们的用户规范如下:
%sysadmins ALL = PASSWD: ALL, NOPASSWD: SERVICES, FILE_READING, !/bin/su
问题:当执行配置的命令时,如何进行审计sudo
(最好通过电子邮件,但日志也可以)PASSWD
?
答案1
每次调用 sudo 时,它都会将执行的命令记录到 syslog 中,因此我建议只安装 logwatch。默认情况下,它带有用于解析 sudo 条目的过滤器/聚合器,并且可以通过电子邮件向您发送每日报告。
您可能需要编写自定义 logwatch 过滤器来区分两组不同的命令。
如果你需要 sudo 命令的即时通知,你可以使用邮件输出模块使用 rsyslog。您需要应用过滤器,以便只有 sudo 消息才能发送到此模块,否则您早上醒来时会发现收件箱中有 10k 条消息。
答案2
就像 ErikA 所说的那样,sudo 已经记录了所有运行的操作。您还可以安装 Splunk,并且(如果使用付费版本)当它看到 sudo 消息时会向您发送电子邮件提醒。仅凭这一点可能不值得购买许可证,但如果你已经拥有许可证,或者一直在考虑购买,那么这个问题就很容易解决了。
答案3
通常所有这些事件都记录到“/var/log/auth.log”中