Ubuntu防火墻(UFW)阻止惡意攻擊的配置方法
UFW(Uncomplicated Firewall)是Ubuntu默認的防火墻管理工具,以簡單易用著稱。首先通過以下命令安裝(多數新系統已預裝)并啟用:
sudo apt update
sudo apt install ufw
sudo ufw enable # 啟用防火墻,系統會提示確認
啟用后,UFW會默認拒絕所有傳入連接、允許所有傳出連接,這是防范惡意攻擊的基礎策略。
默認策略是防火墻的第一道防線,建議保持以下設置:
sudo ufw default deny incoming # 拒絕所有傳入連接(防止未授權訪問)
sudo ufw default allow outgoing # 允許所有傳出連接(不影響系統正常上網)
此策略可有效減少潛在攻擊面,避免惡意流量進入系統。
根據系統需求,僅開放必需的服務端口(如Web服務器的80/443端口、SSH的22端口),關閉不必要的端口(如Telnet的23端口、FTP的21端口)。例如:
sudo ufw allow 22/tcp # 允許SSH連接(遠程管理)
sudo ufw allow 80/tcp # 允許HTTP連接(Web服務)
sudo ufw allow 443/tcp # 允許HTTPS連接(加密Web服務)
sudo ufw deny 23/tcp # 拒絕Telnet連接(明文傳輸,易被竊聽)
僅開放必要端口可降低惡意攻擊的目標數量。
對于敏感服務(如SSH),可通過IP白名單限制訪問來源,避免陌生IP的非法連接。例如,僅允許公司IP(192.168.1.100)訪問SSH:
sudo ufw allow from 192.168.1.100 to any port 22
此規則可有效防止未經授權的IP嘗試暴力破解或非法訪問。
惡意攻擊(如DDoS、SSH暴力破解)通常伴隨高頻連接請求,可通過limit規則限制單個IP的連接速率。例如,限制SSH連接每分鐘最多3次,超過則暫時拒絕:
sudo ufw limit ssh/tcp # 等同于:sudo ufw limit from any to any port 22 proto tcp
該規則可有效緩解高頻攻擊,避免系統資源耗盡。
開啟UFW日志功能,記錄所有符合規則的連接嘗試,便于后續分析惡意行為。例如,設置日志級別為medium(平衡詳細程度與性能):
sudo ufw logging on # 啟用日志
sudo ufw logging medium # 設置日志級別(可選:low/medium/high/full)
日志文件默認存儲在/var/log/ufw.log,可通過tail -f /var/log/ufw.log實時查看活動記錄。
對于復雜場景(如限制端口范圍、過濾特定協議),可使用iptables補充UFW的功能。例如,限制1000-2000端口的TCP連接:
sudo iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
需注意,iptables規則需手動保存(sudo iptables-save > /etc/iptables/rules.v4)才能在重啟后生效。
防火墻并非萬能,需配合以下措施進一步增強安全性:
sudo apt update && sudo apt upgrade安裝最新安全補丁,修復已知漏洞;PermitRootLogin no)、使用密鑰對認證(PasswordAuthentication no)、更改默認SSH端口(如2222);fail2ban工具自動封禁多次嘗試失敗的IP,結合journalctl分析服務日志。通過以上配置,Ubuntu防火墻可有效阻止惡意攻擊(如DDoS、暴力破解、非法端口掃描),保護系統免受未授權訪問。需根據實際需求調整規則,并定期檢查更新防火墻配置。