Filebeat在CentOS上的日志加密方法是什么
导读:Filebeat在CentOS上的日志加密方法 一、传输层加密 TLS 到 Elasticsearch 或 Logstash 适用场景:保护日志在网络传输过程中的机密性与完整性(最常见、优先采用)。 核心思路:在 Filebeat 输出侧...
Filebeat在CentOS上的日志加密方法
一、传输层加密 TLS 到 Elasticsearch 或 Logstash
- 适用场景:保护日志在网络传输过程中的机密性与完整性(最常见、优先采用)。
- 核心思路:在 Filebeat 输出侧启用 SSL/TLS,配置 CA/客户端证书,并在对端(Elasticsearch 或 Logstash)开启 TLS 监听与校验。
示例配置 filebeat.yml(输出到 Elasticsearch):
- 启用 TLS 并指定证书
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log output.elasticsearch: hosts: ["https://es.example.com:9200"] 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" username: "elastic" password: "your_password" - 若仅需单向校验(推荐先可用):可仅配置 ssl.certificate_authorities;如需双向认证(mTLS),再补充 ssl.certificate/ssl.key。
- 输出到 Logstash(Beats 协议)时,同样在 Logstash 的 Beats 输入启用 TLS,Filebeat 侧使用 https:// 或配置 TLS 参数与证书。
二、生成证书与密钥(自签名 CA 示例)
- 建议将证书集中到目录(如:/etc/filebeat/certs),并设置权限仅允许 root 读取。
- 生成自签名 CA
mkdir -p /etc/filebeat/certs openssl genrsa -out /etc/filebeat/certs/ca.key 2048 openssl req -x509 -new -nodes -key /etc/filebeat/certs/ca.key -sha256 -days 3650 \ -out /etc/filebeat/certs/ca.crt -subj "/CN=Filebeat-CA" - 为 Filebeat 生成客户端证书
openssl genrsa -out /etc/filebeat/certs/filebeat.key 2048 openssl req -new -key /etc/filebeat/certs/filebeat.key -out /etc/filebeat/certs/filebeat.csr -subj "/CN=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 365 -sha256 chmod 600 /etc/filebeat/certs/*.key - 将 ca.crt 分发到 Elasticsearch/Logstash 节点并配置信任;Filebeat 侧使用上述 ca.crt / filebeat.crt / filebeat.key。
三、对端服务配置要点(Elasticsearch 示例)
- 启用安全与传输层 TLS(示例为单节点演示,生产请按集群实际调整):
xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/certs/elastic-certificates.p12 - 若 Elasticsearch 对外也提供 HTTPS 访问,需在其 http.ssl 配置中启用证书与密钥,并重启服务。
四、启动与验证
- 重启服务
sudo systemctl restart filebeat sudo systemctl restart elasticsearch - 连接性验证(Elasticsearch)
curl -u elastic:your_password --cacert /etc/filebeat/certs/ca.crt \ --cert /etc/filebeat/certs/filebeat.crt --key /etc/filebeat/certs/filebeat.key \ https://es.example.com:9200 - 查看 Filebeat 自身日志以排查握手或证书错误
sudo journalctl -u filebeat -f - 若使用自签名证书,务必在所有相关节点导入 CA 证书,否则会出现证书不被信任的错误。
五、字段级加密与注意事项
- 字段级加密:Filebeat 原生不提供“对指定字段自动加密”的处理器;如需对敏感字段在写入前加密,建议在 Logstash 通过插件(如基于 AES 的加密插件)或在应用侧完成,再写入 Elasticsearch。
- 安全建议:
- 使用强密钥与足够长的有效期策略,并定期轮换证书与密钥。
- 传输层优先启用 TLS;对高安全场景启用 双向认证(mTLS)。
- 保护私钥文件权限(如 600),并限制证书分发范围。
- 自签名证书仅用于测试或内网;生产建议使用受信任 CA 签发的证书。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Filebeat在CentOS上的日志加密方法是什么
本文地址: https://pptw.com/jishu/770010.html
