温馨提示×

debian filebeat怎样加密传输

小樊
39
2026-09-24 17:32:30
栏目: 网络安全

在 Debian 上,Filebeat 加密传输通常有三种常见场景,下面按最常用、最推荐可选方案给你讲清楚,并附配置示例。


一、Filebeat → Elasticsearch(TLS 加密,最推荐)

1️⃣ 前提

  • Elasticsearch 已开启 HTTPS(通常 9200)
  • 有 CA 证书(或自签证书)

2️⃣ 配置 Filebeat(Debian)

编辑配置文件:

sudo vim /etc/filebeat/filebeat.yml

示例:

output.elasticsearch:
  hosts: ["https://es-node1:9200"]
  username: "filebeat_writer"
  password: "your_password"
  ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
  ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
  ssl.key: "/etc/filebeat/certs/filebeat.key"

如果是 Elasticsearch 自签证书

cp ca.crt /etc/filebeat/certs/

重启:

sudo systemctl restart filebeat

✅ 此时 传输层已加密(TLS)


二、Filebeat → Logstash(TLS 加密)

1️⃣ Logstash 端配置

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.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
  ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
  ssl.key: "/etc/filebeat/certs/filebeat.key"

重启:

sudo systemctl restart filebeat

三、仅加密“内容”(不推荐但可了解)

如果你 不能改 ES / Logstash,可以用:

✅ 方案:Filebeat → 本地加密 → 转发

  • 使用 processors 做字段加密(AES)
  • 或 Filebeat → Stunnel / Nginx TLS

⚠️ 一般不推荐,复杂度高


四、验证是否加密成功

抓包验证(Debian)

sudo tcpdump -i any port 9200

若看到乱码(TLS)→ ✅ 已加密

Filebeat 测试

sudo filebeat test output

五、常见错误

x509: certificate signed by unknown authority
→ CA 证书路径错误

connection refused
→ ES / Logstash 未开 TLS

❌ 明文端口(http)
→ 一定要用 httpsssl => true


六、总结(推荐做法)

场景 推荐方式
ES TLS(HTTPS)
Logstash Beats SSL
云环境 托管 TLS

如果你愿意,可以告诉我:

  • Filebeat 版本
  • 目标是 ES 还是 Logstash
  • 是否自签证书

我可以给你 完整可复制的配置

0