我使用了以下规则,将端口扫描器阻止 24 小时,并在 24 小时后取消阻止扫描器 IP 地址,并记录攻击者 IP 地址。
iptables -A INPUT -m 最近 --name portscan --rcheck --seconds 86400 -j DROP iptables -A FORWARD -m 最近 --name portscan --rcheck --seconds 86400 -j DROP
iptables -A INPUT -m 最近 --name portscan --remove iptables -A FORWARD -m 最近 --name portscan --remove
iptables -A INPUT -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j LOG --log-prefix "portscan:" iptables -A INPUT -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j DROP iptables -A FORWARD -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j LOG --log-prefix "portscan:" iptables -A FORWARD -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j DROP
一切正常,扫描仪 IP 地址被 iptables 阻止。但我无法在任何 iptables 链中找到被阻止的 ip。扫描仪 ip 仅记录在 kernel.log 文件中,我正在寻找一种可能的方法来删除单个 ip 而不是重新启动 iptables 本身。
最近的模块不会为您可以使用 Iptables 查询的每个违规者创建新规则。它只是在内存中维护罪犯列表
http://ipset.netfilter.org/iptables-extensions.man.html#lbBW
添加
addr
到默认列表addr
从默认列表中删除刷新默认列表(删除所有条目)