![更改后,puppet 现在以“ubuntu”用户身份运行,并且 auditd 出现问题](https://linux22.com/image/678627/%E6%9B%B4%E6%94%B9%E5%90%8E%EF%BC%8Cpuppet%20%E7%8E%B0%E5%9C%A8%E4%BB%A5%E2%80%9Cubuntu%E2%80%9D%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%B9%B6%E4%B8%94%20auditd%20%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
这是一个非常奇怪的问题,我甚至不知道如何用谷歌搜索它,所以我在这里发帖看看是否有人遇到过这种情况。
我在 AWS EC2 中运行多个 Ubuntu 14.04 系统。
我们有几个专用于不同目的的 VPC——prod/qa/dev/etc
我正在运行 puppet,有一个 puppetmaster。非常标准。只不过我们最初只有一个 puppetmaster,负责处理所有 VPC 中所有节点的配置。
我最近将 puppetmaster 迁移到单独的 puppetmaster(每个 VPC)。但配置(即 puppet 清单、模块等)是逐字复制的。因此,所有主机仍应从 puppet 获取相同的节点定义。这可能会随着时间的推移而发生变化,但在截止点,puppetmaster 的配置完全相同。
我正在对所有这些帐户运行 auditd,每当一个 sudo 转到另一个帐户时,规则都会通过“审计”用户 ID——“auid”。auditd 规则设置为“不可变”——它们需要重新启动才能更改正在运行的规则。
例子:
$my-laptop# ssh [email protected] # "fred"'s uid is 9999 in this example
web.example.com# sudo su -
web.example.com$ grep config_item /etc/ -r
此类事件将在 audit.log 中显示为类似以下内容
type=SYSCALL msg=audit(1457613844.394:1234567): arch=c000003e \
syscall=59 success=yes exit=0 ppid=1234 pid=5678 auid=9999 \
uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 \
tty=(none) ses=51 comm="expr" exe="/bin/grep" key="sudo-command"
(为了更易于阅读,我将这个单行日志条目分成多行)
无论如何,EC2 Ubuntu 14.04 AMI 上的 Ubuntu 默认用户是“ubuntu”,UID 为 1000。我看到大量带有“auid=1000”的消息。
导致此问题的变化是,我将 puppetmaster 从一个 VPC 迁移到另一个 VPC,并隔离 puppet 代理以仅与其 VPC 中的 puppetmaster 对话。
重新启动似乎可以解决这个问题。
是否存在某些竞争条件或其他情况导致 auditd 看到错误的 auid?
某事、任何事、任何想法或念头。我糊涂了。
与此同时,我正在重新启动一切。
答案1
也许 AWS EC2 通过这个“ubuntu”用户进行一些底层管理活动。
首先调查 auid=1000(又名 ubuntu)用户正在执行哪些命令。根据需要打开 execve 系统调用监控一段时间以获取更多信息,如下所示
-a exit,always -F arch=b64 -S execve -k cmds