我在我的 Debian Jessie 机器上安装了auditd
和audispd-plugins
,没有触及任何配置。我看到事件被写入/var/log/audit/audit.log
,例如:
type=LOGIN msg=audit(1462384141.770:838): pid=3662 uid=0 old-auid=4294967295 auid=0 old-ses=4294967295 ses=21 res=1
type=USER_START msg=audit(1462384141.770:839): pid=3662 uid=0 auid=0 ses=21 msg='op=PAM:session_open acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=CRED_DISP msg=audit(1462384141.778:840): pid=3662 uid=0 auid=0 ses=21 msg='op=PAM:setcred acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=USER_END msg=audit(1462384141.778:841): pid=3662 uid=0 auid=0 ses=21 msg='op=PAM:session_close acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=USER_ACCT msg=audit(1462384201.780:842): pid=3761 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=CRED_ACQ msg=audit(1462384201.780:843): pid=3761 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=LOGIN msg=audit(1462384201.780:844): pid=3761 uid=0 old-auid=4294967295 auid=0 old-ses=4294967295 ses=22 res=1
type=USER_START msg=audit(1462384201.780:845): pid=3761 uid=0 auid=0 ses=22 msg='op=PAM:session_open acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=CRED_DISP msg=audit(1462384201.796:846): pid=3761 uid=0 auid=0 ses=22 msg='op=PAM:setcred acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
type=USER_END msg=audit(1462384201.800:847): pid=3761 uid=0 auid=0 ses=22 msg='op=PAM:session_close acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
但我不确定为什么我会在日志中看到任何内容,因为我没有定义规则:
$ auditctl -l
No rules
除了默认值之外,/etc/audit/audit.rules
我找不到任何规则:/etc/audit/rules.d
-D
-b 320
显然我遗漏了一些东西。默认情况下会记录什么?
答案1
这些事件来自向审计服务发送审计事件的其他功能(pam、openssh 等)。如果您不想要任何事件,请将 audit=0 添加到内核命令行参数。
如果你想知道哪些功能可能需要使用审计服务,请尝试以下方法
[burn@fc24 ~]$ rpm -q --whatrequires audit-libs
libsemanage-2.5-2.fc24.x86_64
shadow-utils-4.2.1-8.fc24.x86_64
pam-1.2.1-5.fc24.x86_64
util-linux-2.28-3.fc24.x86_64
openssh-7.2p2-9.fc24.x86_64
passwd-0.79-8.fc24.x86_64
gdm-3.20.1-3.fc24.x86_64
pam-1.2.1-5.fc24.i686
[burn@fc24 ~]$
答案2
默认情况下,auditd 会记录与安全相关的命令。这在配置文件中是看不到的,它是在 auditd 运行时默认发生的。您可以使用以下命令获取最近在系统上记录的命令的摘要:
sudo aureport -x --summary
我无法找到默认记录的所有命令的列表。我的 CentOS 7 系统默认记录这些命令(不是详尽的列表,只是日志中显示的内容):
/usr/sbin/crond
/usr/libexec/dovecot/auth
/usr/sbin/sshd
/usr/bin/sudo
/usr/sbin/xtables-multi
/usr/lib/systemd/systemd
/usr/bin/passwd
它还记录登录、注销和 SELinux 相关消息。
参考的两篇文章: