CentOS下Filebeat安全设置指南
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配置。

