CentOS上Filebeat安全设置有哪些
导读:CentOS上Filebeat安全设置清单 一 身份与权限最小化 使用专用的非特权系统用户运行Filebeat,禁止以root直接运行,降低被提权风险。创建用户示例:sudo useradd filebeat -r -M -s /sbin...
CentOS上Filebeat安全设置清单
一 身份与权限最小化
- 使用专用的非特权系统用户运行Filebeat,禁止以root直接运行,降低被提权风险。创建用户示例:
sudo useradd filebeat -r -M -s /sbin/nologin。 - 收紧关键文件与目录权限:配置文件**/etc/filebeat/filebeat.yml建议权限为640并属主filebeat:filebeat**;日志目录**/var/log/filebeat属主filebeat:filebeat**,避免其他用户读取敏感日志或配置。
- 如系统启用SELinux,应为Filebeat访问的日志路径设置正确的SELinux上下文,或按需调整策略;不建议直接永久关闭SELinux,以免影响整体系统安全基线。
- 在systemd服务单元中,确保以非特权用户启动(如通过服务文件配置User=filebeat),并限制不必要的系统权限。
二 传输加密与认证
- 对输出到Elasticsearch的链路启用TLS/SSL:设置
ssl.enabled: true,提供CA证书、客户端证书与私钥,并开启证书校验(如ssl.verification_mode: certificate),防止明文传输与中间人攻击。 - 启用Elasticsearch X-Pack Security时,配置用户名/密码或API Key进行身份认证;若Elasticsearch同时启用了传输层与HTTP层SSL,Filebeat侧需对应配置
xpack.security.transport.ssl与xpack.security.http.ssl相关项(如keystore/truststore路径)。 - 若经由Logstash转发,建议在Logstash输入与输出双向启用TLS,避免明文通道;证书与密钥集中存放于受控目录并设置最小权限。
三 网络与防火墙隔离
- 仅开放必需端口:到Elasticsearch使用9200/TCP(HTTPS),到Logstash使用5044/TCP(Beats协议);使用firewalld精细化放行,例如:
sudo firewall-cmd --permanent --zone=public --add-port=9200/tcp与sudo firewall-cmd --permanent --zone=public --add-port=5044/tcp,随后firewall-cmd --reload。 - 将日志收集网段与服务网段进行网络隔离/VPC划分,仅允许Filebeat主机对受控的Elasticsearch/Logstash端点发起连接,减少攻击面。
四 配置与运行安全
- 以最小功能集运行:仅启用必要的inputs/modules,禁用不需要的模块与功能,减少潜在攻击向量与资源占用。
- 保护敏感凭据:避免在配置中明文写入密码,优先使用安全的凭据存储或API Key;对配置文件与密钥文件设置600/640权限并限制属主为filebeat。
- 开启监控与日志:启用Filebeat自身监控(如
xpack.monitoring.collection.enabled: true)并输出到受控的监控集群;持续审计Filebeat运行日志(如**/var/log/filebeat/filebeat**)与系统日志,及时发现异常。 - 保持版本更新:定期升级Filebeat至包含最新安全补丁的版本,降低已知漏洞风险。
五 最小化配置示例
- 目标:输出到启用安全特性的Elasticsearch,使用证书与账号认证,最小权限运行。
- 参考片段:
- filebeat.yml(节选)
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log output.elasticsearch: hosts: ["https://es.example.com:9200"] 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" username: "filebeat_writer" password: "YOUR_SECURE_PASSWORD" xpack.monitoring.collection.enabled: true xpack.monitoring.elasticsearch.hosts: ["https://es.example.com:9200"] - 权限与用户
sudo useradd -r -M -s /sbin/nologin filebeat sudo chown filebeat:filebeat /etc/filebeat/filebeat.yml sudo chmod 640 /etc/filebeat/filebeat.yml sudo chown -R filebeat:filebeat /var/log/filebeat - 防火墙
sudo firewall-cmd --permanent --add-port=9200/tcp sudo firewall-cmd --reload
- filebeat.yml(节选)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS上Filebeat安全设置有哪些
本文地址: https://pptw.com/jishu/778850.html
