这项整改解决什么
日志留存不足通常不是没开日志,而是轮转策略把旧记录覆盖了。logrotate 通过「轮转周期 × 保留份数」决定实际留存天数:按周轮转保留 30 份约等于 210 天,按天轮转保留 30 份只有 30 天。所以整改的第一件事是算清这两个参数的乘积,第二件事是确认磁盘放得下,第三件事是用集中存储做双保险。
logrotate 配置示例
logrotate 配置示例
# /etc/logrotate.d/secure
/var/log/secure {
weekly
rotate 30
compress
delaycompress
missingok
notifempty
create 0600 root root
}
# 日志量大的系统建议加 maxsize,避免单文件无限制增长
# maxsize 200M校验与执行
校验与执行
# 语法与行为演练(不实际轮转)
logrotate -d /etc/logrotate.d/secure
# 强制轮转一次,确认新文件与压缩文件都正常
logrotate -f /etc/logrotate.d/secure
# 查看轮转结果与文件权限
ls -l /var/log/secure* | head
# 按天轮转的系统可改用 daily + rotate 180基本信息
| 适用平台 | Linux(logrotate 为各发行版标配) |
|---|---|
| 配置路径 | /etc/logrotate.conf 与 /etc/logrotate.d/ 下的片段 |
| 留存计算 | 轮转周期 × 保留份数;按周 30 份约 210 天 |
| 权限要求 | root |
| 磁盘核算 | 日均写入量乘以留存天数,再留增长余量 |
配套要做的三件事
- 容量估算:按每日写入量推算留存期所需空间,避免整改后写满磁盘
- 集中转发:本机轮转加集中平台留存,形成双保险,本机只做短期缓冲
- 验证方法:用日志检索命令抽查三十天前的记录仍可命中
- 权限收紧:日志文件仅审计相关账号可读,普通运维不可删改
- 告警兜底:磁盘水位与转发链路状态都要有告警
典型使用场景
- 测评整改:审计记录保护与留存条款的常规落地动作
- 合规留存:满足相关法规对网络日志不少于六个月的要求
- 故障排查:保留足够长的历史,便于回溯偶发问题
- 安全事件溯源:日志期覆盖事件发生前的观察窗口
delaycompress 会让最近一份轮转文件保持未压缩状态,方便排查问题时直接阅读;缺点是占用稍多空间,按需取舍。
不同日志目录的轮转策略要分别核对:只改了安全日志,应用日志仍按天轮转保留数份,整体留存依然不达标。