温馨提示×

filebeat在debian如何加密

小樊
46
2026-09-15 15:23:20
栏目: 网络安全

在 Debian 上,Filebeat 本身不负责“数据加密存储”,而是通过在**传输层加密(TLS)输出目标加密(如 Elasticsearch / Logstash HTTPS)**来实现“加密”。常见做法如下:


一、Filebeat → Elasticsearch / Logstash 使用 TLS 加密(最常用)

1. 安装 Filebeat(Debian)

sudo apt update
sudo apt install filebeat

2. 生成或准备 TLS 证书

如果你有 CA:

  • ca.crt(CA 证书)
  • filebeat.crt(客户端证书,可选)
  • filebeat.key(客户端私钥,可选)

示例目录:

/etc/filebeat/certs/ca.crt
/etc/filebeat/certs/filebeat.crt
/etc/filebeat/certs/filebeat.key

3. 配置 Filebeat 使用 HTTPS(TLS)

输出到 Elasticsearch(加密)

编辑 /etc/filebeat/filebeat.yml

output.elasticsearch:
  hosts: ["https://es.example.com:9200"]
  ssl:
    enabled: true
    certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
    certificate: "/etc/filebeat/certs/filebeat.crt"
    key: "/etc/filebeat/certs/filebeat.key"

输出到 Logstash(加密)

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

4. 设置权限(非常重要)

sudo chown -R root:root /etc/filebeat/certs
sudo chmod 600 /etc/filebeat/certs/filebeat.key

5. 测试并启动

sudo filebeat test output
sudo systemctl restart filebeat
sudo systemctl enable filebeat

二、Filebeat 之间或 Filebeat → Logstash 双向认证(mTLS)

在 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"]
    ssl_verify_mode => "force_peer"
  }
}

三、磁盘日志加密(可选)

如果你指的是Filebeat 收集的日志在磁盘上加密

  • Filebeat 本身不加密日志文件
  • 可使用:
    • LUKS(全盘/分区加密)
    sudo apt install cryptsetup
    
    • eCryptfs / fscrypt

四、使用 Elastic 官方安全方案(推荐)

如果你使用 Elastic Stack:

  • 启用 Elasticsearch Security
  • 使用 elasticsearch-certutil
  • Filebeat 通过 HTTPS + 用户名密码 / API Key

示例:

output.elasticsearch:
  hosts: ["https://es.example.com:9200"]
  username: "filebeat_writer"
  password: "${FILEBEAT_PASSWORD}"

总结

需求 解决方案
传输加密 TLS / HTTPS
双向认证 mTLS
日志磁盘加密 LUKS
权限保护 600 私钥

如果你是 具体场景(如:Filebeat → Kafka、Filebeat → 自建 ES、容器环境),可以告诉我,我给你对应配置。

0