Linux安全审计管理工具audit命令详解

在Linux系统中,audit安全审计管理工具可以用来记录用户的操作行为,并写入文件。

Audit与syslog的区别在于:audit用来记录内核日志,包括文件读写、权限修改等安全信息,用于对系统安全事件的追溯,而syslog属于应用层,只能用来记录系统中如硬件警报和软件日志等少量信息。

安装并查看audit的状态

Audit有两个配置文件:一个是守护程序的配置文件,默认是/etc/audit/auditd.conf ,另一个是记录审计规则的文件,默认是/etc/audit/audit.rules

相关命令及说明

Linux用户空间审计系统由auditd、audispd、auditctl、autrace、ausearch和aureport等应用程序组成。

命令 说明
auditd 守护进程。用户空间审计系统通过auditd接收内核审计系统传送来的审计信息,并写入到文件/var/log/audit/audit.log
auditctl 即时控制审计守护进程的行为,如:添加、修改规则等, 并将规则保存在文件/etc/audit/audit.rule
ausearch 查找审计事件
aureport 查看和生成审计报告
auditspd 转发事件通知给其他应用程序,而不是写入到审计日志文件
autrace 跟踪一个进程,并将跟踪的结果写入日志文件,类似于strace

auditctl配置审计规则

auditctl语法格式

参数 说明
filter user,exit,task,exclude 指定匹配的内核规则
action always, never 是否审核事件
syscall all, 2, open ... 系统调用值参照/usr/include/asm/unistd_64.h
condition euid=0, arch=b64 指明与特定架构、组ID、进程ID和其他内容为基础的事件进行匹配
label 任意文字 标记审核事件并检索日志

Audit审计规则包含控制规则、系统调用规则和文件系统规则三个部分。

auditctl控制规则

/etc/audit/audit.rules中设置控制规则,用于更改审计系统本身的配置和设置。

参数 说明
-b 8192 在内核中设定已存在的审核缓冲区大小不超过8Mb
-D 删除所有当前装载的审核规则
-e 2 锁定审核配置

auditctl系统调用规则

监视由任何进程或特定用户进行的系统调用。

参数 说明
-a 添加一条规则
-D 清空所有规则
-d 删除一条规则
-l 列出所有规则
-S 显示需要监测的系统调用的名称
-W 删除一条规则,和-w对应
-w 写入文件或者目录

auditctl文件系统规则

审核对特定文件或目录的任何类型的访问。

参数 说明
-w [path] 指定要监控的文件或目录的路径
-p [rwxa] 指定触发审计的路径的操作方法
-k [value] 配置规则的关键字

auditctl文件系统规则配置举例

ausearch查看审计日志

通过ausearch命令过滤和搜索事件类型。

aureport查看审计报告

通过aureport命令生成审计报表。

参数 说明
-a 报告关于访问向量缓冲(Access Vector Cache)的消息
-c 报告关于配置修改的消息
-cr 报告关于crypto事件的消息
-e 报告关于事件的消息
-f 报告关于文件的消息
-h 报告关于主机的消息
-l 报告关于登录的消息
-m 报告关于账户修改的消息
-ma 报告关于Mandatory Access Control(MAC)事件的消息
-p 报告关于进程的消息
-s 报告关于系统调用的消息
-tm 报告关于终端的消息

原创文章禁止转载:技术学堂 » Linux安全审计管理工具audit命令详解

精彩评论

4+7=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏