首页主机资讯centos filebeat如何安全传输数据

centos filebeat如何安全传输数据

时间2025-12-02 02:53:05发布访客分类主机资讯浏览588
导读:在 CentOS 上,建议通过 TLS 加密通道、强认证与最小权限来保障 Filebeat 到后端(Elasticsearch 或 Logstash)的数据传输安全。 整体安全原则 启用 TLS/SSL 加密,避免明文传输日志。 启用 身...

在 CentOS 上,建议通过 TLS 加密通道、强认证与最小权限来保障 Filebeat 到后端(Elasticsearch 或 Logstash)的数据传输安全。

整体安全原则

  • 启用 TLS/SSL 加密,避免明文传输日志。
  • 启用 身份认证(Elasticsearch 基本认证或 API Key),并采用 最小权限 的专属用户。
  • 使用 受信任的证书(企业 CA 或 elasticsearch-certutil 生成),并正确设置证书链与主机校验。
  • 加固 系统与网络:最小权限运行、限制端口访问、开启防火墙、密钥文件权限最小化。

方案一 直连 Elasticsearch 的安全配置

  • 证书准备(推荐企业 CA 或 elasticsearch-certutil)
    • 生成 CA:elasticsearch-certutil ca --pem --out /etc/filebeat/certs/ca.crt
    • 为 Filebeat 签发客户端证书(包含用于连接的 DNS/IP SAN):
      elasticsearch-certutil cert --pem --ca-cert /etc/filebeat/certs/ca.crt --ca-key /etc/filebeat/certs/ca.key --out /etc/filebeat/certs/filebeat.crt --key /etc/filebeat/certs/filebeat.key
    • ca.crt 部署到所有 Filebeat 节点;将 filebeat.crt/filebeat.key 部署到对应 Filebeat 节点。
  • Filebeat 配置示例(/etc/filebeat/filebeat.yml)
    • 输入
      • filebeat.inputs:
        • type: log enabled: true paths:
          • /var/log/*.log
    • 输出(启用 TLS 与认证)
      • output.elasticsearch:
        • hosts: [“https://es.example.com:9200”]
        • ssl.enabled: true
        • 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”
        • username: “filebeat_writer”
        • password: “< strong_password> ”
  • 服务端要求
    • Elasticsearch 需启用 X-Pack SecurityHTTP SSL/TLS,并信任同一 CA,以接受来自 Filebeat 的客户端证书或基于用户名/密码的请求。
  • 防火墙放行
    • sudo firewall-cmd --permanent --add-port=9200/tcp & & sudo firewall-cmd --reload

方案二 经由 Logstash 的安全配置

  • Logstash 输入(/etc/logstash/conf.d/beats.conf 片段)
    • input {
      • beats {
        • port => 5044
        • ssl => true
        • ssl_certificate_authorities => [“/etc/logstash/certs/ca.crt”]
        • ssl_certificate => “/etc/logstash/certs/logstash.crt”
        • ssl_key => “/etc/logstash/certs/logstash.key”
        • ssl_verify_mode => “force_peer” }
    • }
  • Filebeat 输出(/etc/filebeat/filebeat.yml 片段)
    • output.logstash:
      • hosts: [“logstash.example.com:5044”]
      • ssl.enabled: true
      • 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”
  • 证书要点
    • 为 Logstash 生成服务器证书,并在证书的 SAN(Subject Alternative Name) 中包含 Logstash 主机名或 IP,否则客户端会因证书校验失败而拒绝连接(常见报错为 “doesn’t contain any IP SANs”)。
  • 防火墙放行
    • sudo firewall-cmd --permanent --add-port=5044/tcp & & sudo firewall-cmd --reload

证书与连通性验证

  • 校验配置语法并查看关键日志
    • sudo filebeat test config -c /etc/filebeat/filebeat.yml
    • sudo filebeat test output
    • sudo journalctl -u filebeat -f
  • 连接与证书校验
    • 直连 ES:curl -vk https://es.example.com:9200
    • 直连 Logstash:openssl s_client -connect logstash.example.com:5044 -CAfile /etc/filebeat/certs/ca.crt
  • 证书 SAN 要求
    • 当使用 IP 直连或作为服务器证书时,务必在证书中包含相应 IP SAN,避免证书校验失败。

系统加固与运维要点

  • 文件与权限
    • chown -R root:filebeat /etc/filebeat/certs
    • chmod 600 /etc/filebeat/certs/*.key
  • 最小权限运行
    • 建议以 非 root 用户运行 Filebeat(官方 RPM 包通常已提供 filebeat 用户与 systemd 单元)。
  • 防火墙与网络
    • 仅开放必要端口(如 92005044),限制来源网段。
  • 安全更新
    • 定期执行 sudo yum update -y filebeat 及相关组件,及时修补漏洞。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos filebeat如何安全传输数据
本文地址: https://pptw.com/jishu/760845.html
centos filebeat如何处理大量日志 centos下sqlplus恢复方法

游客 回复需填写必要信息