温馨提示×

CentOS中Filebeat如何实现数据安全传输

小樊
51
2025-09-28 12:45:57
栏目: 智能运维

在CentOS系统中,Filebeat可以通过配置SSL/TLS来实现数据的安全传输。以下是实现步骤:

1. 生成SSL证书

首先,你需要生成SSL证书和私钥。可以使用OpenSSL工具来完成这一任务。

# 生成私钥
openssl genrsa -out filebeat.key 2048

# 生成证书签名请求(CSR)
openssl req -new -key filebeat.key -out filebeat.csr -subj "/CN=your_hostname"

# 生成自签名证书
openssl x509 -req -days 365 -in filebeat.csr -signkey filebeat.key -out filebeat.crt

2. 配置Filebeat

编辑Filebeat的配置文件/etc/filebeat/filebeat.yml,添加或修改以下配置项:

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.verification_mode: certificate
  ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]

3. 配置Elasticsearch

确保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

http.ssl.enabled: true
http.ssl.certificate: /etc/elasticsearch/certs/elastic-certificates.p12
http.ssl.key: /etc/elasticsearch/certs/elastic-certificates.p12
http.ssl.certificate_authorities: ["/etc/elasticsearch/certs/ca.crt"]

4. 重启服务

重启Filebeat和Elasticsearch服务以应用配置更改。

# 重启Filebeat
sudo systemctl restart filebeat

# 重启Elasticsearch
sudo systemctl restart elasticsearch

5. 验证SSL/TLS连接

你可以使用curl命令来验证SSL/TLS连接是否正常工作。

curl -k https://your_elasticsearch_host:9200

如果一切配置正确,你应该能够看到Elasticsearch的响应,并且连接是通过HTTPS加密的。

注意事项

  • 确保所有证书和密钥文件的权限设置正确,通常应该设置为600
  • 在生产环境中,建议使用由受信任的证书颁发机构(CA)签发的证书,而不是自签名证书。
  • 定期更新证书以避免过期。

通过以上步骤,你可以在CentOS系统中配置Filebeat以实现数据的安全传输。

0