在Debian系统上实现Filebeat数据加密传输的关键,是为Filebeat与目标服务器(如Elasticsearch)之间的通信建立TLS/SSL安全通道。整个操作可分为三个紧密衔接的步骤,每个步骤都不复杂,但环环相扣。

-
生成证书与密钥
借助OpenSSL工具,分别为Filebeat和目标服务器生成SSL证书及对应的私钥,相当于为数据通道配备一套“数字身份证”和“解锁密钥”。
# 在Filebeat服务器上 mkdir -p /etc/filebeat/pki/tls/certs mkdir -p /etc/filebeat/pki/tls/private openssl req -subj '/CN=filebeat.example.com/' -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout /etc/filebeat/pki/tls/private/filebeat.key -out /etc/filebeat/pki/tls/certs/filebeat.crt -
配置Filebeat
证书准备就绪后,需编辑Filebeat主配置文件
/etc/filebeat/filebeat.yml,在其中明确指定SSL证书路径、私钥路径以及CA证书(若目标服务器要求双向认证或使用自签证书)。以下为输出到Elasticsearch的典型配置示例:filebeat.inputs: - type: log enabled: true paths: - /path/to/your/log/*.log output.elasticsearch: hosts: ["https://your-elasticsearch-server:9200"] ssl.certificate_authorities: ["/etc/filebeat/pki/tls/certs/ca.crt"] ssl.certificate: "/etc/filebeat/pki/tls/certs/filebeat.crt" ssl.key: "/etc/filebeat/pki/tls/private/filebeat.key"需特别注意,
hosts地址必须使用https://前缀,否则加密通信无法生效。 -
重启Filebeat服务
配置修改完成后,重启Filebeat服务以加载新参数:
sudo systemctl restart filebeat
完成以上三步后,Filebeat发送的日志数据将自动通过TLS加密通道传输,未经授权者无法中途窃听。当然,仅依赖TLS加密并不足够,还需同步加强系统密码强度、禁用root远程登录、配置SSH密钥等基础安全手段,全面防护才能确保这些配置发挥最大价值。
