温馨提示×

debian中filebeat如何加密传输

小樊
50
2026-09-27 15:26:17
栏目: 网络安全

在 Debian 中,Filebeat 加密传输通常指两种方式:

  1. Filebeat → Elasticsearch / Logstash 使用 TLS 加密
  2. Filebeat 输出到 Kafka / Redis 等中间件时启用 TLS

下面以最常见的 Filebeat → Elasticsearch(或 Logstash)TLS 加密 为例说明。


一、Filebeat → Elasticsearch(TLS 加密)

1. 准备证书

通常需要:

  • CA 证书(如 ca.crt)
  • Filebeat 证书(可选,若 ES 开启客户端认证)
  • Elasticsearch 证书

将 CA 证书放到:

/etc/filebeat/certs/ca.crt

2. 修改 Filebeat 配置

编辑 /etc/filebeat/filebeat.yml:

output.elasticsearch:
  hosts: ["https://es-node1:9200"]
  username: "filebeat_writer"
  password: "your_password"
  ssl:
    enabled: true
    certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
    # 如果 ES 要求客户端证书
    # certificate: "/etc/filebeat/certs/filebeat.crt"
    # key: "/etc/filebeat/certs/filebeat.key"

3. 测试配置

filebeat test output

4. 重启 Filebeat

systemctl restart filebeat

二、Filebeat → Logstash(TLS 加密)

1. Logstash 端配置(beats input)

input {
  beats {
    port => 5044
    ssl => true
    ssl_certificate => "/etc/logstash/certs/logstash.crt"
    ssl_key => "/etc/logstash/certs/logstash.key"
    ssl_certificate_authorities => ["/etc/logstash/certs/ca.crt"]
  }
}

2. Filebeat 配置

output.logstash:
  hosts: ["logstash:5044"]
  ssl:
    enabled: true
    certificate_authorities: ["/etc/filebeat/certs/ca.crt"]

三、Filebeat → Kafka(TLS 加密)

output.kafka:
  hosts: ["kafka1:9093"]
  topic: "logs"
  ssl:
    enabled: true
    certificate_authorities: ["/etc/filebeat/certs/ca.crt"]

四、使用 Elasticsearch 自带证书(推荐)

如果是 Elastic Stack:

/usr/share/elasticsearch/bin/elasticsearch-certutil ca
/usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

然后分发 ca.crt 给 Filebeat。


五、常见问题

1. 证书不信任

x509: certificate signed by unknown authority

✅ 确认 certificate_authorities 路径正确

2. 自签证书

确保 CA 已正确导入 Filebeat 信任链

3. 查看日志

journalctl -u filebeat -f

如果你能提供:

  • Filebeat 输出目标(ES / Logstash / Kafka)
  • 是否使用 Elastic Stack 自带安全组件

我可以给你一份可直接用的配置模板。

0 踩