使用Debian的iptables來防止DDoS(分布式拒絕服務)攻擊,可以通過設置一系列規則來限制網絡流量和連接數。以下是一些基本的步驟和策略:
首先,確保你的Debian系統是最新的:
sudo apt update && sudo apt upgrade -y
大多數Debian系統默認已經安裝了iptables,但如果沒有,可以使用以下命令安裝:
sudo apt install iptables -y
確保允許必要的流量,例如SSH(默認端口22)、HTTP(默認端口80)和HTTPS(默認端口443):
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
限制每個IP地址的并發連接數,以防止DDoS攻擊:
sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 -j DROP
這條規則會丟棄來自單個IP地址的超過50個并發SYN請求。
使用limit
模塊來限制每秒的連接數:
sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP
這條規則會限制每秒最多接受1個SYN請求。
iptables規則在系統重啟后會丟失,因此需要保存規則:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
為了確保規則在系統重啟后仍然有效,可以設置iptables開機自啟動:
sudo systemctl enable netfilter-persistent
sudo systemctl start netfilter-persistent
定期監控網絡流量和iptables日志,根據實際情況調整規則??梢允褂?code>iptables -L -v -n命令查看當前的iptables規則和統計信息。
通過以上步驟,你可以使用Debian的iptables來增強系統的安全性,減少DDoS攻擊的影響。