centos

Filebeat在CentOS上如何进行日志加密

小樊
44
2025-07-10 15:43:09
栏目: 网络安全

在CentOS上使用Filebeat进行日志加密可以通过配置TLS/SSL加密传输来实现。以下是详细的步骤:

1. 安装Filebeat

首先,确保你已经在CentOS上安装了Filebeat。如果没有安装,可以使用以下命令进行安装:

sudo yum install filebeat

2. 生成SSL证书和密钥

使用OpenSSL生成SSL证书和密钥。以下是生成自签名证书的示例命令:

# 创建CA目录和文件
mkdir -p /etc/pki/tls/certs
mkdir -p /etc/pki/tls/private

# 生成CA私钥
openssl genrsa -out /etc/pki/tls/private/ca.key 2048

# 生成CA证书
openssl req -x509 -new -nodes -key /etc/pki/tls/private/ca.key -out /etc/pki/tls/certs/ca.crt -days 3650

# 生成Filebeat私钥
openssl genrsa -out /etc/pki/tls/private/filebeat.key 2048

# 生成CSR(证书签名请求)
openssl req -new -key /etc/pki/tls/private/filebeat.key -out /etc/pki/tls/certs/filebeat.csr -subj "/CN=<Filebeat_Server_IP>/"

# 使用CA证书签名CSR,生成Filebeat证书
openssl x509 -req -in /etc/pki/tls/certs/filebeat.csr -CA /etc/pki/tls/certs/ca.crt -CAkey /etc/pki/tls/private/ca.key -CAcreateserial -out /etc/pki/tls/certs/filebeat.crt -days 365

3. 配置Filebeat

编辑Filebeat的配置文件 /etc/filebeat/filebeat.yml,指定SSL证书和密钥的位置,以及目标服务器的地址和端口。

filebeat.inputs:
- type: log
  paths:
    - /path/to/your/log/*.log

output.elasticsearch:
  hosts:
    - ["https://your-elasticsearch-server:9200"]
  ssl.certificate_authorities:
    - "/etc/pki/tls/certs/ca.crt"  # CA证书的路径,用于验证目标服务器的身份
  ssl.certificate: "/etc/pki/tls/certs/filebeat.crt"  # Filebeat的证书路径
  ssl.key: "/etc/pki/tls/private/filebeat.key"  # Filebeat的私钥路径

4. 配置Elasticsearch

确保Elasticsearch已经配置为接受TLS连接。编辑 /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

然后,使用Elasticsearch的 elasticsearch-certutil 工具生成证书和密钥:

sudo /usr/share/elasticsearch/bin/elasticsearch-certutil ca --pem --out /etc/elasticsearch/certs/ca.crt
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --pem -in /etc/elasticsearch/certs/ca.crt -out /etc/elasticsearch/certs/elastic-certificates.p12 -pass ""

5. 重启Filebeat和Elasticsearch

完成配置后,重启Filebeat和Elasticsearch服务以应用更改:

sudo systemctl restart filebeat
sudo systemctl restart elasticsearch

6. 验证配置

确保Filebeat能够成功连接到Elasticsearch,并且日志数据是通过TLS加密传输的。你可以通过查看Elasticsearch的日志文件来验证这一点。

sudo tail -f /var/log/elasticsearch/filebeat.log

通过以上步骤,你可以在CentOS上使用Filebeat实现日志的加密传输。

0
看了该问题的人还看了