Linux Filebeat保障日志数据安全实践
一 传输加密与身份认证
output.elasticsearch:
hosts: ["https://es.example.com:9200"]
ssl.verification_mode: certificate
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
ssl: true、ssl_verify_mode: force_peer 并指定 ssl_certificate_authorities;Filebeat 在 output.logstash 指定 ssl.certificate_authorities、ssl.certificate、ssl.key。如使用 Logstash,其底层 Netty 要求服务器私钥为 PKCS#8,可用 openssl pkcs8 -in logstash.key -topk8 -nocrypt -out logstash.p8 转换后再用。示例(Filebeat 输出到 Logstash):output.logstash:
hosts: ["logstash.example.com:5044"]
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"]
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
二 身份与访问控制
三 采集与传输可靠性
四 主机与文件安全
五 快速检查清单
| 检查项 | 关键配置/动作 |
|---|---|
| 传输加密 | ES/LS 开启 TLS;Filebeat 输出配置 ssl.*;必要时启用 mTLS |
| 身份认证 | ES 启用 xpack.security;为 Filebeat 创建最小权限账号 |
| 访问控制 | 仅放通 5044/9200;来源 IP 白名单;VPC/VLAN 隔离 |
| 可靠性 | 持久化 registry;合理 shutdown_timeout;监控重试队列与反压 |
| 主机与文件 | 非 root 运行;证书 600 权限;logrotate/审计;及时更新与告警 |