在Debian系統中,防止端口掃描可以通過多種方式實現,包括使用iptables、ufw(Uncomplicated Firewall)、nftables等工具。以下是一些基本的步驟和方法:
更新iptables規則: 打開終端并使用root權限運行以下命令來更新iptables規則,阻止不必要的端口掃描。
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
限制連接速率:
使用limit
模塊來限制每個IP地址的連接速率,防止端口掃描。
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 5/min -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
保存iptables規則: 確保iptables規則在系統重啟后仍然有效。
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
啟用ufw: 如果尚未啟用ufw,可以使用以下命令啟用它。
sudo ufw enable
配置ufw規則: 使用ufw配置防火墻規則,阻止不必要的端口掃描。
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # 允許SSH連接
sudo ufw limit 22/tcp # 限制SSH連接速率
應用ufw規則: 確保ufw規則生效。
sudo ufw reload
安裝nftables: 如果尚未安裝nftables,可以使用以下命令安裝它。
sudo apt-get install nftables
配置nftables規則:
編輯nftables配置文件(通常是/etc/nftables.conf
),添加規則來阻止端口掃描。
sudo nano /etc/nftables.conf
添加以下規則:
table ip filter {
chain input {
type filter hook input priority 0; policy drop;
iifname "lo" accept
ct state established,related accept
tcp dport 22 limit rate over 5/min burst 5 accept
drop
}
}
加載nftables規則: 加載并啟用nftables規則。
sudo nft -f /etc/nftables.conf
sudo systemctl enable nftables
sudo systemctl start nftables
通過以上方法,你可以有效地防止端口掃描,提高Debian系統的安全性。請根據你的具體需求和環境選擇合適的方法。