首页主机资讯ubuntu如何配置filebeat的安全性

ubuntu如何配置filebeat的安全性

时间2025-11-27 08:29:04发布访客分类主机资讯浏览1145
导读:Ubuntu 上 Filebeat 安全性配置清单 一 身份与权限最小化 创建专用系统用户与目录,避免使用 root 运行: 创建用户与目录:sudo useradd -r -s /usr/sbin/nologin filebeat &...

Ubuntu 上 Filebeat 安全性配置清单

一 身份与权限最小化

  • 创建专用系统用户与目录,避免使用 root 运行:
    • 创建用户与目录:sudo useradd -r -s /usr/sbin/nologin filebeat & & sudo mkdir -p /var/lib/filebeat /var/log/filebeat
    • 调整目录属主:sudo chown -R filebeat:filebeat /var/lib/filebeat /var/log/filebeat /etc/filebeat
  • 以专用用户运行服务:编辑 /etc/systemd/system/filebeat.service.d/override.conf
    • 内容:
      [Service]
      User=filebeat
      Group=filebeat
      ProtectSystem=strict
      PrivateTmp=true
      NoNewPrivileges=true
      
    • 使配置生效:sudo systemctl daemon-reload & & sudo systemctl restart filebeat
  • 文件权限:对 /etc/filebeat/filebeat.yml 设置仅属主可读写:sudo chmod 600 /etc/filebeat/filebeat.yml
  • 说明:Filebeat 支持 非特权用户 运行,配合最小权限与系统加固可显著降低风险。

二 传输加密 TLS 与双向认证

  • 生成 CA 与证书(示例,生产请使用受控 CA 与强密钥):
    sudo mkdir -p /etc/filebeat/certs
    # CA
    openssl req -x509 -newkey rsa:4096 -keyout /etc/filebeat/certs/ca.key -out /etc/filebeat/certs/ca.crt -days 3650 -nodes -subj "/CN=YourCA"
    # Filebeat 客户端证书
    openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/filebeat.key -out /etc/filebeat/certs/filebeat.csr -nodes -subj "/CN=filebeat_client"
    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 3650
    # 如直连 ES,还需生成 ES 服务端证书(CN 与 ES 主机名或 IP 匹配)
    openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/es.key -out /etc/filebeat/certs/es.csr -nodes -subj "/CN=your_es_host"
    openssl x509 -req -in /etc/filebeat/certs/es.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/es.crt -days 3650
    sudo chown -R filebeat:filebeat /etc/filebeat/certs &
        &
         sudo chmod 600 /etc/filebeat/certs/*.key
    
  • 配置 Filebeat 输出(Elasticsearch 直连示例,启用双向 TLS):
    output.elasticsearch:
      hosts: ["https://your_elasticsearch_host:9200"]
      username: "filebeat_writer"
      password: "<
        StrongPassword>
    "
      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 时的 Beats 输入(Logstash 强制校验客户端证书):
    • Logstash input 片段:
      input {
      
        beats {
          
          port =>
           5044
          ssl =>
           true
          ssl_certificate =>
           "/etc/logstash/certs/logstash.crt"
          ssl_key       =>
           "/etc/logstash/certs/logstash.key"
          ssl_certificate_authorities =>
           ["/etc/logstash/certs/ca.crt"]
          ssl_verify_mode =>
       "force_peer"
        }
      
      }
          
      
    • Filebeat 输出到 Logstash:
      output.logstash:
        hosts: ["logstash_host:5044"]
        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"
      
  • 验证:sudo systemctl restart filebeat & & sudo systemctl status filebeat 并检查日志是否成功建立 TLS 连接。

三 认证与访问控制

  • Elasticsearch 启用安全特性后,为 Filebeat 创建最小权限角色(示例):
    • 角色权限:对目标索引仅授予 create_index、write、create_doc、view_index_metadata 等必要权限。
    • 用户与密码:在 Filebeat 的 output.elasticsearch.username/password 中使用该专用账号凭据。
  • 网络访问控制:
    • 仅允许 Filebeat 所在网段访问 Elasticsearch 9200Logstash 5044,使用 UFW 示例:
      sudo ufw allow from <
          filebeat_subnet>
           to any port 9200,5044 proto tcp
      sudo ufw enable
      
  • 原则:启用 TLS 证书校验基于角色的访问控制(RBAC),并限制来源 IP,避免未授权连接。

四 运行环境与系统加固

  • 系统与进程加固:
    • 启用 seccomp 以降低内核攻击面;如遇 glibc ≥ 2.35 在旧版本 Filebeat 上的兼容性问题,优先升级 Filebeat(如 ≥7.17.2)而非长期关闭 seccomp。
    • 示例(仅在必要时临时使用,升级优先):
      seccomp:
        enabled: false
      
  • 日志与审计:
    • 启用 Filebeat 自身日志并集中审计:sudo journalctl -u filebeat -f
    • 配置 logrotate/var/log/filebeat/filebeat 进行轮转与保留策略管理。
  • 版本与漏洞管理:
    • 定期更新 Filebeat 与依赖组件,及时修补安全漏洞;持续监控服务状态与异常日志。

五 快速核查清单

  • 运行身份为 filebeat 且关键文件权限为 600/700
  • Elasticsearch/Logstash 的通信已启用 TLS,证书与私钥受控且权限正确。
  • 已配置 强密码或 API Key,并按需启用 双向认证
  • 仅开放必要端口与来源网段,使用 UFW/安全组 限制访问。
  • 启用 seccomp 并尽量保持默认策略;如必须关闭,仅作为临时过渡。
  • 配置 logrotatejournald 审计,定期更新版本并巡检日志异常。

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


若转载请注明出处: ubuntu如何配置filebeat的安全性
本文地址: https://pptw.com/jishu/757531.html
如何解决Debian上Python安装错误 ubuntu filebeat如何与kafka集成

游客 回复需填写必要信息