CentOS Syslog在安全审计中的应用
导读:CentOS Syslog在安全审计中的落地实践 一 架构与关键日志源 以 rsyslog 为日志中枢,集中采集与转发系统与安全事件;关键日志源包括:/var/log/messages(系统通用)、/var/log/secure(认证与授...
CentOS Syslog在安全审计中的落地实践
一 架构与关键日志源
- 以 rsyslog 为日志中枢,集中采集与转发系统与安全事件;关键日志源包括:/var/log/messages(系统通用)、/var/log/secure(认证与授权)、/var/log/audit/audit.log(内核级审计)、以及 /var/log/sudo.log(特权命令)。必要时将日志外发至 远程日志服务器 或 ELK(Elasticsearch/Logstash/Kibana) 做检索与可视化。Syslog 的 facility(如 local6) 与 severity(如 info) 用于分类与过滤,便于后续分析与告警。
二 本地审计配置与最小规则集
- 启用并持久化服务
- 安装与启动:sudo yum install -y rsyslog audit; sudo systemctl enable --now rsyslog auditd
- 审计规则(记录登录、命令执行、关键文件变更、sudo 使用)
- 建议将规则写入 /etc/audit/rules.d/audit.rules,示例:
- 记录登录相关:-w /var/log/secure -p wa -k auth
- 记录命令执行:-a always,exit -F arch=b64 -S execve -k exec_commands 与 -a always,exit -F arch=b32 -S execve -k exec_commands
- 记录关键文件:-w /etc/passwd -p rwa -k passwd_changes
- 使规则生效:sudo augenrules --load;如需立即重启:sudo systemctl restart auditd
- 建议将规则写入 /etc/audit/rules.d/audit.rules,示例:
- sudo 日志
- 在 /etc/sudoers 中加入:Defaults logfile=“/var/log/sudo.log”,确保特权命令被单独记录
- 说明
- auditd 负责内核/系统调用级细粒度审计;rsyslog 负责采集、存储与转发。两者协同可覆盖合规审计的大多数场景。
三 集中化与远程日志
- 将本地日志发往远程 Syslog(UDP/TCP)
- 在 /etc/rsyslog.conf 或 /etc/rsyslog.d/remote.conf 添加:
- 示例(UDP):local6. @192.0.2.10:514*
- 示例(TCP,更可靠):local6. @@192.0.2.10:514*
- 重启:sudo systemctl restart rsyslog
- 在 /etc/rsyslog.conf 或 /etc/rsyslog.d/remote.conf 添加:
- 将 audit.log 纳入 rsyslog 统一采集
- 在 /etc/rsyslog.d/audit.conf 中加入:
- module(load=“imfile”)
- input(type=“imfile” File=“/var/log/audit/audit.log” Tag=“audit” Severity=“info” Facility=“local6”)
- 再配合上节远程转发规则,实现 auditd → rsyslog → 远程 的闭环
- 在 /etc/rsyslog.d/audit.conf 中加入:
- 仅外发关键审计日志(减少噪声)
- 例如仅转发命令审计:local6.info @10.0.0.1:514
- 发送到 ELK(示例)
- 通过 UDP 514 将 local6.info 发送至 Logstash,使用 grok 解析字段(如 username、addr_src、command),再写入 Elasticsearch 并在 Kibana 展示。
四 日志保护与留存策略
- 访问控制与完整性
- 关键日志目录与文件(如 /var/log/、/var/log/audit/)设置为 root 只读,仅授权审计管理员访问;必要时启用 完整性校验(如 AIDE)与 集中备份,防止未授权篡改或删除
- 日志轮转与归档
- 为系统与审计日志配置 logrotate,示例要点:
- 系统日志:/var/log/messages /var/log/secure 等按日轮转、保留 180 天、旧日志归档至 /var/log/Audit-log/old-log-syslog
- 审计日志:/var/log/audit/audit.log 按日轮转、保留 180 天、旧日志归档至 /var/log/Audit-log/old-log-audit
- 示例参数:daily、dateext、rotate 180、olddir < 归档目录> 、create 640 root root、postrotate /bin/kill -HUP …
- 测试轮转:logrotate -f /etc/logrotate.d/syslog(或 audit 对应文件)
- 为系统与审计日志配置 logrotate,示例要点:
- 备份与清理
- 建议以 cron 定期打包归档并清理超期数据(如保留 180 天),确保容量与可用性。
五 检索分析与合规要点
- 本地检索与报表
- 使用 ausearch 按关键字/规则检索:ausearch -k auth -i(登录)、ausearch -k exec_commands -i(命令)、ausearch -k passwd_changes -i(关键文件)、ausearch -k sudo_commands -i(sudo)
- 使用 aureport 生成汇总报表(登录、命令、用户等),便于审计抽查与合规取证
- 合规要点(等保/内控常见要求)
- 审计记录应包含:事件日期与时间、用户、事件类型、成功/失败结果 等要素;审计进程与日志应受保护,防止中断与篡改;日志需 定期备份 与 异地留存(如远程 Syslog/ELK)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Syslog在安全审计中的应用
本文地址: https://pptw.com/jishu/756859.html
