Linux审计组件:auditd

一、简介

auditd(Linux Audit Daemon)是 Linux 内核审计框架的用户态守护进程,用于监控系统安全相关事件(如文件访问、进程执行、权限变更、系统调用等),并生成标准化审计日志,适用于安全审计、合规检查、故障排查(尤其是权限 / 访问类问题)。

二、auditd核心组件

2.1 auditd 守护进程

负责收集 和存储审计事件。

2.2 auditctl 工具

用于配置审计规则,控制审计系统的命令工具。

2.3 ausearch 工具

用于查询审计日志的命令工具

2.4 aureport 工具

用于生成审计日志的汇总报告。

三、auditd核心配置文件

修改参数后需要重启服务:sudo systemctl restart auditd

/etc/audit/auditd.conf 部分参数介绍:

复制代码
# 基础日志配置
log_file = /var/log/audit/audit.log       # 主日志路径
log_format = RAW                          # 原始格式
log_group = root                          # 日志所属组

# 日志轮转配置
max_log_file = 100                        # 单文件最大 100MB
max_log_file_action = rotate              # 达到阈值后轮转
num_logs = 5                              # 保留 5 个轮转日志

# 磁盘空间告警
space_left = 500                          # 剩余 500MB 触发告警
space_left_action = SYSLOG                # 记录系统日志
admin_space_left = 100                    # 剩余 100MB 触发紧急操作
admin_space_left_action = SUSPEND         # 暂停接收和记录内核审计事件
disk_full_action = SUSPEND                # 暂停接收和记录内核审计事件
disk_error_action = SUSPEND               # 暂停接收和记录内核审计事件

# 邮件配置
action_mail_acct = audit-alert@company.com  # 告警邮箱

# 性能配置
flush = incremental                       # 增量刷盘
freq = 20                                 # 每 20 条事件刷盘
priority_boost = 4                        # 进程优先级
disp_qos = lossy                          # 队列满时丢弃事件(性能优先)

# 高级配置
name_format = fqd                         # 记录 FQDN 主机名
tcp_listen_port = 0                       # 禁用 TCP 监听
enable_krb5 = no                          # 禁用 Kerberos

四、auditctl 命令介绍

4.1 基本语法

auditctl 选项 规则

4.2 常用选项

选项 说明
-l 列出当前所有审计规则
-s 查看审计系统核心状态
-D 清除所有审计规则(永久规则重启后会重新加载)
-R <file> 从指定文件加载规则
-v 查看auditctl版本
-w <path> 监控指定文件/目录
-p <key> 配合-w,指定监控的操作权限(rwx)
-k <key> 为规则打标签,便于后续使用ausearch -k <key>搜索日志
-a <list, action> 动作和列表
-F 过滤条件,缩小监控范围
-S <syscall> 配合-a/-A,指定要监控的系统调用(支持多个/通配符)

示例:

复制代码
# 监控 /a/b/c/d文件的读写和属性更改,并添加日志标签file_action

auditctl -w /a/b/c/d -p rwxa -k file_action

# 监控/home/user/dir/目录下文件删除操作,并添加日志标签delete_action

auditctl  -a always,exit -F arch=b64 -S rmdir,unlink,unlinkat -F dir=/home/user/dir/ -F key=delete_action

**注意:**使用auditctl创建的规则属于临时规则,重启后规则丢失,若希望创建永久规则,需将规则写入/etc/audit/rules.d/audit.rules

五、审计分析

5.1 ausearch 命令

基本语法: ausearch options

常用选项:

选项 含义
-k <key> 按规则标签检索日志
-c <com> 按进程名检索日志
-ua <uid> 按用户id进行检索
-p <pid> 按进程id进行检索
-m <message type> 按事件类似进行检索
-f <file name> 按文件名进行检索
-ts <start date>/<start time> 按开始时间进行检索
-te <end date>/<end time> 按结束时间进行检索

5.2 aureport 命令

**基本语法:**aureport options

常用选项:

选项 含义
-l 生成用户登录报告
-f 生成文件访问报告
-k 生成指定关键字报告
-e 生成事件报告
相关推荐
NailiConveyor5 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
Lsetea5 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若1235 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
开开心心就好5 小时前
音频降噪剪辑工具,音量裁剪一键处理
运维·服务器·前端·spring·ocr·音视频·1024程序员节
一枕槐安4875 小时前
大模型限流、重试、超时处理:API 调用健壮性方案
linux·服务器·php·大模型api·指数退避·限流控制·超时预算
西索斯coding5 小时前
gpt-image-2.5-sunburst 和 gemini-3.1-flash-image 差多少?60 组项目素材的成功成本评测框架
java·linux·gpt·ai
箓维5 小时前
应用层协议基础_序列化与反序列化
linux
李纲明6 小时前
WordPress 白屏或提示「出现了严重错误」:先开 WP_DEBUG 抓致命错误,再二分插件与主题
运维·php·debug·wordpress·白屏·插件冲突·devdiy
wuminyu6 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
十年磨一剑~7 小时前
Linux 内核中断处理机制与软硬件协同流程
linux·嵌入式硬件