需要监控sudo权限

需要监控sudo权限

我学习 Linux 只是为了教育目的,但是,我真的很喜欢这个操作系统。

对于家庭作业,我必须实现一个系统,其中包含用户在管理服务器时认为最安全的内容,因此,我想配置如下内容:

如果具有 root 权限的用户需要安装软件或库,则在键入sudo xxxx命令时,团队经理(定期信息安全)必须收到用户john正在安装软件的通知xxxx

有人知道这是否可能吗?

目前我的实验室正在 Ubuntu 中运行

答案1

在具有非奇异配置的现代发行版中,这种情况已经发生,请参阅输出journalctl -xe

您可以使用类似下面的命令来解析它,以获得更容易阅读的内容:

journalctl -e | perl -ne 'print "\"$1\" ran \"$2\" with sudo\n"  if(/.*sudo.*?\:\s*(\S+).*COMMAND=(.*)/);'

答案2

有几种方法可以做到这一点。

sudo默认记录身份验证事件;您可以journalctl在基于 systemd 的系统上看到这些。可以将其配置为将日志发送到可以分析日志的远程系统。

sudo还支持自己的远程日志记录协议,描述于man sudo_logsrv.proto。这需要一个支持该协议的服务器进程;sudo提供一sudo_logsrvd,但您可以编写一个更具体的实现来满足您的确切通知要求。一旦服务器可用,您可以通过将其添加到insudo来指示向其发送信息log_serverssudoers

在这两种情况下,sudo可以记录的不仅仅是身份验证事件;它甚至可以记录完整的用户会话。

相关内容