Ubuntu防火墻(UFW)禁用特定服務的操作步驟
禁用服務前需確保UFW處于激活狀態,避免規則未生效。執行以下命令啟用防火墻并設置默認拒絕所有外部訪問(增強安全性):
sudo ufw enable # 開啟防火墻(系統啟動時自動啟用)
sudo ufw default deny # 設置默認策略:拒絕所有外部對本機的入站連接,允許本機訪問外部
UFW通過“服務名稱”或“端口+協議”識別規則,需先確認要禁用的服務對應的信息:
/etc/services文件查詢(系統自帶):cat /etc/services | grep "服務名稱"(如smtp),輸出結果會顯示服務的端口和協議(如smtp 25/tcp表示SMTP服務使用25端口、TCP協議)。sudo ufw status,會列出當前允許的所有服務及對應端口(僅顯示已配置的規則)。使用sudo ufw deny命令+服務名稱或端口/協議組合,禁止外部訪問該服務:
sudo ufw deny smtp
/etc/services中定義的服務):sudo ufw deny 8080/tcp
若需禁用UDP協議,將tcp替換為udp即可(如sudo ufw deny 53/udp禁用DNS服務的UDP端口)。執行sudo ufw status查看防火墻規則列表,確認目標服務的禁用規則已添加(顯示為DENY狀態)。例如:
Status: active
To Action From
-- ------ ----
25/tcp DENY Anywhere
8080/tcp DENY Anywhere
若需重新啟用該服務,可通過delete命令刪除對應的禁用規則:
sudo ufw delete deny smtp
sudo ufw delete deny 8080/tcp
注意事項:
ssh服務用于遠程管理,禁用后可能導致無法遠程登錄)。from參數(如sudo ufw allow from 192.168.1.100 to any port 22允許指定IP訪問SSH端口)。iptables,復雜規則(如端口轉發、NAT)仍需直接配置iptables。