在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命令详解