Ubuntu防火墻(ufw)合理設置指南
Ubuntu系統默認未安裝ufw(Uncomplicated Firewall),需先通過以下命令安裝:
sudo apt update && sudo apt install ufw
安裝完成后,啟用ufw并設置為開機自啟:
sudo ufw enable
系統會提示確認,輸入y即可。啟用后,ufw會默認攔截所有未明確允許的傳入流量,保障初始安全。
合理的默認規則是防火墻的“第一道防線”,建議遵循“拒絕所有傳入,允許所有傳出”的原則:
sudo ufw default deny incoming # 拒絕所有外部對本地端口的訪問
sudo ufw default allow outgoing # 允許本地所有外發流量(如瀏覽網頁、下載文件)
此設置確保只有明確授權的流量能進入系統,降低被非法掃描或攻擊的風險。
根據系統用途開放所需端口,避免過度開放。常見場景如下:
sudo ufw allow 80/tcp # 允許HTTP(網頁服務)sudo ufw allow 443/tcp # 允許HTTPS(加密網頁)sudo ufw allow 22/tcp # 允許SSH(遠程管理,需替換為非默認端口更安全)sudo ufw allow 53/udp # 允許DNS解析ufw支持通過服務名快速開放端口(需服務已在系統中注冊):
sudo ufw allow ssh # 等同于允許22/tcp
sudo ufw allow http # 等同于允許80/tcp
sudo ufw allow https # 等同于允許443/tcp
限制訪問來源,僅允許可信IP訪問關鍵服務(如SSH):
sudo ufw allow from 192.168.1.100 # 允許單個IP訪問所有端口
sudo ufw allow from 192.168.1.0/24 # 允許整個網段訪問所有端口
sudo ufw allow from 10.0.0.5 to any port 22 # 允許特定IP訪問指定端口(如SSH)
針對SSH等易受暴力破解的服務,限制單位時間內的連接次數:
sudo ufw limit 22/tcp # 默認限制為每分鐘6次連接,超過則暫時封鎖IP。
sudo ufw statussudo ufw status verbosesudo ufw status numbered若需撤銷某條規則,可通過編號或規則內容刪除:
sudo ufw status numbered獲取編號):sudo ufw delete 2 # 刪除編號為2的規則sudo ufw delete allow 22/tcp # 刪除允許22/tcp的規則sudo ufw disablesudo ufw reset # 慎用,會清除所有自定義規則。/etc/ssh/sshd_config文件,修改Port 22為Port 2222,然后重啟SSH服務:sudo systemctl restart sshsudo ufw allow 2222/tcpsudo ufw logging on # 日志默認保存在/var/log/ufw.logtail -f /var/log/ufw.log實時查看日志。通過以上步驟設置ufw,可實現Ubuntu系統的基本安全防護。需根據實際業務需求調整規則,始終遵循“最小權限原則”——僅開放必要的端口和服務,最大程度降低安全風險。