audit工具的作用
audit工具可以对文件使用进行监控,可以监控是哪个进程对文件进行读写执行和atrribute属性修改。在常规运维中有很多作用。
audit工具的安装和启动
Ubuntu使用apt-get audit。centos使用yum install audit
下面命令enable和启动、停止auditd
systemctl enable auditd
Systemctl start auditd
Service auditd restart //在centos7.x上当auditd启动以后,
//auditd配置拒绝使用systemctl stop、restart 。只能使用service命令
Service auditd stop
audit工具的使用
audit关键组件
- auditctl audit配置工具
- ausearch audit结果查找工具
- aureport report工具
- autrace 跟踪工具,对一个进程进行跟踪类似于strace
- auditd进程
- /etc/audit/rules.d/audit.rules auditd进程启动后会从此处读去配置
- /var/log/audit/audit.log audit详细日志都记录在此处
audit 常规使用方法
使用audit监控文件的读写访问
- auditctl工具添加规则
auditctl添加的规则每次audit服务重启后就消失了。
auditctl -l //查看当前生效的audit规则
Auditctl -w /home/zxy -p wxra // 参数-w对某个文件、目录进行监控,-p后面跟着是规则 w 写入 r 读 x 执行 a修改属性
auditctl -W /home/zxy //参数-W对某个文件、目录取消监控
auditctl 添加的规则也可以写入到/etc/audit/rules.d/audit.rules 文件最尾巴上,它可以保证每次audit服务重启后,规则还有效。
- ausearch 查找规则监控的结果
正常情况下audit启动后会出现大量的监控日志,可以使用ausearch 对日志进行过滤只显示感兴趣的项目
Ausearch -f zxy.txt //在日志中过滤出所有和zxy.txt相关的项目
- audit输出项说明
字段 | 用途 | 其他 |
---|---|---|
Time | 审计时间 | na |
name | 审计对象 | na |
cwd | 访问发起的当前路径 | na |
syscall | 发起访问的系统调用号 | 在linux系统的unistd.h中有记录系统调用号 |
ppid | 父进程id | na |
pid | 进程id | na |
uid | 访问文件的用户id | 0号表示root用户 |
gid | 访问文件的用户组id | 0号表示root用户组 |
com | 访问的用户命令 | na |
exe | 访问的用户命令的全路径 | na |