CentOS下Filebeat安全设置指南

一基础加固

保持系统与安全组件为最新:执行sudoyumupdate-y,及时获取内核与软件安全修复。

使用官方仓库安装并导入GPG:导入ElasticGPGKEY并配置仓库后安装Filebeat,确保软件来源可信。

以最小权限运行:避免以root直接运行,使用系统服务账户并遵循最小权限原则;必要时通过文件系统权限与访问控制限制对配置与密钥的访问。

加固配置文件与密钥:设置**/etc/filebeat/filebeat.yml**及证书私钥权限为仅属主可读(如600),属主为运行Filebeat的系统用户,避免泄露凭据。

二传输加密与认证

启用TLS加密:将输出指向https://地址,配置ssl.verification_mode、ssl.certificate_authorities、ssl.certificate与ssl.key,确保传输机密性与完整性。

配置强认证:为Elasticsearch启用用户名/密码或基于证书的认证,并在Filebeat中设置user与password;如使用自签名CA,务必正确配置CA证书以通过验证。

与Elasticsearch安全特性对齐:当Elasticsearch启用X-PackSecurity时,Filebeat侧需开启相应安全选项(如xpack.security.enabled:true),并按需配置传输与HTTP层的SSL/TLS。

三网络与防火墙

最小化暴露面:仅开放必要端口,例如Elasticsearch的9200(TLS/HTTPS)与Kibana的5601(仅管理网段开放),避免将采集端口(如Logstash的5044)暴露公网。

使用区域与源地址限制:通过firewall-cmd--zone=public仅允许来自受控网段的连接,并持久化规则。

网络分区与ACL:在条件允许时,将日志收集网段与业务网段隔离,并在主机或边界防火墙实施源IP白名单。

四系统与服务安全

正确启用SELinux:不建议直接关闭SELinux;如遇到采集受限,优先通过semanagefcontext/restorecon或布尔值调整策略,保持强制访问控制的有效性。

服务与密钥文件权限:确保**/etc/filebeat/目录及子项仅对Filebeat运行账户可读,证书与私钥文件设置为600**并限制属主;禁止在配置中明文写入密码,优先使用安全的凭据管理方式。

日志与审计:启用并监控**/var/log/filebeat/filebeat.log**,结合系统审计(auditd)跟踪对配置与密钥的访问;在ElasticStack中开启xpack.monitoring以观察采集器健康与性能。

五快速配置示例

目标:将本机日志以TLS加密发送到启用了安全特性的Elasticsearch,使用账号密码认证,并仅开放必要端口。

步骤与示例:

    安装与导入GPG(略,见上文)。

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

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

    type:logenabled:truepaths:

    /var/log/*.log

    output.elasticsearch:hosts:[“https://elasticsearch.example.com:9200”]ssl.enabled:truessl.verification_mode:certificatessl.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:falsexpack.monitoring.collection.enabled:true

    防火墙仅开放必要端口:sudofirewall-cmd--permanent--zone=public--add-port=9200/tcpsudofirewall-cmd--reload

    启动与开机自启:sudosystemctlstartfilebeatsudosystemctlenablefilebeat

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