温馨提示×

CentOS下Filebeat安全设置指南

小樊
32
2025-11-29 19:14:33
栏目: 智能运维

CentOS下Filebeat安全设置指南

一 基础加固

  • 保持系统与安全组件为最新:执行sudo yum update -y,及时获取内核与软件安全修复。
  • 使用官方仓库安装并导入GPG:导入Elastic GPG KEY并配置仓库后安装Filebeat,确保软件来源可信。
  • 以最小权限运行:避免以root直接运行,使用系统服务账户并遵循最小权限原则;必要时通过文件系统权限与访问控制限制对配置与密钥的访问。
  • 加固配置文件与密钥:设置**/etc/filebeat/filebeat.yml**及证书私钥权限为仅属主可读(如600),属主为运行Filebeat的系统用户,避免泄露凭据。

二 传输加密与认证

  • 启用TLS加密:将输出指向https://地址,配置ssl.verification_modessl.certificate_authoritiesssl.certificatessl.key,确保传输机密性与完整性。
  • 配置强认证:为Elasticsearch启用用户名/密码或基于证书的认证,并在Filebeat中设置userpassword;如使用自签名CA,务必正确配置CA证书以通过验证。
  • 与Elasticsearch安全特性对齐:当Elasticsearch启用X-Pack Security时,Filebeat侧需开启相应安全选项(如xpack.security.enabled: true),并按需配置传输与HTTP层的SSL/TLS。

三 网络与防火墙

  • 最小化暴露面:仅开放必要端口,例如Elasticsearch的9200(TLS/HTTPS)与Kibana的5601(仅管理网段开放),避免将采集端口(如Logstash的5044)暴露公网。
  • 使用区域与源地址限制:通过firewall-cmd --zone=public仅允许来自受控网段的连接,并持久化规则。
  • 网络分区与ACL:在条件允许时,将日志收集网段与业务网段隔离,并在主机或边界防火墙实施源IP白名单

四 系统与服务安全

  • 正确启用SELinux:不建议直接关闭SELinux;如遇到采集受限,优先通过semanage fcontext/restorecon或布尔值调整策略,保持强制访问控制的有效性。
  • 服务与密钥文件权限:确保**/etc/filebeat/目录及子项仅对Filebeat运行账户可读,证书与私钥文件设置为600**并限制属主;禁止在配置中明文写入密码,优先使用安全的凭据管理方式。
  • 日志与审计:启用并监控**/var/log/filebeat/filebeat.log**,结合系统审计(auditd)跟踪对配置与密钥的访问;在Elastic Stack中开启xpack.monitoring以观察采集器健康与性能。

五 快速配置示例

  • 目标:将本机日志以TLS加密发送到启用了安全特性的Elasticsearch,使用账号密码认证,并仅开放必要端口。
  • 步骤与示例:
    1. 安装与导入GPG(略,见上文)。

    2. 生成或获取证书(示例为自签名CA与节点证书):
      sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
      -keyout /etc/pki/tls/private/filebeat.key -out /etc/pki/tls/certs/filebeat.crt
      -subj “/CN=filebeat/O=example.com”
      sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048
      -keyout /etc/pki/tls/private/es.key -out /etc/pki/tls/certs/es.crt
      -subj “/CN=elasticsearch/O=example.com”

    3. 配置**/etc/filebeat/filebeat.yml**(精简示例):
      filebeat.inputs:

      • type: log enabled: true paths:
        • /var/log/*.log

      output.elasticsearch: hosts: [“https://elasticsearch.example.com:9200”] ssl.enabled: true ssl.verification_mode: certificate ssl.certificate_authorities: [“/etc/pki/tls/certs/ca-bundle.crt”] ssl.certificate: “/etc/pki/tls/certs/filebeat.crt” ssl.key: “/etc/pki/tls/private/filebeat.key” username: “filebeat_writer” password: “StrongPassword!”

      setup.template.enabled: false xpack.monitoring.collection.enabled: true

    4. 防火墙仅开放必要端口:
      sudo firewall-cmd --permanent --zone=public --add-port=9200/tcp
      sudo firewall-cmd --reload

    5. 启动与开机自启:
      sudo systemctl start filebeat
      sudo systemctl enable filebeat

    6. 验证:
      sudo systemctl status filebeat
      tail -f /var/log/filebeat/filebeat.log
      说明:证书路径、主机名与凭据请按实际环境替换;Elasticsearch侧需启用xpack.security与相应TLS配置。

0