在 CentOS/RHEL 中记录重启命令执行的审计规则

auditd 是 Linux 审计系统的用户空间组件。
它负责将审计记录写入磁盘。
查看日志是使用 ausearch 或者 aureport 实用程序完成的。
审计规则的配置是通过 auditctl 实用程序完成的。
在启动过程中,auditctl 会读取 /etc/audit/rules.d/audit.rules(对于 CentOS/RHEL 7)中的规则。
审计守护进程本身有一些管理员可能希望自定义的配置选项。
它们位于 auditd.conf 文件中。

该帖子提供了一个示例审计规则来捕获用于重新启动/关闭 linux 服务器的用户凭据和命令,并且可以根据需要修改此规则。

添加审计规则的主要配置文件是“/etc/audit/audit.rules”,同样需要使用所需的规则进行更新。

注意:在 CentOS/RHEL 7 上,配置文件是 /etc/audit/rules.d/audit.rules 而不是 /etc/audit/audit.rules。

审计配置

以下是基于 CentOS/RHEL 6 的示例,但 CentOS/RHEL 7 的步骤也相同。

  1. 备份现有配置。
# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp
  1. 编辑文件 /etc/audit/audit.rules 并添加以下规则以使其持久化。
# vi /etc/audit/audit.rules
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k reboot    [ -k Filter key ]
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdow -k reboot
  1. 重启auditd服务使修改生效。
# service auditd restart
  1. 列出添加的规则,
# auditctl -l
LIST_RULES: exit,always arch=3221225534 (0xc000003e) watch=/sbin/reboot key=reboot syscall=execve
LIST_RULES: exit,always arch=3221225534 (0xc000003e) watch=/sbin/init key=reboot syscall=execve
LIST_RULES: exit,always arch=3221225534 (0xc000003e) watch=/sbin/poweroff key=reboot syscall=execve
LIST_RULES: exit,always arch=3221225534 (0xc000003e) watch=/sbin/shutdow key=reboot syscall=execve
on  It Road.com

检查确认

要从审核日志中过滤重启事件,必须指定过滤关键字。

# ausearch -k reboot
time->Mon Jan 4 11:48:20 2016
type=PATH msg=audit(1451926100.004:17): item=1 name=(null) inode=1368522 dev=fc:00 mode=0100755 ouid=0 ogid=0 rdev=00:00
type=PATH msg=audit(1451926100.004:17): item=0 name="/sbin/init" inode=1792404 dev=fc:00 mode=0100755 ouid=0 ogid=0 rdev=00:00
type=CWD msg=audit(1451926100.004:17): cwd="/root"
type=EXECVE msg=audit(1451926100.004:17): argc=2 a0="init" a1="6"  
type=SYSCALL msg=audit(1451926100.004:17): arch=c000003e syscall=59 success=yes exit=0 a0=12706f0 a1=1271190 a2=1268ec0 a3=8 items=2 ppid=2830 pid=2879 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=1 comm="init" exe="/sbin/init" key="reboot

其中:
uid 表示用户 ID。
gid 代表组id
exe="/sbin/init" 命令执行

日期:2020-09-17 00:12:56 来源:oir作者:oir