Auditctl – 过滤出cron消息

我使用auditctl并获取大量的日志事件的crond。 我不希望logging任何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 

但它似乎就像它logginglogin事件的根,然后执行cron。 我不能全局筛选USER_STARTUSER_ACCT等,因为我需要这些为其他用户。

更新:

我相信从http://linux.die.net/man/8/auditctl那个subj部分:

 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_ 

没有工作,crons仍然出现。

根据这篇文章 ,不幸的是,似乎没有办法过滤掉大量的与cron相关的审计,而不会搞乱SElinux。

非常令人沮丧。

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

它的工作原理除了'type = LOGIN'

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

你很好走