停止在系统日志中记录内核审计消息而不禁用审计

停止在系统日志中记录内核审计消息而不禁用审计

操作系统:CentOS 7

我正在尝试弄清楚审计(kaudit)事件是如何记录的/var/log/messages

我在 grub 中启用了此功能audit=1,这意味着当服务器启动时,内核审计已启用。这是特定系统所需的状态,禁用审计是不可能的。我的audit配置如下

  #  auditctl -s
enabled 1
failure 1
pid 0
rate_limit 0
backlog_limit 64
lost 7452643
backlog 0
loginuid_immutable 0 unlocked 

Auditd另一边被禁用/停止了,因为我正在使用另一个工具来收集/使用内核审计生成的那些事件。

我的问题是我注意到这些审计事件已记录/var/log/messages

2021-11-25T00:35:09.490607-08:00 myserver.local kernel: [4272426.343673] audit: type=1110 audit(1637829309.455:7426414): pid=2361 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=pam_env,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=? res=success

我试图弄清楚这些消息是如何结束的/var/log/messages,我唯一确定的是 syslog 会这样做。

实际上,我正在尝试追踪审计事件的最终结果rsyslog,但到目前为止我还没有成功。我有一个假设,即journald获取这些审计事件,然后将其转发给rsyslog,但是我无法澄清这一点。

Journaldnetlink socket可以与内核建立一个以获取审计事件,但是我没有在 systemd 中看到这样的套接字。

 #  systemctl list-units --type=socket
UNIT                         LOAD   ACTIVE SUB       DESCRIPTION
dbus.socket                  loaded active running   D-Bus System Message Bus Socket
dm-event.socket              loaded active listening Device-mapper event daemon FIFOs
iscsid.socket                loaded active running   Open-iSCSI iscsid Socket
iscsiuio.socket              loaded active listening Open-iSCSI iscsiuio Socket
lvm2-lvmetad.socket          loaded active listening LVM2 metadata daemon socket
lvm2-lvmpolld.socket         loaded active listening LVM2 poll daemon socket
nscd.socket                  loaded active running   Name Service Cache Daemon Socket
rpcbind.socket               loaded active running   RPCbind Server Activation Socket
systemd-initctl.socket       loaded active listening /dev/initctl Compatibility Named Pipe
systemd-journald.socket      loaded active running   Journal Socket
systemd-shutdownd.socket     loaded active listening Delayed Shutdown Socket
systemd-udevd-control.socket loaded active running   udev Control Socket
systemd-udevd-kernel.socket  loaded active running   udev Kernel Socket


#  systemctl status systemd-journald-audit.socket
Unit systemd-journald-audit.socket could not be found.  

现在奇怪的是,如果我netlink在系统中列出套接字,我可以看到一个与audit和相关的套接字systemd

#   ss -a -f netlink|grep audit
UNCONN 0      0              audit:systemd/1                        *
UNCONN 0      0              audit:sudo/3144                        *
UNCONN 0      0              audit:kernel                           *
UNCONN 0      0              audit:sudo/14889                       *

知道这些日志最终是如何进入系统日志的吗?以及这个audit:systemd套接字是如何创建的?

最重要的是,如何停止journald收集审计事件?

相关内容