我正在配置一台位于反向代理后面的服务器,由于防火墙限制,该服务器配置了 SSH 隧道。
反向代理由其他人管理,我想通过启用反向 SSH 隧道从服务器端控制隧道。
我做了一些研究,看起来非常简单,只需启用Gatewayports=yes
反向代理的 sshd 配置即可。
我发现默认情况下此选项设置为 false,这可能是有充分理由的。
在反向代理上启用反向 SSH 隧道之前,是否存在任何严重漏洞或任何其他需要考虑的问题?
答案1
SSH 默认绑定在 localhost 上,仅用于转发,因为 SSH 只是转发中的信使:它不会对转发的内容添加额外的检查。因此,如果转发的服务不执行自己的授权检查或速率限制等,如果允许与转发点位于同一网络上的每个人(甚至可能是整个互联网! )。因此,只有GatewayPorts
在转发的服务本身足够安全的情况下才启用并绑定到外部可见的接口(在您的情况下应该如此,因为您已经公开了它)。
作为一个警示故事,几年前,在使用虚拟机时,我将 SSH 本身从虚拟机转发到绑定到所有接口的主机笔记本电脑。由于我当时使用的一次性密码很弱,虚拟机在公共 WiFi 上被攻击了。 (我醒悟了,(a) 停止绑定到所有接口,(b) 学到了禁止基于密码登录的智慧。)