/var/log 是 Linux 日志中枢,需严格管控权限(如 600)、启用 logrotate 并验证、配置 rsyslog 远程转发、定期巡检内容真实性与完整性。
/var/log 目录是 Linux 系统日志的“中枢仓库”,不是简单存放文件的地方,而是安全审计与系统健康监控的关键入口。它本身需要被审计和维护,否则日志可能被篡改、丢失或失控膨胀,反而成为排查盲区。
日志文件一旦被普通用户写入或删除,完整性即失效。核心原则是:只允许 root 读写,禁止其他用户访问。
600 权限:chmod 600 /var/log/secure
/var/log/audit/)建议加 sticky bit 或使用 chattr +a,确保只能追加、不可覆盖或删除:chattr +a /var/log/audit/audit.log
ls -l /var/log/ | grep -E "(secure|auth|audit)",所有关键日志应属 root:root
logrotate 不是配置完就一劳永逸的。轮转失败会导致单个日志暴涨,最终撑满磁盘。
ls /etc/logrotate.d/ | grep -E "(syslog|rsyslog|nginx|apache)"
logrotate -f /etc/logrotate.conf,再检查 ls -lt /var/log/messages* 是否生成新编号文件rotate 4 后,旧日志不应超过 4 个;compress 后应出现 .gz 文件notifempty 和 missingok 的实际效果——空日志不轮转、缺失配置不报错,但可能掩盖服务未写日志的问题仅靠本地日志无法应对入侵后的擦除行为。真实有效的审计必须包含异地留存。
/etc/rsyslog.conf 中添加:*.* @@10.10.20.5:514(TCP 更可靠,@@ 表示 TCP;@ 表示 UDP)/var/log/audit/audit.log 必须纳入转发范围,它是还原命令执行链的唯一可信源wc -l /var/log/secure 与远程同名文件对比运维人员常误以为日志存在=日志可用。实际上需验证内容真实性、时效性和可读性。
tail -n 5 /var/log/messages 确认最近 1 分钟内仍有新记录写入(排除 rsyslog 崩溃或停服)journalctl --disk-usage 和 du -sh /var/log/journal/,避免 journald 占满 /varausearch -m avc -ts recent 检查 SELinux 拒绝事件是否被正确捕获(若启用 SELinux)ls -lh /var/log/nginx/error.log,再 grep "error" /var/log/nginx/error.log | tail -3