我见过很多关于 SSH 隧道与 VPN 安全性一般比较的问题。
我正在考虑远程管理家庭网络的解决方案。我的技术足够好,我可以使用任一解决方案实现相同的目标(尽管付出的努力程度不同)。我的问题是,仅通过侦听任一连接的端口提供的安全级别是否存在任何固有差异。
也就是说,我知道攻击者总是在扫描端口,那么确定端口上正在侦听的内容是否会变得更加困难,以便攻击者拥有最少的信息来发起攻击?
我们可以假设服务器位于网络内部,我必须通过边缘路由器转发某些端口。在任何一种情况下,我都可以使用一些随机的非标准端口进行转发。
答案1
一些考虑因素:
是的,暴露在互联网上的 SSH 服务器将会遭受持续不断的大规模暴力攻击。至少你需要一些防御措施,例如 Fail2ban 或 CSF-LFD。这将在防火墙级别快速禁止违规 IP 地址。
如果没有这种保护,即使您有一个强密码,您的服务器也将不得不抵御攻击,从而造成不必要的负载和带宽浪费。想想数百甚至数千个同时攻击。
您可以为 SSH 服务器使用非标准端口,您仍然会收到探针,但数量较少。
也许更好的解决方案是设置端口敲门。诀窍是让端口只对那些知道正确组合的人开放。
如果您的家庭网络有静态 WAN IP 地址,那么您可以将 SSH 服务器限制为预定的、白名单主机。
如果您有静态/稳定的 IP 地址,另一种方法是反向SSH:不连接到服务器,而是让服务器调用“home”。使用autossh
以便在重新启动或网络中断之间自动恢复连接。
但在我看来,VPN 是更好的选择。 OpenVPN 可以在 UDP 或 TCP 或两者中运行。我相信UDP是默认的,UDP更难扫描(有关 UDP 扫描,请参阅 nmap 手册),大多数攻击集中在 TCP 服务上。
这并不意味着 UDP 不会构成危险:只需考虑 DNS 或 NTP 反射攻击即可。
在这里,您现在可以结合多种技术,例如 OpenVPN 与端口碰撞,并且您拥有一个非常隐秘的设置。如果您不想安装 VPN 的麻烦,并且希望坚持使用已安装的 SSH,则可以使用相同的步骤来保护您的服务器。