在CentOS上配置Filebeat以使用SSL加密涉及幾個步驟。以下是一個基本的指南,幫助你設置Filebeat以通過SSL/TLS加密傳輸數據。
編輯Filebeat的配置文件/etc/filebeat/filebeat.yml
,添加或修改輸出部分以使用SSL連接到Elasticsearch。
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
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"
如果你還沒有SSL證書,可以使用OpenSSL生成自簽名證書。
# 創建CA目錄和文件
mkdir -p /etc/filebeat/certs
touch /etc/filebeat/certs/ca.crt
# 生成CA私鑰
openssl genrsa -out /etc/filebeat/certs/ca.key 2048
# 生成CA證書
openssl req -new -x509 -days 3650 -key /etc/filebeat/certs/ca.key -out /etc/filebeat/certs/ca.crt -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=YourCA"
# 生成Filebeat服務器證書和密鑰
openssl req -newkey rsa:2048 -nodes -keyout /etc/filebeat/certs/filebeat.key -out /etc/filebeat/certs/filebeat.csr -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=your_elasticsearch_host"
# 使用CA證書簽名Filebeat證書
openssl x509 -req -in /etc/filebeat/certs/filebeat.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/filebeat.crt -days 3650
編輯Elasticsearch的配置文件/etc/elasticsearch/elasticsearch.yml
,添加以下內容以信任Filebeat的證書。
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
# 添加Filebeat證書到信任庫
bin/elasticsearch-certutil cert -out /etc/elasticsearch/certs/filebeat.crt -pass ""
bin/elasticsearch-certutil csr -in /etc/filebeat/certs/filebeat.csr -pass "" | bin/elasticsearch-certutil cert -add -ca /etc/elasticsearch/certs/ca.crt -out /etc/elasticsearch/certs/filebeat.crt -pass ""
重啟Filebeat和Elasticsearch服務以應用更改。
sudo systemctl restart filebeat
sudo systemctl restart elasticsearch
確保Filebeat能夠成功連接到Elasticsearch并傳輸數據。你可以查看Filebeat和Elasticsearch的日志文件以確認連接狀態。
sudo tail -f /var/log/filebeat/filebeat
sudo tail -f /var/log/elasticsearch/elasticsearch.log
通過以上步驟,你應該能夠在CentOS上成功配置Filebeat以使用SSL加密傳輸數據到Elasticsearch。