启用rsyslog并配置统一路径、启用auditd并设置敏感目录与特权命令审计规则、通过rsyslog TLS转发日志至中心平台。

启用系统日志服务并规范日志路径
linux 默认使用 rsyslog 或 syslog-ng 记录系统事件,确保服务已启用并稳定运行是审计基础。检查命令:systemctl status rsyslog;若未运行,执行 systemctl enable –now rsyslog 启动并设为开机自启。
统一日志保存路径可提升后续分析效率。建议在 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf 中配置规则,例如:
- 将所有认证相关日志集中到 /var/log/audit/auth.log:添加 auth,authpriv.* /var/log/audit/auth.log
- 限制单个日志文件大小,防止磁盘占满:在 /etc/logrotate.d/rsyslog 中设置 size 100M 和 rotate 12
- 启用日志时间戳与主机名标识,便于多节点溯源:确认 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 已注释,使用默认 ISO 格式
开启 auditd 审计框架捕获关键行为
auditd 是 Linux 内核级审计工具,比普通日志更细粒度、更难绕过。安装后启动服务:apt install auditd(debian/ubuntu)或 yum install audit(RHEL/centos),再运行 systemctl enable –now auditd。
核心在于合理配置审计规则,避免日志爆炸又不漏重点:
- 监控敏感目录变更:auditctl -w /etc/passwd -p wa -k identity_change
- 记录特权命令执行(如 sudo、su):auditctl -a always,exit -F path=/usr/bin/sudo -F perm=x -k sudo_usage
- 持久化规则写入 /etc/audit/rules.d/cis.rules,重启 auditd 生效
- 定期用 ausearch -k sudo_usage | aureport -f -i 查看匹配事件,验证规则有效性
集中收集与异常告警联动
单机日志难以满足合规要求(如等保2.0、GDPR),需将日志转发至中心平台。rsyslog 支持 TLS 加密传输,保障传输中不被篡改:
- 在客户端配置 /etc/rsyslog.d/10-remote.conf,添加:
*.* @@(o)192.168.10.5:514;RSYSLOG_ForwardFormat(o 表示 TCP + TLS) - 服务端 rsyslog 需加载 imtcp 模块并配置证书路径,启用 $InputTCPServerStreamdriverMode 1
- 结合 root:syslog,权限为 750;日志文件设为 640,禁止普通用户读取
- 启用 immutable attribute 锁定关键日志(如 lastlog、wtmp):chattr +a /var/log/wtmp(仅追加)或 chattr +i /var/log/secure(需临时解除才能轮转)
- 定期校验日志完整性:用 sha256sum /var/log/secure* 生成哈希,存于离线介质或安全服务器,对比发现异常修改
- 审计日志应独立分区(如 /var/log/audit 单独挂载),避免因根分区满导致审计中断