我有一个iptables防火墙,默认的INPUT策略设置为DROP。我正在使用它来减缓SSH暴力破解的尝试。问题是,如果我留下最后一行,则以前的规则不会触发,并且所有SSH通信都会被接受。如果我放弃它,来自不良IP的数据包将被丢弃,但我也无法自己连接到SSH。据我了解,iptables是连续的,所以如果它没有触发任何以前的规则,它只应该达到最后的规则。我试图在最后一行说的是“如果你的IP是不是SSH_BRUTEFORCE名单上,通过去什么我做错了iptables SSH蛮力保护
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -N SSHSCAN
iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m state --state NEW -j SSHSCAN
iptables -A SSHSCAN -m recent --set --name SSH_BRUTEFORCE --rsource
iptables -A SSHSCAN -m recent --update --seconds 360 --hitcount 10 --name SSH_BRUTEFORCE --rsource -j LOG --log-prefix "Anti SSH-Bruteforce: " --log-level 2
iptables -A SSHSCAN -m recent --update --seconds 360 --hitcount 10 --name SSH_BRUTEFORCE --rsource -j DROP
iptables -A SSHSCAN -m recent --rcheck --name SSH_BRUTEFORCE -j ACCEPT
不是为了阻止你从目前的努力,但fail2ban也可能是值得引用的。 – castis
你也可以看看csf,它很容易安装和配置。 https://download.configserver.com/csf/install.txt – sebastienvg
如果您可以简单地配置您的ssh守护程序来禁止密码验证,那么您将主要解决该问题。 – larsks