ubuntu

ubuntu filebeat如何实现数据加密

小樊
37
2025-07-06 01:45:07
栏目: 网络安全

在Ubuntu上使用Filebeat时,可以通过配置SSL/TLS来加密Filebeat与Elasticsearch之间的传输数据。以下是实现数据加密的步骤:

1. 生成SSL证书和密钥

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

生成自签名证书

# 创建一个目录来存放证书和密钥
mkdir -p /etc/filebeat/ssl

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

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

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

将证书和密钥添加到Elasticsearch

将生成的filebeat.crtfilebeat.key文件复制到Elasticsearch服务器上的相应目录,并确保Elasticsearch配置文件elasticsearch.yml中启用了SSL/TLS。

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

2. 配置Filebeat

编辑Filebeat的配置文件filebeat.yml,启用SSL/TLS并指定证书和密钥的路径。

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/ssl/filebeat.crt"]
  ssl.certificate: "/etc/filebeat/ssl/filebeat.crt"
  ssl.key: "/etc/filebeat/ssl/filebeat.key"

3. 重启Filebeat

保存配置文件后,重启Filebeat服务以应用更改。

sudo systemctl restart filebeat

4. 验证SSL/TLS连接

你可以使用curl命令来验证Filebeat与Elasticsearch之间的SSL/TLS连接是否正常。

curl -k --cacert /etc/filebeat/ssl/filebeat.crt --cert /etc/filebeat/ssl/filebeat.crt --key /etc/filebeat/ssl/filebeat.key https://your_elasticsearch_host:9200

如果连接成功,你应该会看到Elasticsearch的响应。

通过以上步骤,你可以在Ubuntu上配置Filebeat以实现数据加密传输。

0
看了该问题的人还看了