数据安全传输中的加密机制是许多运维人员关注的重点。Filebeat 通过 TLS/SSL 协议保障数据传输的机密性与完整性,实施步骤并不复杂,主要分为以下几个关键环节:
- 生成证书——需要在 Filebeat 服务器与目标服务器(例如 Elasticsearch)上分别创建 CA 证书、客户端证书以及对应的私钥。借助 OpenSSL 工具即可完成,具体操作如下:
- 生成 CA 证书(Certificate Authority):
openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3650 -subj "/CN=YourCA"
- 生成客户端证书并完成签名:
openssl req -newkey rsa:4096 -keyout client.key -out client.csr -subj "/CN=Filebeat"
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 3650
第二步,配置 Filebeat——在 filebeat.yml 配置文件中启用 SSL 加密,并指定证书文件路径。参考配置如下:
output.elasticsearch:
hosts: ["https://目标服务器:9200"]
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/client.crt"
ssl.key: "/etc/filebeat/certs/client.key"
ssl.verify_mode: "full" # 验证模式可选值:none(不验证)、certificate(仅证书验证)、full(完整验证)
配置完成后,重启 Filebeat 服务使新设置生效。最后一步是验证连接——检查 Filebeat 的日志输出,确认加密连接是否成功建立。
以下是一些关键注意事项:
- 证书中必须包含 IP SAN(Subject Alternative Name)字段,否则连接时可能触发错误。若证书缺少 IP SAN,需修改 OpenSSL 配置文件,添加类似
subjectAltName=IP:服务器IP的参数。 - 在生产环境中,建议使用由权威 CA 机构签发的证书,并定期执行轮换操作,以进一步提升安全防护等级。
