我使用 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_START
,USER_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