端口碰撞是指端口 22(例如 SSH 服务)默认关闭,但当顺序向被碰撞服务的其他端口(例如 1234、1111、2321)发送数据包时,该服务会看到此情况并打开端口 22防火墙以便您可以连接。
简单来说 - 默认情况下门上没有钥匙孔,但当您按一定顺序按下门时,钥匙孔就会出现。
一方面,这似乎是一个很好的解决方案 - 但这只是一开始。 如果你仔细想想,这个解决方案仍然很糟糕,原因如下:
1. 新端口和多一项服务
该服务本身会打开端口来接收序列,而额外端口的存在只会增加漏洞。
2. 拦截的可能性
默认情况下,knockd 服务在不加密的情况下运行,并且可以拦截发送数据包的序列。
有一些修改过的解决方案,例如 cryptknock,其中发送特定字符串并检查匹配,但包本身已经 8 年没有更新了。
3. PHP 脚本作为替代方案
例如,如果默认情况下为站点打开端口 443,则更安全的选项是 php 脚本,该脚本将允许访问 ssh 并且不需要任何其他服务。
4. 附加操作
此功能需要定期进行额外操作,这会导致疲劳,从而降低交互的便利性,从而降低工作效率。
总之,使用端口碰撞是一个糟糕的解决方案。
5. 代理和 VPN
如果我们谈论的是安全性和便利性,特别是当需要在多个服务器上实现它时,那么当您可以简单地创建具有静态 IP 的 VPS 并仅允许从它进行访问时,端口敲门看起来完全是一种权宜之计。 此选项是最好的选择;我们在文章中描述了代理的优点:
代理 - 作为访问服务器,我们提高了 VPS 服务器的安全性
暂时没有评论