以下是CentOS下Filebeat的安全设置步骤:
使用非特权用户运行
创建filebeat用户并修改服务配置:
sudo useradd filebeat
sudo usermod -aG filebeat $(whoami)
sudo vi /etc/systemd/system/filebeat.service
# 在[Service]段添加:User=filebeat Group=filebeat
sudo systemctl daemon-reload
sudo systemctl restart filebeat
启用SSL/TLS加密
sudo mkdir -p /etc/filebeat/certs
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/filebeat/certs/filebeat.key -out /etc/filebeat/certs/filebeat.crt
filebeat.yml:output.elasticsearch:
hosts: ["https://elasticsearch:9200"]
ssl.enabled: true
ssl.certificate: "/etc/filebeat/certs/filebeat.crt"
ssl.key: "/etc/filebeat/certs/filebeat.key"
ssl.certificate_authorities: ["/etc/filebeat/certs/ca.crt"] # 若使用CA证书
配置防火墙限制
仅允许特定IP访问Filebeat端口(默认5044):
sudo firewall-cmd --permanent --add-rich-rule='rule source address="192.168.1.0/24" port protocol=tcp port=5044 accept'
sudo firewall-cmd --reload
设置文件权限
限制配置文件和日志访问权限:
sudo chown -R filebeat:filebeat /etc/filebeat /var/log/filebeat
sudo chmod 600 /etc/filebeat/filebeat.yml
启用认证(可选)
若Elasticsearch启用X-Pack安全功能,需在filebeat.yml中配置认证:
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: "filebeat_user"
xpack.monitoring.elasticsearch.password: "your_password"
定期更新与监控
sudo yum update filebeatsudo tail -f /var/log/filebeat/filebeat.log注意:生产环境中需使用有效证书,避免使用-k参数忽略SSL验证。