Ubuntu防火墻安全審計的核心流程與實踐
安全審計的第一步是驗證防火墻是否啟用及基礎策略是否符合安全規范。使用sudo ufw status
查看防火墻狀態(若顯示“Status: inactive”則未啟用);通過sudo ufw default
檢查默認策略,必須確保默認拒絕所有入站連接(deny incoming)、允許所有出站連接(allow outgoing),這是最小權限原則的核心體現。
日志是安全審計的關鍵依據,ufw的日志默認存儲在/var/log/ufw.log
(也可通過/var/log/syslog
或/var/log/kern.log
查看iptables層的日志)。
sudo ufw logs
查看所有防火墻活動記錄(包括允許/拒絕的連接);sudo ufw logs -v
可顯示更詳細的源IP、目的IP、端口、協議等信息。sudo tail -f /var/log/ufw.log
實時跟蹤最新日志,快速發現異常連接嘗試(如頻繁的端口掃描、暴力破解)。grep
命令篩選特定信息,例如grep "DENY" /var/log/ufw.log
查看所有被拒絕的連接,grep "SSH" /var/log/ufw.log
聚焦SSH服務的訪問記錄。檢查現有規則是否符合業務需求,避免過度開放端口或遺留無用規則:
sudo ufw status numbered
(帶編號,便于后續刪除/修改);sudo ufw list
(簡潔列表)。確保ufw的日志記錄功能已開啟且級別合適:
sudo ufw logging on
(默認級別為“low”,記錄大部分事件);如需更詳細日志,可編輯/etc/ufw/ufw.conf
文件,將LOGLEVEL
設置為“medium”或“high”(注意:高級別日志會增加系統負載)。/etc/rsyslog.conf
或/etc/rsyslog.d/ufw.conf
中未修改ufw日志的默認存儲路徑,避免日志被重定向至其他位置。使用auditd
(Linux審計守護進程)監控防火墻相關系統調用,例如:
auditd
規則:sudo auditctl -a always,exit -F arch=b64 -S setsockopt -F a0=1 -F a1=2 -k firewall_rules
(監控防火墻規則變更);ausearch -k firewall_rules
,記錄誰、何時修改了防火墻規則,提升配置變更的可追溯性。