
운영체제: CentOS 7
kaudit
audit( ) 이벤트가 어떻게 로그인되는지 알아내려고 합니다 /var/log/messages
.
audit=1
서버가 부팅될 때 커널 감사가 활성화된다는 의미인 grub을 활성화했습니다 . 이는 특정 시스템에 대해 원하는 상태이며 감사를 비활성화하는 것은 방정식에서 벗어납니다. 내 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 *
이러한 로그가 어떻게 syslog로 끝나고 이 audit:systemd
소켓이 무엇/어떻게 생성되는지 아시나요?
journald
가장 중요한 것은 감사 이벤트 수집을 중지하는 방법 입니다.