Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

iptables 防火牆實戰規則範本:常見服務開放與攻擊防禦

編輯:Linux 教學

iptables 是 Linux 核心層級的封包過濾框架,掌握其核心規則編寫能力,是伺服器安全防護的基石。本文提供一份生產環境可用的規則範本,涵蓋預設拒絕策略、常見服務埠開放、SSH 來源限制、ICMP 防禦、SYN Flood 緩解、NAT 偽裝轉發等實戰場景。

基礎初始化

iptables -F                    # 清空現有規則
iptables -P INPUT DROP         # 預設拒絕所有入站連線

原則:先拒絕全部,再按需放行(最小權限原則)。

常見服務埠放行(TCP)

iptables -A INPUT -p tcp --dport 80  -j ACCEPT   # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # HTTPS
iptables -A INPUT -p tcp --dport 25  -j ACCEPT   # SMTP
iptables -A INPUT -p tcp --dport 110 -j ACCEPT   # POP3
iptables -A INPUT -p tcp --dport 21  -j ACCEPT   # FTP
iptables -A INPUT -p tcp --dport 53  -j ACCEPT   # DNS TCP
iptables -A INPUT -p udp --dport 53  -j ACCEPT   # DNS UDP

SSH 僅允許特定管理 IP 存取

iptables -A INPUT -p tcp -s 202.106.12.130 --dport 22 -j ACCEPT

建議搭配 fail2ban 或修改 sshd_config 禁用密碼登入,雙重防護。

ICMP 死亡之 Ping 防禦

iptables -A INPUT -p icmp --icmp-type echo-request -i eth1 -j DROP

丟棄來自外網介面 eth1 的 ICMP Echo Request,防止 Ping 洪水攻擊。內網介面可保留允許。

SYN Flood 緩解(限制新連線速率)

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

利用 limit 模組限制每秒僅接受 1 個 SYN 封包,緩解資源耗盡攻擊。高流量場景建議改用 synproxy 或雲端 WAF。

NAT 偽裝與埠轉發範例

# 內網 192.168.0.226 經 eth1 出網(完整偽裝)
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.226 -j MASQUERADE

# 內網 192.168.0.4 僅允許經 eth0 存取外網 SMTP 埠
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.4 -p tcp --dport 25 -j MASQUERADE

規則持久化

# CentOS 7+
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

驗證與除錯

iptables -nvL --line-numbers    # 顯示規則編號與計數器
iptables -nvL INPUT             # 僅檢視 INPUT 鏈
watch -n1 'iptables -nvL'       # 即時監控封包匹配數

將上述規則整合至部署腳本,並定期審計日誌(/var/log/messages 或 journalctl -u iptables),即可構建基礎且有效的主機防火牆防線。

Copyright © Windows教程網 All Rights Reserved