Linux使用auditd监控文件删除
1. audit
Linux系统有一个叫 auditd 的审计工具。这个工具在大多数Linux操作系统中是默认安装的。基于 Linux2.6.11.12,提供了内核的审计机制。实现系统调用审计、过滤审计事件的机制。
2. 安装auditd
大多数情况下,发行版上已经安装了 auditd。如果没有,请使用 yum 安装它:
# yum install audit
确保服务在启动时启动并启动服务:
# systemctl enable auditd # systemctl start auditd
在 CentOS/RHEL 7 中,建议我们在重新启动 auditd 服务时使用“service”命令而不是 systemctl。
如果我们使用 systemctl 命令,我们可能会遇到以下错误:
# systemctl restart auditd Failed to restart auditd.service: Operation refused, unit auditd.service may be requested by dependency only (it is configured to refuse bananaal start/stop). See system logs and 'systemctl status auditd.service' for details.
3. 配置审计规则
3.1 配置规则
以监控/sys/fs/cgroup/cpu/gpdb/6438
和/sys/fs/cgroup/cpu/gpdb/1
两个目录删除事件为例:
# vi /etc/audit/rules.d/audit.rules -a always,exit -F dir=/sys/fs/cgroup/cpu/gpdb/6438 -S unlink -S unlinkat -S rename -S renameat -S rmdir -k delete_var_6438 -a always,exit -F dir=/sys/fs/cgroup/cpu/gpdb/1 -S unlink -S unlinkat -S rename -S renameat -S rmdir -k delete_var_1
上述规则监控这个两个目录的取消链接、重命名、删除等更改。
需要重启auditd服务才能生效:
# service auditd restart
使用命令auditctl -l
查看当前活动的auditd规则。
# auditctl -l -a always,exit -S rename,rmdir,unlink,unlinkat,renameat -F dir=/sys/fs/cgroup/cpu/gpdb/6438 -F key=delete_var_6438 -a always,exit -S rename,rmdir,unlink,unlinkat,renameat -F dir=/sys/fs/cgroup/cpu/gpdb/1 -F key=delete_var_1
3.2 检查审计日志
先执行删除命令,触发审计事件:
# rmdir /sys/fs/cgroup/cpu/gpdb/6438
查询删除目录审计日志:
# ausearch -k delete_var ---- time->Wed May 31 09:18:11 2023 type=PROCTITLE msg=audit(1685495891.375:19007): proctitle=726D646972002F7379732F66732F6367726F75702F6370752F677064622F36343338 type=PATH msg=audit(1685495891.375:19007): item=1 name="/sys/fs/cgroup/cpu/gpdb/6438" inode=95675 dev=00:19 mode=040700 ouid=1000 ogid=1000 rdev=00:00 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=PATH msg=audit(1685495891.375:19007): item=0 name="/sys/fs/cgroup/cpu/gpdb/" inode=15517 dev=00:19 mode=040755 ouid=1000 ogid=1000 rdev=00:00 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=CWD msg=audit(1685495891.375:19007): cwd="/root" type=SYSCALL msg=audit(1685495891.375:19007): arch=c000003e syscall=84 success=yes exit=0 a0=7fffcd234504 a1=2 a2=7ff0e2b34280 a3=7fffcd232860 items=2 ppid=18081 pid=25963 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=2424 comm="rmdir" exe="/usr/bin/rmdir" key="delete_var_6438" ---- time->Wed May 31 09:18:11 2023 type=CONFIG_CHANGE msg=audit(1685495891.375:19008): op=remove_rule dir="/sys/fs/cgroup/cpu/gpdb/6438" key="delete_var_6438" list=4 res=1
4.参考
打赏作者以资鼓励:
![]() | ![]() |