Ubuntu下Filebeat安全设置
导读:1. 更新Filebeat至最新版本 保持Filebeat为最新版本是安全基础,新版本通常包含安全补丁与漏洞修复。使用以下命令更新: sudo apt-get update && sudo apt-get upgrade f...
1. 更新Filebeat至最新版本
保持Filebeat为最新版本是安全基础,新版本通常包含安全补丁与漏洞修复。使用以下命令更新:
sudo apt-get update &
&
sudo apt-get upgrade filebeat
2. 配置防火墙限制访问
使用UFW(Uncomplicated Firewall)限制Filebeat仅能与必要服务(如Elasticsearch、Kibana)通信,禁止未授权IP访问:
sudo ufw allow 5044/tcp # Filebeat默认输出端口
sudo ufw allow 9200/tcp # Elasticsearch默认端口(若需直接访问)
sudo ufw allow 5601/tcp # Kibana默认端口(若需通过Kibana管理)
sudo ufw enable # 启用防火墙
3. 启用TLS/SSL加密传输
通过SSL/TLS加密Filebeat与Elasticsearch之间的数据,防止中间人攻击。步骤如下:
- 生成证书:使用OpenSSL创建CA、服务器证书(Elasticsearch用)和客户端证书(Filebeat用):
mkdir -p /etc/filebeat/certs # 生成CA证书(有效期10年) openssl req -x509 -newkey rsa:4096 -keyout /etc/filebeat/certs/ca.key -out /etc/filebeat/certs/ca.crt -days 3650 -nodes -subj "/C=US/ST=California/L=San Francisco/O=YourOrg/CN=FilebeatCA" # 生成Elasticsearch服务器证书 openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/server.key -out /etc/filebeat/certs/server.csr -nodes -subj "/C=US/ST=California/L=San Francisco/O=YourOrg/CN=your-elasticsearch-host" openssl x509 -req -in /etc/filebeat/certs/server.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/server.crt -days 3650 # 生成Filebeat客户端证书 openssl req -newkey rsa:4096 -keyout /etc/filebeat/certs/client.key -out /etc/filebeat/certs/client.csr -nodes -subj "/C=US/ST=California/L=San Francisco/O=YourOrg/CN=filebeat-client" openssl x509 -req -in /etc/filebeat/certs/client.csr -CA /etc/filebeat/certs/ca.crt -CAkey /etc/filebeat/certs/ca.key -CAcreateserial -out /etc/filebeat/certs/client.crt -days 3650 - 配置Filebeat:编辑
/etc/filebeat/filebeat.yml,添加SSL参数:output.elasticsearch: hosts: ["https://your-elasticsearch-host:9200"] ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"] ssl.certificate: "/etc/filebeat/certs/client.crt" ssl.key: "/etc/filebeat/certs/client.key" ssl.verify_mode: certificate # 验证服务器证书
4. 配置Elasticsearch认证
启用Elasticsearch的X-Pack安全功能,创建专用用户并配置Filebeat使用认证:
- 启用X-Pack安全:编辑
/etc/elasticsearch/elasticsearch.yml,添加:重启Elasticsearch使配置生效:xpack.security.enabled: truesudo systemctl restart elasticsearch - 创建Filebeat用户:使用Kibana Dev Tools或Elasticsearch API创建具有
read角色的用户(仅能读取数据):curl -X POST "localhost:9200/_security/user/filebeat_user?pretty" -H 'Content-Type: application/json' -d' { "password" : "StrongPassword123!", "roles" : [ "read" ], "full_name" : "Filebeat Log Collector" } ' - 配置Filebeat认证:在
filebeat.yml的output.elasticsearch部分添加认证信息:output.elasticsearch: hosts: ["https://your-elasticsearch-host:9200"] ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"] ssl.certificate: "/etc/filebeat/certs/client.crt" ssl.key: "/etc/filebeat/certs/client.key" basic_auth: username: "filebeat_user" password: "StrongPassword123!"
5. 使用非特权用户运行Filebeat
避免以root用户运行Filebeat,降低权限滥用风险。创建专用用户并修改服务配置:
sudo useradd -r -s /bin/false filebeat # 创建系统用户(无登录权限)
sudo chown -R filebeat:filebeat /etc/filebeat # 修改配置文件所有权
sudo systemctl edit filebeat # 编辑服务单元文件,添加User和Group
在编辑器中添加以下内容:
[Service]
User=filebeat
Group=filebeat
保存后重启Filebeat:
sudo systemctl daemon-reload
sudo systemctl restart filebeat
6. 最小化数据采集范围
仅采集必要的日志文件,减少敏感数据暴露风险。例如,仅监控/var/log/syslog和/var/log/auth.log:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/auth.log
exclude_lines: ["^DBG"] # 排除调试日志(可选)
7. 配置日志轮换与审计
使用logrotate定期轮换Filebeat自身日志,防止日志文件过大或被篡改:
sudo nano /etc/logrotate.d/filebeat
添加以下内容(每日轮换,保留7天,压缩旧日志):
/var/log/filebeat/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
create 0640 filebeat filebeat
sharedscripts
postrotate
systemctl kill -s HUP filebeat.service
endscript
}
8. 启用Filebeat内部监控
开启Filebeat的监控功能,记录其运行状态和日志,便于及时发现异常:
logging.level: info # 设置日志级别(info/warn/error)
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat.log
keepfiles: 7 # 保留7天日志
permissions: 0640
9. 定期执行安全审计
- 检查Filebeat日志(
/var/log/filebeat/filebeat.log)是否有异常错误或未授权访问尝试。 - 定期更新Filebeat及Elastic Stack组件(如Elasticsearch、Kibana),确保安全补丁及时应用。
- 使用
filebeat test config命令验证配置文件语法,避免配置错误导致的安全漏洞:sudo filebeat test config -e
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Filebeat安全设置
本文地址: https://pptw.com/jishu/744777.html
