操作系统: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
,但是我无法澄清这一点。
Journald
netlink 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
收集审计事件?