Auditd-不记录来自 salt-minion 的事件

Auditd-不记录来自 salt-minion 的事件

我正在更新我们的 Auditd 规则 (Red Hat Linux),以记录所有用户的所有 tty/交互式命令。这部分工作正常。

我现在想做的是排除 salt-master 发出的、在我们的 salt-minions 之一上执行的命令。这些事件已记录在 salt-master 服务器上的审计日志中,因此无需在 minions 上重复执行。

我尝试查看通过执行简单的盐命令生成的事件并寻找可以过滤的特定内容,但我没有看到它。

下面是当我在 salt 服务器上运行此命令时在我的实验室中的一个 minions 上记录的内容的示例...

salt 'saltminion18*' cmd.run "ls -al /root/"

以下是在 minion 上记录的内容...

type=SYSCALL msg=audit(1679427008.316:874): arch=c000003e syscall=59 success=yes exit=0 a0=7fbe9c36d7f0 a1=7fbe905a48d0 a2=7fbe905d3930 a3=18 items=2 ppid=1530 pid=1531 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="sh" exe="/usr/bin/bash" subj=system_u:system_r:unconfined_service_t:s0 key="root-commands"ARCH=x86_64 SYSCALL=execve AUID="unset" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root"
type=EXECVE msg=audit(1679427008.316:874): argc=3 a0="/bin/sh" a1="-c" a2=6C73202D616C202F726F6F742F
type=CWD msg=audit(1679427008.316:874): cwd="/root"
type=PATH msg=audit(1679427008.316:874): item=0 name="/bin/sh" inode=3063 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shell_exec_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root"
type=PATH msg=audit(1679427008.316:874): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=67120844 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root"
type=PROCTITLE msg=audit(1679427008.316:874): proctitle=2F62696E2F7368002D63006C73202D616C202F726F6F742F
type=SYSCALL msg=audit(1679427008.320:875): arch=c000003e syscall=59 success=yes exit=0 a0=55842804af60 a1=55842804b520 a2=558428043e10 a3=0 items=2 ppid=1530 pid=1531 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="ls" exe="/usr/bin/ls" subj=system_u:system_r:unconfined_service_t:s0 key="root-commands"ARCH=x86_64 SYSCALL=execve AUID="unset" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root"
type=EXECVE msg=audit(1679427008.320:875): argc=3 a0="ls" a1="-al" a2="/root/"
type=CWD msg=audit(1679427008.320:875): cwd="/root"
type=PATH msg=audit(1679427008.320:875): item=0 name="/usr/bin/ls" inode=432080 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:bin_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root"
type=PATH msg=audit(1679427008.320:875): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=67120844 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root"
type=PROCTITLE msg=audit(1679427008.320:875): proctitle=2F62696E2F7368002D63006C73202D616C202F726F6F742F

关于如何从 salt 中排除这些赞扬/事件,有什么建议吗?

答案1

找到了我自己的问题的答案。由于我们当然希望记录交互式命令,并且在这种情况下,我还特别希望确保记录 root 命令(以及任何使用提升权限的用户),因此这是我的解决方案。

我将以下部分添加到我的审计规则文件中。

## Log all execv by effective uid 0 or root PCI 10.2.2, ignoring uid of "unset".
-a exit,always -F arch=b64 -F euid=0 -F auid!=unset -S execve -k root-commands
-a exit,always -F arch=b32 -F euid=0 -F auid!=unset -S execve -k root-commands

这样就可以记录所有 root 命令。由于 salt-master 使用“unset”的 auid 向 minions 发送命令,因此这也很好地过滤掉了它们。

相关内容