设置iptables防止端口扫描
加载xt_recent模块:确保xt_recent模块已加载,可以使用以下命令检查和加载:
lsmod | grep xt_recent
sudo modprobe xt_recent
1.创建跟踪连接的规则:
将每个TCP连接的源IP地址加入到名为PORTSCAN的列表中:
iptables -A INPUT -p tcp -m recent --set --name PORTSCAN
2.允许已建立的连接:
确保已建立的连接不会被阻止:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3.记录被阻止的连接 attempt:
添加日志规则以记录被阻止的连接:
iptables -A INPUT -p tcp -m recent --update --seconds 60 --hitcount 10 --name PORTSCAN -j LOG --log-prefix "PORTSCAN DETECTED: "
4.设置阻止频繁连接的规则:
如果一个IP在60秒内有10次及以上的连接尝试,则阻止该IP:
iptables -A INPUT -p tcp -m recent --update --seconds 60 --hitcount 10 --name PORTSCAN -j DROP
5.保存规则:
保存当前的iptables规则,以便系统重启后规则仍然有效:
sudo iptables-save > /etc/iptables/rules.v4
浙公网安备 33010602011771号