在CentOS上使用Filebeat实现数据加密传输,通常涉及以下几个步骤:
首先,确保你已经在CentOS上安装了Filebeat。你可以从Elastic官方网站下载并安装最新版本的Filebeat。
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-amd64.deb
sudo dpkg -i filebeat-7.10.0-amd64.deb
编辑Filebeat的配置文件/etc/filebeat/filebeat.yml,进行必要的配置。
如果你使用的是Elasticsearch的付费版本(如Elastic Stack),可以启用X-Pack安全特性来加密传输。
xpack.security.enabled: true
确保你的Filebeat配置中指定了Elasticsearch的输出,并且启用了TLS/SSL。
output.elasticsearch:
hosts: ["https://your_elasticsearch_host:9200"]
ssl.verification_mode: certificate
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
你需要为Filebeat和Elasticsearch生成证书和密钥。可以使用Elastic提供的工具elasticsearch-certutil来生成这些文件。
sudo mkdir /etc/filebeat/certs
sudo elasticsearch-certutil ca --pem --out /etc/filebeat/certs/ca.crt --pass ""
sudo elasticsearch-certutil cert --pem --out /etc/filebeat/certs/filebeat.crt --ca-cert /etc/filebeat/certs/ca.crt --ca-key /etc/filebeat/certs/ca.key --pass ""
sudo elasticsearch-certutil key --out /etc/filebeat/certs/filebeat.key --pass ""
如果你还没有Elasticsearch的证书和密钥,也需要生成它们。
sudo elasticsearch-certutil cert --pem --out /etc/elasticsearch/certs/elasticsearch.crt --ca-cert /etc/filebeat/certs/ca.crt --ca-key /etc/filebeat/certs/ca.key --pass ""
sudo elasticsearch-certutil key --out /etc/elasticsearch/certs/elasticsearch.key --pass ""
确保Elasticsearch也配置了相应的TLS/SSL设置。编辑/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: "transport.p12"
xpack.security.transport.ssl.truststore.path: "truststore.p12"
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: "http.p12"
xpack.security.http.ssl.truststore.path: "truststore.p12"
然后,使用elasticsearch-certutil生成transport.p12和http.p12文件。
完成上述配置后,重启Filebeat和Elasticsearch服务以应用更改。
sudo systemctl restart filebeat
sudo systemctl restart elasticsearch
你可以通过查看Elasticsearch的日志文件来验证数据是否通过TLS/SSL加密传输。
tail -f /var/log/elasticsearch/filebeat.log
如果一切配置正确,你应该能够看到Filebeat成功连接到Elasticsearch,并且数据是通过HTTPS加密传输的。
通过以上步骤,你可以在CentOS上使用Filebeat实现数据加密传输。