温馨提示×

如何用Filebeat进行日志加密

小樊
49
2025-07-30 01:58:46
栏目: 网络安全

使用Filebeat进行日志加密可以通过以下两种主要方法实现:

使用Filebeat的加密功能(自6.0版本起支持)

  1. 生成密钥对
  • 使用OpenSSL或其他工具生成一个公钥和私钥对。例如:
    openssl genrsa -out private_key.pem 2048 openssl rsa -pubout -in private_key.pem -out public_key.pem 
  1. 配置Filebeat
  • 编辑Filebeat配置文件(通常位于 /etc/filebeat/filebeat.yml),并添加以下内容:
    filebeat.inputs: - type: log enabled: true paths: - /path/to/your/log/files/*.log processors: - encrypt: fields: - private_key_path: "/path/to/your/private_key.pem" - public_key_path: "/path/to/your/public_key.pem" - field: "your_field_to_encrypt" method: "AES" options: key: "your_encryption_key" cipher: "GCM" tag: "your_tag_for_encrypted_field" 
  1. 重启Filebeat
  • 保存配置文件并重启Filebeat服务以应用更改:
    sudo systemctl restart filebeat 

使用TLS/SSL加密进行数据传输

  1. 生成证书和密钥
  • 使用OpenSSL工具为Filebeat和目标服务器(例如Elasticsearch)生成一个SSL证书和相应的私钥。例如:
    mkdir -p /etc/filebeat/pki/tls/certs mkdir -p /etc/filebeat/pki/tls/private openssl req -subj '/CN=filebeat.example.com/' -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout /etc/filebeat/pki/tls/private/filebeat.key -out /etc/filebeat/pki/tls/certs/filebeat.crt 
  1. 配置Filebeat
  • 在Filebeat的配置文件中,指定SSL证书和密钥的位置,以及目标服务器的地址和端口。例如:
    filebeat.inputs: - type: log enabled: true paths: - /path/to/your/log/*.log output.elasticsearch: hosts: ["https://your-elasticsearch-server:9200"] ssl.certificate_authorities: ["/etc/filebeat/pki/tls/certs/ca.crt"] ssl.certificate: "/etc/filebeat/pki/tls/certs/filebeat.crt" ssl.key: "/etc/filebeat/pki/tls/private/filebeat.key" 
  1. 重启Filebeat
  • 保存配置文件后,重启Filebeat以使更改生效:
    sudo systemctl restart filebeat 

0