CentOS系统Filebeat安全设置
导读:CentOS 上 Filebeat 的安全设置清单 一 运行身份与最小权限 使用专用的非特权系统用户运行 Filebeat,禁止以 root 直接运行。 设置关键文件与目录的所有权与权限,避免敏感信息泄露与篡改。 建议将日志目录与配置目录...
CentOS 上 Filebeat 的安全设置清单
一 运行身份与最小权限
- 使用专用的非特权系统用户运行 Filebeat,禁止以 root 直接运行。
- 设置关键文件与目录的所有权与权限,避免敏感信息泄露与篡改。
- 建议将日志目录与配置目录归属 filebeat 用户,仅对属主可读写,其他用户只读或不可访问。
示例操作
- 创建系统用户(不创建家目录、不可登录):sudo useradd filebeat -r -M -s /sbin/nologin
- 配置文件权限:sudo chown filebeat:filebeat /etc/filebeat/filebeat.yml & & sudo chmod 640 /etc/filebeat/filebeat.yml
- 日志目录权限:sudo chown -R filebeat:filebeat /var/log/filebeat & & sudo chmod 750 /var/log/filebeat
- 服务单元安全:编辑 /usr/lib/systemd/system/filebeat.service,在 [Service] 下添加 User=filebeat、Group=filebeat,然后执行 systemctl daemon-reload 并重启服务。
二 传输加密与身份认证
- 与 Elasticsearch/Logstash 通信启用 TLS/SSL,并开启证书校验(避免使用 ssl.verification_mode: none)。
- 使用 CA 证书 校验服务端,必要时配置客户端证书(双向 TLS)。
- 为 Elasticsearch 启用 用户名/密码 或 API Key 认证,并在 Filebeat 配置中设置凭证。
示例配置片段
- 输出到启用安全特性的 Elasticsearch
- hosts: [“https://es.example.com:9200”]
- ssl.verification_mode: certificate
- ssl.certificate_authorities: [“/etc/pki/tls/certs/ca.crt”]
- ssl.certificate: “/etc/pki/tls/certs/filebeat.crt”
- ssl.key: “/etc/pki/tls/private/filebeat.key”
- username: “filebeat_writer”
- password: “< 强密码或API Key> ”
- 如部署自签名证书,先生成 CA 与节点证书,再在 ES 与 Filebeat 两侧正确配置 CA 与证书路径。
三 网络边界与防火墙
- 仅开放必要端口与来源网段,避免使用 0.0.0.0/0 的放行策略。
- 若 Filebeat 直连 ES(端口 9200/9243),仅允许来自 Filebeat 主机的访问;若经由 Logstash(常见 5044),仅开放 Logstash 端口给 Filebeat。
- 使用 firewalld 持久化规则并定期审计。
示例操作
- 放行 Filebeat → Logstash:sudo firewall-cmd --permanent --zone=public --add-port=5044/tcp & & sudo firewall-cmd --reload
- 放行 Filebeat → Elasticsearch(HTTPS):sudo firewall-cmd --permanent --zone=public --add-port=9200/tcp & & sudo firewall-cmd --reload
- 更严格的来源限制(示例仅允许 10.0.1.0/24):firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“10.0.1.0/24” port port=“9200” protocol=“tcp” accept’
四 文件与进程安全
- 配置文件与密钥文件权限最小化:/etc/filebeat/filebeat.yml 建议 640,私钥 600,仅属主可读写。
- 启用 SELinux 并配置正确的文件上下文,避免直接关闭 SELinux;确需临时排障时可使用 setenforce 0,但生产环境应保持开启并正确打标。
- 配置 logrotate 对 Filebeat 日志进行轮转与压缩,控制磁盘占用并保留审计能力。
示例操作
- 私钥权限:sudo chmod 600 /etc/pki/tls/private/filebeat.key & & sudo chown filebeat:filebeat /etc/pki/tls/private/filebeat.key
- SELinux 打标(示例):sudo semanage fcontext -a -t system_u:object_r:var_log_t:s0 /var/log/filebeat(/.*)? & & sudo restorecon -R /var/log/filebeat
- logrotate 示例(/etc/logrotate.d/filebeat)
- /var/log/filebeat/*.log {
- daily
- missingok
- rotate 7
- compress
- notifempty
- create 640 filebeat filebeat
- }
- /var/log/filebeat/*.log {
五 运行监控与维护
- 启用 Filebeat 自身监控(如 xpack.monitoring.collection.enabled: true),并在 Kibana 观察吞吐、丢事件、延迟与错误。
- 集中采集与告警 Filebeat 日志(/var/log/filebeat/filebeat),关注 TLS 握手失败、认证失败、权限拒绝与输出不可用等关键错误。
- 保持 Filebeat 与依赖组件 的版本更新,及时修补安全漏洞;对配置与证书变更进行版本化管理与审计。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS系统Filebeat安全设置
本文地址: https://pptw.com/jishu/785612.html
