Debian防火墻服務限制方法
在Debian系統中,服務限制主要通過ufw(Uncomplicated Firewall)或iptables工具實現,核心思路是默認拒絕所有入站流量,僅允許必要的服務端口通過,從而降低攻擊面。以下是具體操作步驟:
Debian默認未安裝ufw或iptables,需先通過以下命令安裝:
# 安裝ufw(推薦,簡單易用)
sudo apt update && sudo apt install ufw -y
# 或安裝iptables(底層工具,功能更靈活)
sudo apt update && sudo apt install iptables -y
ufw是Debian推薦的防火墻管理工具,通過“服務名稱”或“端口”快速配置規則,適合新手使用。
# 啟用ufw
sudo ufw enable
# 設置默認策略:拒絕所有入站連接,允許所有出站連接(安全基線)
sudo ufw default deny incoming
sudo ufw default allow outgoing
ufw內置了常見服務(如SSH、HTTP、HTTPS)的規則,可直接通過服務名允許:
# 允許SSH服務(默認端口22/tcp)
sudo ufw allow ssh
# 允許HTTP服務(端口80/tcp)
sudo ufw allow http
# 允許HTTPS服務(端口443/tcp)
sudo ufw allow https
若需禁用某項服務(如FTP,默認端口21/tcp),直接拒絕對應端口:
# 拒絕FTP服務(端口21/tcp)
sudo ufw deny ftp
# 或通過端口直接拒絕(如禁用8080/tcp端口)
sudo ufw deny 8080/tcp
可通過“源IP”限制僅特定設備訪問服務,提升安全性:
# 僅允許192.168.1.100訪問SSH服務(端口22/tcp)
sudo ufw allow from 192.168.1.100 to any port 22
# 查看當前ufw狀態及規則(詳細模式)
sudo ufw status verbose
# 刪除某條規則(如刪除允許SSH的規則)
sudo ufw delete allow ssh
# 重新加載規則(修改后生效)
sudo ufw reload
iptables是Linux內核防火墻工具,適合需要精細控制的場景,但配置較復雜。
# 清空現有規則
sudo iptables -F
# 設置默認策略:拒絕所有入站、轉發流量,允許所有出站流量
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 允許本地回環接口(系統內部通信)
sudo iptables -A INPUT -i lo -j ACCEPT
# 允許已建立的連接(避免中斷現有會話)
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允許SSH服務(端口22/tcp)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允許HTTP服務(端口80/tcp)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允許HTTPS服務(端口443/tcp)
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 拒絕FTP服務(端口21/tcp)
sudo iptables -A INPUT -p tcp --dport 21 -j DROP
Debian默認不自動保存iptables規則,需手動保存:
# 保存規則到文件
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
# 系統啟動時自動加載規則(需創建啟動腳本)
sudo nano /etc/network/if-pre-up.d/iptables
# 添加以下內容:
#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
# 保存后賦予執行權限
sudo chmod +x /etc/network/if-pre-up.d/iptables
logging on
命令)。通過以上方法,可有效限制Debian系統中服務的訪問范圍,提升系統安全性。需根據實際業務需求調整規則,避免過度限制導致服務不可用。