温馨提示×

filebeat如何保障ubuntu日志传输安全

小樊
33
2025-11-15 09:06:32
栏目: 智能运维

在 Ubuntu 上保障 Filebeat 日志传输安全

一 传输加密与身份认证

  • 使用 TLS/SSL 对链路加密,优先启用 双向认证(mTLS),确保只有持有受信任证书的客户端才能发送日志。
  • 典型部署有两种方式:
    1. 直连 Elasticsearch HTTPS
    2. 经由 Logstash Beats 输入插件 接收(推荐在集中接收侧做证书校验与策略控制)。
  • 示例配置(Filebeat 直连 ES,开启证书校验与客户端证书):
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/*.log
    
    output.elasticsearch:
      hosts: ["https://es.example.com:9200"]
      ssl.verification_mode: certificate
      ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
      ssl.certificate: "/etc/filebeat/certs/client.crt"
      ssl.key: "/etc/filebeat/certs/client.key"
    
    示例配置(Logstash 侧启用 Beats 输入 SSL):
    input {
      beats {
        port => 5443
        ssl => true
        ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
        ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
      }
    }
    
    上述做法分别展示了 Filebeat 与 ES 的 TLS 证书校验 和 Logstash 的 Beats SSL 输入 配置要点。

二 证书与密钥管理

  • 使用私有 CA 统一签发与轮换证书,证书与私钥文件权限建议设为 600,属主为 root 且仅 Filebeat 运行用户可读取。
  • 证书生成简要步骤(示例):
    mkdir -p /etc/filebeat/certs
    # CA
    openssl req -x509 -newkey rsa:4096 -keyout /etc/filebeat/certs/ca.key -out /etc/filebeat/certs/ca.crt -days 3650 -nodes -subj "/CN=MyCA"
    # ES 服务器证书(示例)
    openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/server.key -out /etc/filebeat/certs/server.csr -nodes -subj "/CN=es.example.com"
    openssl x509 -req -in /etc/filebeat/certs/server.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/server.crt -days 3650
    # Filebeat 客户端证书(示例)
    openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/client.key -out /etc/filebeat/certs/client.csr -nodes -subj "/CN=filebeat_client"
    openssl x509 -req -in /etc/filebeat/certs/client.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/client.crt -days 3650
    chmod 600 /etc/filebeat/certs/*.key
    chown root:root /etc/filebeat/certs/*.key
    
  • CA 证书 分发到所有 Filebeat 节点,将 服务器证书/私钥 部署到 ES/Logstash,客户端证书/私钥 部署到各 Filebeat 节点,保持证书与主机身份的一致性(CN/SAN)。

三 运行与访问控制

  • 非 root 专用用户运行 Filebeat,最小化进程权限;仅授予读取日志路径与证书文件的必要权限。
  • 通过 防火墙/安全组 限制访问:
    • 直连 ES:仅允许 Filebeat 所在网段访问 ES 9200/9243
    • 经由 Logstash:仅开放 Beats 端口(如 5443) 给 Filebeat 源地址段。
  • 在 Logstash/ES 端结合网络策略与主机防火墙,形成纵深访问控制。

四 最小化采集与内容安全

  • 仅启用必要的 inputs/modules字段,避免采集敏感信息;对必须采集的敏感字段在输出前进行 脱敏/过滤
  • 减少不必要的数据外发,降低泄露面与带宽压力。

五 运维与监控

  • 保持 Filebeat 与依赖组件 的版本更新,及时修补安全漏洞。
  • 启用 Filebeat 自身日志 与运行状态监控,结合系统日志(如 journald)与进程监控,异常及时告警。
  • 实施 证书轮换 与配置基线审计,确保证书未过期、配置未被未授权修改。

0