温馨提示×

ubuntu filebeat数据传输安全性

小樊
40
2025-12-16 23:47:46
栏目: 智能运维

Ubuntu 上 Filebeat 数据传输安全加固指南

一 加密传输配置

  • 使用 TLS 对链路进行加密,优先启用双向认证(mTLS),确保客户端与服务端相互校验身份,防止中间人攻击与数据泄露。
  • 证书建议由私有 CA 签发,证书中包含明确的 CN/SAN(主机名或 IP),避免使用通用或过期证书。
  • 典型配置示例(按目标输出选择其一或组合):
    • 输出到 Logstash(beats 输入,推荐 mTLS)
      • Logstash 侧(input.beats)
        • ssl: true
        • ssl_certificate: /path/logstash.crt
        • ssl_key: /path/logstash.key
        • ssl_certificate_authorities: /path/filebeat.crt
        • ssl_verify_mode: force_peer
      • Filebeat 侧(output.logstash)
        • hosts: [“logstash.example.com:5044”]
        • ssl.certificate_authorities: [“/path/logstash.crt”]
        • ssl.certificate: “/path/filebeat.crt”
        • ssl.key: “/path/filebeat.key”
    • 输出到 Elasticsearch(HTTPS)
      • Elasticsearch 侧启用 xpack.security.http.ssl.enabled: true,并配置 keystore/truststore(可用 elasticsearch-certutil 生成 PKCS#12 证书)。
      • Filebeat 侧(output.elasticsearch)
        • hosts: [“https://es.example.com:9200”]
        • protocol: https
        • ssl.verification_mode: certificate(生产建议)/ full
        • ssl.certificate_authorities: [“/path/ca.crt”]
        • 如需客户端证书:补充 ssl.certificate / ssl.key
    • 证书生成要点(OpenSSL,示例)
      • 生成 CA:openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3650 -nodes -subj “/CN=YourCA”
      • 生成服务端证书(ES 或 Logstash):openssl req -newkey rsa:4096 -keyout server.key -out server.csr -nodes -subj “/CN=es.example.com”
        • 签发:openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650
      • 生成客户端证书(Filebeat):openssl req -newkey rsa:4096 -keyout client.key -out client.csr -nodes -subj “/CN=filebeat01”
        • 签发:openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 3650
    • 验证命令
      • 查看服务状态:sudo systemctl status filebeat
      • 实时看日志:sudo journalctl -u filebeat -f
      • 连接性测试:filebeat test output(可快速验证到 ES/Logstash 的 TLS 与认证是否可用)。

二 认证与访问控制

  • Elasticsearch 启用安全功能(X-Pack Security):开启 xpack.security.enabled: true,为 HTTP 层传输层 都启用 TLS,并使用基于角色的访问控制(如内置角色 filebeat_system 或自定义最小权限角色)。
  • Filebeat 到 ES 的认证方式
    • 基本认证:在 output.elasticsearch 中配置 username / password
    • API Key:在 ES 创建 API Key 并在 Filebeat 使用(推荐,便于密钥轮换与审计)。
  • Logstash 侧认证
    • 若 Logstash 前接 Elasticsearch 输出插件,同样应启用 HTTPS + 认证(用户名/密码或 API Key)。
  • 最小权限原则
    • 为 Filebeat 分配仅能写入目标索引、创建/写入模板与读取监控所需的最小角色,避免使用超级用户。

三 网络与系统加固

  • 网络与端口
    • 仅开放必要端口(如 5044/9200/9300),使用 UFW/iptables/firewalld 限制来源 IP,禁止公网直连采集端口。
    • VPC/VLAN/安全组 层面做网络隔离,采集网与存储/管理网分离。
  • 运行身份与文件权限
    • 非 root用户运行 Filebeat(如创建专用系统用户),配置文件与证书权限最小化(仅 Filebeat 可读)。
    • 证书与密钥存储在受控目录(如 /etc/filebeat/certs),权限 600/644 分级控制。
  • 采集范围与内容
    • 仅采集必要日志,避免包含敏感信息;必要时在 processors 中做 drop_fields / anonymize 等脱敏处理。

四 运维与审计

  • 证书与密钥生命周期
    • 设置证书到期提醒(如有效期 365–730 天),定期轮换;轮换时先部署新证书到服务端信任库,再滚动更新客户端并重启 Filebeat。
  • 更新与补丁
    • 及时更新 Filebeat/Elasticsearch/Logstash 与依赖组件,修复已知漏洞。
  • 监控与告警
    • 监控 Filebeat 的 运行状态、连接失败、TLS 握手失败、吞吐异常 等,结合日志与指标设置告警。
  • 审计与合规
    • 启用 审计日志(ES 审计或外部 SIEM),记录索引创建、写入、模板变更与认证失败事件,定期复盘。

五 快速检查清单

检查项 期望状态/做法
传输加密 Logstash/ES 的链路均启用 TLS;生产建议 mTLS
证书管理 使用私有 CA;证书包含 CN/SAN;设置到期提醒轮换流程
服务端认证 ES 开启 HTTPS + 认证(用户/密码或 API Key);Logstash 侧校验客户端证书
网络防护 仅放通 5044/9200/9300;来源 IP 白名单;采集/存储网隔离
运行身份 非 root 运行;证书 600/644 权限;配置与日志目录受控
采集最小化 仅采集必要日志;必要时脱敏;避免记录凭据/密钥
监控告警 监控 连接/握手失败、吞吐异常;异常即告警
审计合规 启用 审计日志;定期复盘与安全评估

以上配置与做法可显著提升 UbuntuFilebeat 数据传输的机密性、完整性与可审计性,并降低被窃听、篡改与滥用风险。

0