在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系统的安全性。请根据你的具体需求和环境选择合适的方法。