在Ubuntu上为Filebeat配置数据加密,主要通过TLS/SSL加密实现,步骤如下:
安装Filebeat:
sudo apt update && sudo apt install filebeat
生成SSL证书:
mkdir -p /etc/filebeat/certs
openssl req -x509 -newkey rsa:4096 -keyout /etc/filebeat/certs/ca.key -out /etc/filebeat/certs/ca.crt -days 3650 -nodes -subj "/CN=your_ca"
openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/client.key -out /etc/filebeat/certs/client.csr -subj "/CN=filebeat_client"
openssl x509 -req -in /etc/filebeat/certs/client.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/client.crt -days 3650
配置Filebeat:
编辑 /etc/filebeat/filebeat.yml
,在输出部分启用SSL并指定证书路径:
output.elasticsearch:
hosts: ["https://your-elasticsearch-host:9200"]
ssl.enabled: true
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/client.crt"
ssl.key: "/etc/filebeat/certs/client.key"
ssl.verification_mode: certificate # 启用证书验证
重启服务:
sudo systemctl restart filebeat
验证配置:
检查Filebeat状态及日志,确保无错误:
sudo systemctl status filebeat
tail -f /var/log/filebeat/filebeat
关键说明:
.key
)、公钥(.crt
)及CA证书(.crt
),且Filebeat与Elasticsearch的证书需相互信任。