首页/安全/安全加固速查/审计日志容量与磁盘保护

审计日志容量与磁盘保护

auditd.conf 控制单文件大小、保留份数与磁盘压力动作:配不好要么证据被冲掉,要么磁盘写满拖垮业务。

安全加固速查安全更新于 2026-10-13

审计日志容量控制

auditd.conf 决定审计日志的单文件大小、轮转保留份数,以及磁盘压力达到阈值时采取什么动作。配置要同时满足两个目标:留存量足够长以便事后取证,又不至于把磁盘写满拖垮业务。容量配置必须与磁盘水位监控配套,否则要么证据被轮转冲掉,要么审计自己先把系统拖死。

基本信息

配置文件/etc/audit/auditd.conf
适用平台Linux(auditd)
风险等级中
关键日志/var/log/audit/audit.log
基线要求容量与磁盘动作配置合理,并有水位监控

典型使用场景

  • 等保或合规核查中确认审计留存期是否达标
  • 审计日志把分区写满导致业务异常后的整改
  • 规划日志服务器,把审计日志同时转发到远端
  • 调整轮转份数前核算磁盘余量
  • 排查取证时发现日志记录已缺失的问题

关键配置核查

关键配置核查
grep -E 'max_log_file|num_logs|max_log_file_action|space_left|disk_full_action' /etc/audit/auditd.conf   # 查看当前策略
# 参考值:max_log_file = 50(单文件 50MB)、num_logs = 10(保留 10 份)
# max_log_file_action = ROTATE、space_left = 200(剩余 200MB 告警)、disk_full_action = SUSPEND

容量核算

容量核算
du -sh /var/log/audit/        # 当前审计目录占用
df -h /var/log | tail -1      # 所在分区的剩余空间
awk -F= '/max_log_file|num_logs/ {gsub(/ /,"",$1); print $1,$2}' /etc/audit/auditd.conf   # 估算单文件大小与份数的乘积

配置项读法

配置项含义注意点
max_log_file单个日志文件上限,单位 MB太大轮转慢,太小频繁切换
num_logs保留的轮转份数决定留存量,调大前先看分区余量
max_log_file_action单文件写满时的动作ROTATE 轮转覆盖,KEEP_LOGS 不覆盖
space_left剩余空间告警阈值需配套监控采集与告警
disk_full_action磁盘写满时的动作SUSPEND 暂停审计,风险最高
disk_full_action 设为 SUSPEND 时磁盘写满会直接停止审计,这段时间发生的操作没有任何记录,必须有磁盘水位监控兜底。
留存量要覆盖监管要求的留存期;单机容量不足时正确做法是转发到远端日志服务器,而不是把轮转份数偷偷改小。
轮转生效后 /var/log/audit/ 下应出现 audit.log.1 这类历史文件;配合 ausearch 才能回溯到指定时间段的记录,历史文件缺失说明份数不足或轮转动作配置有误。

易错点

  • disk_full_action=SUSPEND 却没有配套磁盘水位监控,磁盘写满时审计静默停止,出现取证空白期
  • 调大 num_logs 前不算分区余量,轮转还没发生磁盘就先满,触发更严重的后果
  • 用改小轮转份数来掩盖留存期不足,等于主动放弃取证能力,应改为远端转发
  • 只看配置不看实际占用,du 与 df 显示的余量常与配置推算结果对不上

数据来源与参考

  • auditd.conf(5) man page
  • 等保 2.0 三级:日志留存不少于 6 个月

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌