以下是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 filebeat
sudo tail -f /var/log/filebeat/filebeat.log
注意:生產環境中需使用有效證書,避免使用-k
參數忽略SSL驗證。