CentOS Syslog日志安全性如何保障
小樊
51
2025-11-15 21:40:47
CentOS Syslog日志安全性保障
一 传输安全
- 优先采用基于 TLS 的 TCP 进行远程日志传输,避免明文 UDP 514。在 CentOS 7 上需安装 rsyslog-gnutls,准备 CA/服务器/客户端 证书,服务端启用 GTLS 监听(如端口 10514),客户端以 TLS 转发日志;证书与权限需严格管控并定期轮换。示例要点:加载 GTLS 驱动、设置 CA/证书/密钥、仅启用 TLS 模式、按客户端 IP 分目录落盘。对于更高安全需求,可启用客户端证书校验(Server 端 AuthMode x509/证书指纹等)。
- 如确需使用 UDP,应仅限本地或受控链路,并配合 IP 白名单 与 防火墙 限制来源;更推荐完全禁用明文 UDP 接收,改为本地回环或仅 TLS/TCP 接收。
二 访问控制与网络边界
- 以最小暴露面为原则:仅开放必要端口与来源。服务端仅监听 127.0.0.1:514(本地)或内网接口;远程采集使用 TLS/TCP 10514 等自定义端口,避免暴露默认端口。
- 使用 firewalld 实施白名单:例如仅允许管理网段访问日志端口;必要时按源地址精细化放行。
- 在 rsyslog 侧可做来源限制(如 AllowedSender 规则)以拒绝非授权主机的日志注入。
三 文件与进程权限
- 日志文件权限与属主:如 /var/log/messages 设为 root:adm,权限 660,仅管理员与日志组可读写;/var/log/secure 保持仅管理员可访问。
- 配置文件安全:/etc/rsyslog.conf 与 /etc/rsyslog.d/ 设为 root:root,644,禁止非特权用户修改。
- 运行权限最小化:在 rsyslog 配置中使用 $PrivDropToUser syslog / $PrivDropToGroup syslog 降权运行,减少被攻陷后的权限提升空间。
- SELinux 上下文:保持 /var/log/ 下日志文件为 var_log_t,避免因上下文错误导致日志写入失败或信息泄露。
四 日志完整性与抗篡改
- 启用 日志轮转与保留策略(如 /etc/logrotate.d/rsyslog):按日轮转、保留 7–30 天、压缩归档、设置创建权限(如 640 root adm),既控制容量也降低单点被覆盖风险。
- 关键日志可做 不可变属性 保护(如 chattr +i /var/log/messages),防止误删或恶意篡改;变更前评估对 logrotate 的影响并配套变更流程。
- 集中式采集时,服务端按 客户端 IP 分目录存储(如 /var/log/syslog//),便于溯源与隔离。
五 监控审计与运维
- 持续 服务健康检查:确认 rsyslog 处于 active (running) 状态,异常自动告警。
- 启用 系统审计 对日志文件与关键配置进行监控(如 auditd 对 open/openat/creat 等系统调用记录),便于取证与合规。
- 建立 基线核查与变更管理:定期审查 rsyslog 配置、证书有效期、端口开放情况、权限与 SELinux 状态;保持 rsyslog 与相关组件(如 rsyslog-gnutls)为 最新稳定版本,及时修补漏洞。