CentOS8.x使用audit实战

安装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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容