安装audit
yum install audit
# 查看audit版本
[root@localhost ~]# rpm -qa | grep audit
python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64
audit-3.0-0.17.20191104git1c2f876.el8.x86_64
audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64
启停相关命令
# 查看状态
systemctl status auditd
# 启动
systemctl start auditd
# 停止
systemctl stop auditd
# 重启
systemctl restart auditd
# 查看自启状态
systemctl is-enabled auditd
相关配置文件
# audit配置文件
/etc/audit/auditd.conf
# audit日志文件
/var/log/audit/audit.log
常用命令
# 查看规则
auditctl -l
# 删除所有规则
auditctl -D
# 查看审计统计信息
auditctl -s
# 查询特定事件
ausearch -k "virus_trace"
# 验证配置
augenrules --check
监控指定目录示例1
# 监控 /var/tmp 目录的写入和属性修改事件
auditctl -w /var/tmp -p wa -k virus_trace
参数解释:
-w /var/tmp:监控目标路径。
-p wa:监控事件类型(w=写入,a=属性变更)。
-k virus_trace:自定义日志关键词(用于检索)。
# 根据关键词过滤日志
ausearch -k virus_trace | aureport -f -i
# 删除指定规则(注意-W是大写,小写时是添加监控)
auditctl -W /var/tmp -p wa -k virus_trace
监控指定目录示例2:指定文件名
# 监控指定目录指定文件的创建事件
auditctl -a always,exit -F arch=b64 -S openat -F path=/etc/cron.hourly/0 -k file_0_monitor
参数解释:
-a always,exit:始终监控并退出时记录事件
-F arch=b64:针对64位架构(根据系统情况调整)
-S unlinkat:监控文件删除事件(unlinkat系统调用)
-S openat:监控文件创建事件(openat系统调用并带有O_CREAT标志)
-F path=...:指定文件绝对路径
-k file_0_monitor:定义日志事件的关键词,便于后续检索
# 根据关键词过滤日志
ausearch -k file_0_monitor
# 精确匹配删除:使用 -d 参数并保持与添加规则完全一致的参数
auditctl -d always,exit -F arch=b64 -S openat -F path=/etc/cron.hourly/0 -k file_0_monitor
# 通过关键字删除:若明确知道该规则使用的唯一关键字(-k),可批量删除所有相关规则
auditctl -D -k file_0_monitor
其他命令
# 查找隐藏进程
ls -al /proc/*/exe 2>/dev/null | grep -E 'tmp|shm'
# 杀除所有关联进程(未执行)
pkill -f "xmrig\|system\|emqx\|file[A-Za-z0-9]\{10\}"
ps -ef | grep "file[A-Za-z0-9]\{10\}"
查看系统架构
uname -m
输出结果解析:
- x86_64: 表示 64 位 Intel/AMD 架构(即 arch=b64)。
- aarch64: 表示 64 位 ARM 架构(如树莓派 4、云服务器等)。
- i686、i386: 表示 32 位 Intel/AMD 架构(即 arch=b32)