文章目录
auditctl 是 Linux 审计系统(Audit System)的命令行工具,用于配置和管理审计规则。审计系统用于记录系统事件和用户活动,以便进行安全审计和合规性检查。 auditctl 命令可以动态地添加、删除和查看审计规则。
基本语法
sh
auditctl [OPTIONS] [COMMAND]
常用参数和选项
添加规则
-a:添加规则。-a always,exit:添加一个始终记录的规则。-a never,exit:添加一个从不记录的规则。
删除规则
-d:删除规则。-d always,exit:删除一个始终记录的规则。-d never,exit:删除一个从不记录的规则。
查看规则
-l:列出当前的审计规则。
控制审计系统
-e:启用或禁用审计系统。-e 0:禁用审计系统。-e 1:启用审计系统。-e 2:启用审计系统,并且在内核中锁定配置,防止进一步的更改。
其他选项
-w:监视文件或目录。-w /path/to/file:监视指定的文件或目录。
-k:为规则添加一个键(key),用于标识和过滤审计记录。-k keyname:为规则添加一个键名。
使用示例
启用审计系统
sh
auditctl -e 1
禁用审计系统
sh
auditctl -e 0
添加文件监视规则
监视 /etc/passwd 文件的所有访问和修改操作:
sh
auditctl -w /etc/passwd -p rwxa -k passwd_changes
-w /etc/passwd:监视/etc/passwd文件。-p rwxa:监视读(r)、写(w)、执行(x)和属性更改(a)操作。-k passwd_changes:为规则添加键名passwd_changes。
删除文件监视规则
删除对 /etc/passwd 文件的监视规则:
sh
auditctl -W /etc/passwd
添加系统调用规则
监视所有对 /etc/shadow 文件的打开操作:
sh
auditctl -a always,exit -F path=/etc/shadow -F perm=wa -k shadow_changes
-a always,exit:添加一个始终记录的规则。-F path=/etc/shadow:指定监视的文件路径。-F perm=wa:监视写(w)和属性更改(a)操作。-k shadow_changes:为规则添加键名shadow_changes。
删除系统调用规则
删除对 /etc/shadow 文件的监视规则:
sh
auditctl -d always,exit -F path=/etc/shadow -F perm=wa -k shadow_changes
列出当前的审计规则
sh
auditctl -l
结合 ausearch 和 aureport
auditctl 配置的审计规则会生成审计日志,这些日志可以使用 ausearch 和 aureport 命令进行查询和报告。
查询审计日志
使用 ausearch 查询特定键名的审计记录:
sh
ausearch -k passwd_changes
生成审计报告
使用 aureport 生成审计报告:
sh
aureport -k
总结
auditctl 是一个强大的工具,用于配置和管理 Linux 审计系统的规则。通过使用 auditctl,可以监视文件和目录的访问、系统调用以及其他重要的系统事件。结合 ausearch 和 aureport,可以有效地查询和报告审计日志,帮助管理员进行安全审计和合规性检查。