我们正在从共享根密码转换到使用sudo。 我如何审计sudo的使用情况?

当我join时,我们所有的SA都必须记住系统的root密码。 我觉得这很麻烦(当有人离开公司时,我们不得不触摸每一台服务器并更改密码),并且不安全

最后得到足够的拉,以推动与sudo访问个人帐户。 我想有一个平稳的过渡,所以这是我的初步计划:

  1. 允许SA在不input密码的情况下执行“批准”命令。
  2. 每次使用sudo时,其他命令都需要密码。 我会审核这个命令,并在必要时将它们定义为“已批准”,或者如果它们构成安全风险,则会阻止它们执行。

我们的用户规格如下所示:

 %sysadmins ALL = PASSWD: ALL, NOPASSWD: SERVICES, FILE_READING, !/bin/su 

问:如何执行configuration了PASSWD的命令时,如何进行sudo审计(最好通过电子邮件发送,但日志会这样做)?

每次sudo被调用时,它将执行的命令logging到系统日志中,所以我build议只安装logwatch。 默认情况下,它提供了用于parsingsudo条目的filter/聚合器,并且可以通过电子邮件发送每日报告。

你可能需要编写一个自定义的logwatchfilter来区分你的两套不同的命令。

如果您需要即时通知sudo命令,则可以使用rsyslog的邮件输出模块 。 您将需要应用filter,以便只有sudo消息才能发送到此模块,以免您在早上醒来在您的收件箱中的10k消息。

就像ErikA所说,sudo已经logging了所有运行的东西。 你也可以安装Splunk和(如果使用付费版本)有一个警报,每当它看到一个sudo消息时,你的电子邮件。 这本身可能是不值得的,但如果你已经有了一个,或者一直在思考,这很容易被照顾。

通常所有这些事件都被logging到“/var/log/auth.log”