
OS: CentOS7
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 *
これらのログがどのようにして syslog に送信され、このソケットが何/どのように作成されるのかご存知ですかaudit:systemd
?
journald
最も重要なのは、監査イベントの収集を停止する方法です。