Ubuntu防火墻支持高度自定義,其核心工具為UFW(Uncomplicated Firewall)——一個基于iptables的簡化防火墻管理工具,既保留了底層防火墻的強大功能,又通過簡潔的命令行接口降低了配置復雜度,適合從新手到高級用戶的不同需求。
UFW允許用戶通過服務名稱(如ssh、http)或端口號(如22/tcp、80/tcp)快速配置規則,覆蓋常見的網絡服務需求:
sudo ufw allow ssh(等價于sudo ufw allow 22/tcp)用于開放SSH遠程登錄;sudo ufw allow 80/tcp開放HTTP網頁服務;sudo ufw allow 443/tcp開放HTTPS加密網頁服務。sudo ufw deny ftp(等價于sudo ufw deny 21/tcp),阻止外部對該端口的訪問。from關鍵字限定允許訪問的源IP,例如sudo ufw allow from 192.168.1.100允許特定IP(192.168.1.100)訪問所有端口;sudo ufw allow from 192.168.1.0/24允許整個網段(192.168.1.0-192.168.1.255)訪問。對于更精細的需求,UFW支持速率限制、端口范圍、協議類型及自定義應用配置文件等功能:
limit關鍵字限制特定端口的連接頻率,例如sudo ufw limit 22/tcp會限制SSH端口每分鐘最多6次新連接(超過的連接將被暫時封禁),有效防范暴力破解。start_port:end_port語法開放連續端口,例如sudo ufw allow 5000:6000/tcp允許TCP協議的5000至6000端口(常用于自定義應用或數據庫集群)。sudo ufw allow 53/udp開放DNS服務端口(UDP協議常用于域名解析)。/etc/ufw/applications.d/目錄下創建.rules文件(如myapp.rules),定義應用的端口和描述(例如ports=8080/tcp),然后通過sudo ufw allow 'MyApp'快速應用規則,適用于需要復用的自定義服務。UFW提供完善的規則管理功能,方便用戶根據需求調整配置:
sudo ufw status verbose查看當前所有規則(包括默認策略、允許/拒絕的端口及來源IP),verbose參數會顯示詳細信息(如規則的生效狀態)。sudo ufw delete allow 22/tcp(根據規則描述刪除);②sudo ufw status numbered(列出帶編號的規則)+sudo ufw delete [編號](根據編號刪除)。sudo ufw reset命令(執行后所有自定義規則將被刪除,需重新配置)。UFW可與第三方工具集成,進一步增強防火墻能力:
sudo ufw logging on啟用日志(默認路徑為/var/log/ufw.log),記錄所有被攔截或允許的流量,便于后續審計和排查問題;logging off可關閉日志。sudo apt install fail2ban)、編輯/etc/fail2ban/jail.local啟用SSH監控(enabled = true)并設置封禁閾值(如maxretry = 5,5次失敗后封禁)。通過上述功能,UFW能夠滿足Ubuntu用戶從基礎到高級的防火墻自定義需求,兼顧易用性與安全性。