linux

Filebeat如何配置SSL加密

小樊
48
2025-09-13 01:21:28
栏目: 云计算

以下是Filebeat配置SSL加密的通用步骤,适用于CentOS和Debian系统:

  1. 安装Filebeat

    • CentOS: sudo yum install filebeat
    • Debian: sudo apt-get install filebeat
  2. 生成SSL证书(自签名示例)

    • 创建证书目录:sudo 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
    • 生成客户端证书:
      openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/client.key -out /etc/filebeat/certs/client.csr -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
  3. 配置Filebeat
    编辑 /etc/filebeat/filebeat.yml,在 output.elasticsearch 中添加SSL配置:

    output.elasticsearch:
      hosts: ["https://your-elasticsearch-host:9200"]
      ssl.verification_mode: "full"  # 启用完整验证
      ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
      ssl.certificate: "/etc/filebeat/certs/client.crt"
      ssl.key: "/etc/filebeat/certs/client.key"
    
    • 可选:在 filebeat.inputs 中为输入源启用SSL(如需双向认证)。
  4. 配置Elasticsearch(若需双向认证)
    elasticsearch.yml 中添加:

    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: "certificate"
    xpack.security.transport.ssl.keystore.path: "elastic-certificates.p12"
    xpack.security.transport.ssl.truststore.path: "elastic-certificates.p12"
    

    (需将客户端证书导入Elasticsearch信任库,可使用 elasticsearch-certutil 工具)

  5. 重启服务并验证

    • 重启Filebeat和Elasticsearch:
      sudo systemctl restart filebeat
      sudo systemctl restart elasticsearch
    • 查看Filebeat日志确认连接状态:tail -f /var/log/filebeat/filebeat

注意:生产环境中建议使用受信任CA签发的证书,避免自签名证书的安全风险。

0
看了该问题的人还看了