Auditctl-过滤 cron 消息

Auditctl-过滤 cron 消息

我使用 auditctl 并获取了大量 crond 日志事件。我不希望记录任何 cron/crond 事件。

node=127.0.0.1 type=CRED_DISP msg=audit(1405678801.149:5571): user pid=1757 uid=0 auid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: setcred acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
node=127.0.0.1 type=USER_END msg=audit(1405678801.150:5572): user pid=1757 uid=0 auid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: session close acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
node=127.0.0.1 type=USER_ACCT msg=audit(1405678921.158:5573): user pid=2017 uid=0 auid=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: accounting acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
node=127.0.0.1 type=CRED_ACQ msg=audit(1405678921.158:5574): user pid=2017 uid=0 auid=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: setcred acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
node=127.0.0.1 type=LOGIN msg=audit(1405678921.159:5575): login pid=2017 uid=0 old auid=4294967295 new auid=0 old ses=4294967295 new ses=102
node=127.0.0.1 type=USER_START msg=audit(1405678921.167:5576): user pid=2017 uid=0 auid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: session open acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'

在我的audit.rules我有:

 -a exit,never -F path=/usr/sbin/crond

但似乎它记录了 root 的登录事件,然后执行了 cron。我无法全局过滤掉等USER_STARTUSER_ACCT因为我需要这些供其他用户使用。

更新:

我相信http://linux.die.net/man/8/auditctl主题部分:

subj=system_u:system_r:crond_t:s0-s0:c0.c1023 

涉及选项:

subj_user
    Program's SE Linux User
subj_role
    Program's SE Linux Role
subj_type
    Program's SE Linux Type
subj_sen
    Program's SE Linux Sensitivity
subj_clr
    Program's SE Linux Clearance

添加:

-a exit,never -F subj_role=crond

或者

-a exit,never -F subj_role=crond_

没有工作,cron仍然出现。

答案1

我相信是的 auditctl -a never,user -F subj_type=crond_t

除了 'type=LOGIN' 之外,其他都有效

然后: auditctl always,exclude -F msgtype=LOGIN -F subj_type=crond_t

一切就绪

答案2

根据这个帖子,不幸的是,似乎没有办法在不使用 SElinux 的情况下过滤掉大量与 cron 相关的审计。

非常令人沮丧。

答案3

如果你将这两者都放在文件中/etc/audit/rules.d/*.rules,最好放在文件顶部的某个地方:

-a never,user -F subj_type=crond_t
-a exit,never -F subj_type=crond_t

相关内容