在Debian上配置Filebeat以使用SSL加密涉及几个步骤。以下是一个基本的指南,帮助你设置Filebeat以通过SSL/TLS加密传输数据。
如果你还没有SSL证书和密钥,可以使用OpenSSL生成自签名证书:
# 生成私钥
openssl genrsa -out filebeat.key 2048
# 生成证书签名请求(CSR)
openssl req -new -key filebeat.key -out filebeat.csr -subj "/CN=yourdomain.com"
# 生成自签名证书
openssl x509 -req -days 365 -in filebeat.csr -signkey filebeat.key -out filebeat.crt
编辑Filebeat配置文件 /etc/filebeat/filebeat.yml
,添加或修改以下部分以启用SSL/TLS:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
ssl.enabled: true
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
output.elasticsearch:
hosts: ["https://your_elasticsearch_host:9200"]
ssl.enabled: true
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
确保Elasticsearch也配置为使用SSL/TLS。编辑Elasticsearch配置文件 /etc/elasticsearch/elasticsearch.yml
,添加或修改以下部分:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12
重启Filebeat和Elasticsearch服务以应用更改:
sudo systemctl restart filebeat
sudo systemctl restart elasticsearch
确保Filebeat能够成功连接到Elasticsearch,并且数据通过SSL/TLS加密传输。你可以使用以下命令检查Filebeat的日志:
sudo journalctl -u filebeat -f
通过以上步骤,你应该能够在Debian上成功配置Filebeat以使用SSL/TLS加密传输数据。