Debian下Filebeat安全設置指南
通過Debian官方源或Elastic官方源安裝Filebeat,推薦使用Elastic源以確保版本兼容性。
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update && sudo apt install filebeat
限制配置文件及日志文件的訪問權限,避免未授權讀取或修改。
sudo useradd -r -s /sbin/nologin filebeat # 創建無登錄權限的系統用戶
sudo chown -R filebeat:filebeat /etc/filebeat # 配置文件歸專用用戶所有
sudo chmod -R 750 /etc/filebeat # 限制配置文件訪問權限(所有者可讀寫執行,組用戶可讀執行,其他用戶無權限)
sudo chown -R filebeat:filebeat /var/log/filebeat # 日志文件歸專用用戶所有
sudo chmod -R 750 /var/log/filebeat # 日志文件權限設置
保護日志數據在傳輸過程中的安全,防止數據泄露或篡改。
/etc/ssl/certs/
目錄(例如filebeat.crt
和filebeat.key
)。/etc/filebeat/filebeat.yml
配置文件,啟用TLS:output.elasticsearch:
hosts: ["elasticsearch.example.com:9200"]
username: "elastic" # 替換為Elasticsearch用戶名
password: "your_secure_password" # 替換為Elasticsearch密碼
ssl.enabled: true
ssl.certificate_authorities: ["/etc/ssl/certs/ca.crt"] # CA證書路徑(驗證Elasticsearch證書)
ssl.certificate: "/etc/ssl/certs/filebeat.crt" # Filebeat客戶端證書
ssl.key: "/etc/ssl/certs/filebeat.key" # Filebeat私鑰
避免以root用戶運行Filebeat,降低權限提升風險。
/etc/systemd/system/filebeat.service
),指定用戶:[Service]
User=filebeat
Group=filebeat
sudo systemctl daemon-reload
sudo systemctl restart filebeat
通過防火墻規則限制對Filebeat和Elasticsearch的訪問,僅允許可信IP或網絡。
ufw
(推薦)配置防火墻:sudo ufw allow from 192.168.1.0/24 to any port 5044 # 允許內網IP訪問Logstash端口(若使用)
sudo ufw allow from 127.0.0.1 to any port 9200 # 僅允許本地訪問Elasticsearch
sudo ufw enable # 啟用防火墻
iptables
:sudo iptables -A INPUT -p tcp --dport 5044 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9200 -s 127.0.0.1 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4 # 保存規則
減少攻擊面,僅啟用必需的輸入模塊和功能。
/etc/filebeat/filebeat.yml
,注釋或刪除未使用的模塊(如system
模塊若無需收集系統日志):filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log # 僅保留需要的日志路徑
# - type: system # 注釋掉未使用的系統模塊
# enabled: true
setup.ilm.enabled: false
跟蹤Filebeat運行狀態,及時發現異常。
logging.level: info # 日志級別(info/warning/error)
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat.log
keepfiles: 7 # 保留7天日志
permissions: 0640 # 日志文件權限
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.hosts: ["elasticsearch.example.com:9200"]
保持Filebeat版本最新,修復已知安全漏洞。
sudo apt update && sudo apt upgrade filebeat
/etc/filebeat/filebeat.yml
是否有未授權的修改(如新增不必要的模塊或輸出)。/var/log/filebeat/filebeat.log
)是否有異常錯誤或警告。進一步限制Filebeat可執行的系統調用,減少潛在的安全風險。
/etc/filebeat/filebeat.yml
,配置Seccomp:seccomp.default_action: deny # 默認拒絕所有系統調用
seccomp.allowed_syscalls:
- read
- write
- open
- close
- stat
- fstat
- lseek
- mmap
- mprotect
- munmap
- brk
- rt_sigaction
- rt_sigprocmask
- exit_group
sudo systemctl restart filebeat
通過以上步驟,可在Debian系統上實現Filebeat的安全配置,覆蓋權限管理、加密傳輸、訪問控制、功能限制等多個維度,保障日志收集與傳輸過程的安全性。