on it road.com
检查确认
日志文件 /var/log/audit/audit.log 记录所有与 auditd 相关的日志消息。
我们可以检查此日志文件以查看 shadow 和 passwd 文件是否被某人更改。
这个文件可能很长,系统可以在这个文件中生成很多日志。
为了过滤出我们感兴趣的规则,我们可以使用“ausearch”命令和我们在定义规则时指定的键。
例如:
# ausearch -k shadow --- time->Sat Jun 16 06:23:07 2018 type=PROCTITLE msg=audit(1529130187.897:595): proctitle=7061737377640074657374 type=PATH msg=audit(1529130187.897:595): item=4 name="/etc/shadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=PATH msg=audit(1529130187.897:595): item=3 name="/etc/shadow" inode=636309 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
同样,对于 /etc/passwd 文件,我们可以使用以下方法过滤日志:
# ausearch -k passwd time->Sat Jun 16 06:22:56 2018 type=PROCTITLE msg=audit(1529130176.633:589): proctitle=757365726164640074657374 type=PATH msg=audit(1529130176.633:589): item=4 name="/etc/passwd" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0 type=PATH msg=audit(1529130176.633:589): item=3 name="/etc/passwd" inode=636309 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
系统审计是一项非常重要的任务,应该成为每台服务器的一部分。
它使我们能够审计与系统内发生的事情相关的微小细节。
大多数系统管理员可能都知道基本的审计功能,例如查看 /var/log/secure 文件以进行登录尝试,但是当涉及到低级审计时,这就是需要完成的工作。
系统审计有帮助的一些情况是:
- 监视文件访问:我们希望得到一份关于服务器中的哪些文件或者目录已被访问或者修改以及在什么时间和由哪个用户访问的报告。如果我们想检测对服务器中重要文件的访问或者想找出谁做了影响生产环境的更改,这是一个重要的方面。
- 监控系统调用:我们在后面输入的每个命令都会对内核进行系统调用。
监控 /etc/shadow 和 /etc/passwd 的变化
- 要监控文件/etc/shadow 和/etc/passwd,将以下2 条规则添加到auditd 规则文件/etc/audit/rules.d/audit.rule。
# vi /etc/audit/rules.d/audit.rule -w /etc/shadow -p wa -k shadow -w /etc/passwd -p wa -k passwd
上面的命令代表以下内容:
-w path-to-file -p permissions -k keyname
其中permissions是以下任何一种:
r 读取文件
w 写入文件
x 执行文件
文件属性的更改(所有权/权限)
- 定义好以上2条规则后重启auditd服务。
# service auditd restart
注意:不要使用“systemctl”命令来管理 CentOS/RHEL 中的服务 auditd。
而是使用旧的“服务”命令。
此限制的原因是审计守护程序必须记录对审计跟踪的任何更改,包括启动和停止审计守护程序本身。
Systemctl 使用 dbus 与系统对话,该系统隐藏了执行命令的人,看起来像是 root 执行的。
- 使用“auditctl -l”命令验证我们设置的规则。
# auditctl -l -w /etc/shadow -p wa -k shadow -w /etc/passwd -p wa -k passwd
日期:2020-09-17 00:13:43 来源:oir作者:oir