centos

centos syslog安全加固

小樊
60
2025-09-17 19:31:32
栏目: 智能运维

CentOS Syslog安全加固指南

Syslog是CentOS系统日志记录的核心工具,其安全性直接关系到系统运行状态的监控有效性及敏感信息的保护。以下从访问控制、传输加密、存储安全、审计监控、系统加固五大维度,梳理具体的安全加固措施:

一、配置严格的访问控制

  1. 限制本地访问(默认安全设置)
    编辑/etc/rsyslog.conf配置文件,注释或删除UDP监听的全局配置(默认开启514端口),仅允许本地进程发送日志:

    #$ModLoad imudp.so    # 注释掉UDP模块加载
    #$UDPServerRun 514    # 注释掉UDP服务启动
    #$UDPServerAddress 127.0.0.1  # 可选:明确绑定本地地址(若需保留UDP)
    

    重启rsyslog服务使配置生效:systemctl restart rsyslog

  2. 限制可信IP访问
    /etc/rsyslog.conf中添加AllowedSender规则,仅允许特定IP段或主机发送日志(如内网网段192.168.1.0/24):

    auth,authpriv.* @192.168.1.100;AllowedSender UDP, 192.168.1.0/24  # 仅允许UDP来自该网段的日志
    

    保存后重启服务。

  3. 防火墙规则过滤
    使用firewalld限制Syslog服务端口(TCP/UDP 514)的访问,仅放行可信源:

    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="514" protocol="tcp" accept'
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="514" protocol="udp" accept'
    firewall-cmd --reload
    

二、启用加密传输保护数据

若Syslog需传输敏感信息(如用户操作日志、系统错误日志),应使用TLS/SSL加密日志流,防止数据被窃听或篡改:

  1. 生成证书与密钥
    使用OpenSSL生成自签名证书(有效期365天):
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/rsyslog.key -out /etc/rsyslog.crt
    chmod 600 /etc/rsyslog.key  # 密钥文件仅root可读
    
  2. 配置rsyslog使用TLS
    /etc/rsyslog.conf中加载TLS模块并指定证书路径:
    module(load="imtcp")          # 启用TCP模块(TLS基于TCP)
    module(load="omfwd")          # 启用转发模块
    module(load="tls")            # 加载TLS模块
    input(type="imtcp" port="514" tls="on" tls.caCert="/etc/rsyslog.crt" tls.myCert="/etc/rsyslog.crt" tls.myPrivKey="/etc/rsyslog.key")
    action(type="omfwd" target="remote-log-server-ip" port="514" protocol="tcp" tls="on" tls.caCert="/etc/rsyslog.crt")
    
    重启服务使配置生效。

三、强化日志存储安全

  1. 设置正确的文件权限
    确保日志文件仅能被root用户和syslog组读取(默认路径/var/log/messages/var/log/secure等):
    chown root:syslog /var/log/messages
    chmod 640 /var/log/messages
    
  2. 使用chattr防止篡改
    对关键日志文件添加不可更改属性(需root权限),避免日志被恶意删除或修改:
    chattr +i /var/log/messages  # 解除属性需用`chattr -i`
    
  3. 配置日志轮转
    通过logrotate工具自动分割、压缩旧日志,防止日志文件过大占用磁盘空间。编辑/etc/logrotate.conf或创建/etc/logrotate.d/rsyslog自定义规则:
    /var/log/messages {
        daily                   # 每天轮转
        rotate 7                # 保留7份
        compress                # 压缩旧日志
        missingok               # 文件缺失不报错
        notifempty              # 空文件不轮转
        sharedscripts           # 所有日志轮转完成后执行脚本
        postrotate
            systemctl kill -s HUP rsyslog.service  # 重新加载rsyslog以继续记录
        endscript
    }
    

四、实施全面的审计与监控

  1. 启用审计规则
    使用auditd工具监控对Syslog配置文件和日志文件的访问,记录所有修改操作:

    auditctl -w /etc/rsyslog.conf -p wa -k syslog_conf_mod  # 监控配置文件修改
    auditctl -w /var/log/messages -p ra -k syslog_access     # 监控日志文件读取
    

    查看审计日志:ausearch -k syslog_conf_mod

  2. 实时监控与告警
    使用tail -f实时查看日志文件,或通过logwatch工具生成每日日志报告(需安装yum install logwatch):

    logwatch --service syslog --output mail  # 发送邮件报告(需配置邮件服务)
    

    结合监控工具(如Prometheus+Grafana)设置告警规则,当日志量突增(异常事件)或服务宕机时通知管理员。

五、系统与服务加固

  1. 定期更新软件
    保持rsyslog及依赖库为最新版本,修复已知安全漏洞:
    yum update rsyslog -y
    
  2. 最小权限原则
    确保rsyslog服务以syslog用户身份运行(默认配置),避免使用root权限:
    ps -ef | grep rsyslog  # 确认进程用户为syslog
    
  3. 备份关键配置
    定期备份/etc/rsyslog.conf及日志文件到远程存储(如NFS、S3),防止配置丢失:
    cp /etc/rsyslog.conf /backup/rsyslog.conf_$(date +%F)
    

通过以上措施,可全面覆盖CentOS Syslog的安全风险点,从访问控制、数据传输、存储保护到监控审计,构建多层防御体系,保障系统日志的完整性、机密性和可用性。

0
看了该问题的人还看了