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

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

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

安装并查看audit的状态

# 安装audit
yum -y install audit
# 安装audit插件(可选)
yum -y install audispd-plugins
# 查看进程状态
systemctl status auditd
# 查看服务状态
auditd -s
# 强制日志文件循环(把审计记录从进程中隔离开)
service auditd rotate

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语法格式

auditctl [选项] filter,action -S syscall -F condition -k label
参数 说明
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文件系统规则

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

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

auditctl文件系统规则配置举例

# 配置一条特定规则
auditctl -a always,exit -F arch=b64 -F auid=10001 -S open -k userfile
# 配置一条文件规则
auditctl -w /etc/passwd -p rwxa
# 配置一条目录规则
auditctl -w /directory
# 配置一个特定规则
auditctl -w /etc/passwd -p rwa -k change_passwd

ausearch查看审计日志

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

# 基本查询
ausearch -f [文件或目录名称]
# 查寻所有账户、群组、角色变更的审计日志
ausearch -m ADD _USER -m DEL_USER -m ADD _GROUP -m USER _CHAUT HTOK -m D EL_GROUP -m CHGRP_ID -m ROLE_ASSIGN -m ROLE_REMOVE -i
# 查询指定时间内失败的系统调用的审计日志
ausearch --start 10/20/2021 --end 10/25/2021 no w -m SYSCALL -sv no –i
# 查询系统登录失败的审计日志
ausearch --messag e USER _LO G IN --success no --i nterpret

aureport查看审计报告

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

参数 说明
-a 报告关于访问向量缓冲(Access Vector Cache)的消息
-c 报告关于配置修改的消息
-cr 报告关于crypto事件的消息
-e 报告关于事件的消息
-f 报告关于文件的消息
-h 报告关于主机的消息
-l 报告关于登录的消息
-m 报告关于账户修改的消息
-ma 报告关于Mandatory Access Control(MAC)事件的消息
-p 报告关于进程的消息
-s 报告关于系统调用的消息
-tm 报告关于终端的消息
# 生成汇总报表
aureport
# 生成授权失败的报表
aureport -au
# 生成指定时间段内的报表
aureport -ts 9:00-te 18:00 -f –i
# 生成系统调用事件报表
aureport -s -i --summary

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

精彩评论

8+6=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏