如何使用 iptables 阻止任意非标准端口上的 SSH?

如何使用 iptables 阻止任意非标准端口上的 SSH?

如何使用 iptables 阻止任意非标准端口上的 SSH 连接?

无法区分第四层非标准端口上的 SSH 连接,因为源端口和目标端口都是任意的。

如果我理解正确的话,必须使用二进制匹配来实际查看数据包的头以检测 SSH 握手。

我发现这篇文章深入探讨了字节匹配,但似乎有些过时,因为从较新版本的 iptables 的角度来看,作者使用的命令并不完整。作者似乎只检查已建立的流量,因此寻找不同的字节序列。

本质上规则应该是这样的:

iptables -t nat -a PREROUTING -p tcp -m --state NEW \! -f -m u32 --u32 "???" -j DROP

为了使规则匹配新的 SSH 连接,u32 部分中应该包含哪些值?

相关内容