Ubuntu防火墻日志查看與分析指南
Ubuntu系統中,防火墻日志是監控網絡流量、識別安全威脅的核心工具。主流防火墻工具(UFW、iptables)的日志查看與分析方法如下:
UFW(Uncomplicated Firewall)是Ubuntu默認的簡化防火墻工具,其日志管理便捷,適合大多數用戶場景。
默認情況下,UFW可能未開啟日志功能。通過以下命令啟用:
sudo ufw logging on
如需調整日志詳細程度,可使用logging命令設置級別(low/medium/high/full),例如:
sudo ufw logging medium # 記錄常規連接信息,平衡性能與詳細度
UFW日志默認存儲在/var/log/ufw.log。常用查看命令:
sudo tail -f /var/log/ufw.log(實時刷新,適合監控實時流量)sudo cat /var/log/ufw.log(一次性顯示全部內容,適合離線分析)UFW日志也會同步到系統日志(journalctl),可通過以下命令查看:
sudo journalctl -u ufw # 查看UFW服務啟動以來的所有日志
sudo journalctl -u ufw -f # 實時監控UFW日志
/etc/ufw/ufw.conf,找到logfile選項并修改(如logfile = /var/log/my_ufw.log),重啟UFW生效。/etc/rsyslog.d/50-default.conf,添加:msg, contains, "UFW " -/var/log/ufw_all.log,然后重啟rsyslog服務。若系統使用iptables(UFW底層依賴的工具),需通過以下步驟查看日志:
使用LOG目標添加日志規則,例如記錄所有INPUT鏈的流量:
sudo iptables -A INPUT -j LOG
如需添加日志前綴(方便過濾),可使用--log-prefix:
sudo iptables -A INPUT -j LOG --log-prefix "** SUSPECT INPUT **"
為避免日志過多,建議限制日志級別(如--log-level 4,對應warning級別)。
iptables日志默認存儲在/var/log/kern.log(Ubuntu)或/var/log/syslog(Debian)。常用命令:
sudo tail -f /var/log/kern.log | grep "LOG"(過濾出LOG記錄)sudo grep "** SUSPECT INPUT **" /var/log/kern.log(快速定位可疑流量)查看日志后,需通過關鍵詞和工具提取關鍵信息:
sudo grep "BLOCK" /var/log/ufw.log | awk '{print $8}' | sort | uniq -c | sort -nr(統計被阻止的IP次數,找出高頻攻擊源)sudo grep "DPT=22" /var/log/ufw.log(查看SSH端口(22)的連接記錄,排查暴力破解)sudo awk '/UFW BLOCK/ {print $1,$2,$8,$10,$11,$12}' /var/log/ufw.log(提取時間、源IP、目的IP、端口等信息,格式化輸出)BLOCK記錄,且源IP不同(如針對SSH端口22的多次失敗登錄)。DENY記錄(如DPT=22、DPT=80、DPT=443等)。root用戶,需使用sudo查看。ufw.log.1、ufw.log.2.gz),避免單個日志文件過大??赏ㄟ^logrotate工具調整輪轉策略。