mosh 现在是安全专家推荐的吗?(2014)

信息安全 移动的 SSH Unix 远程桌面 远程服务器
2021-08-25 16:18:27

Mosh已经存在了一段时间了。虽然它的作者声称它是“SSH 的替代品”,但mosh实际上确实依赖ssh进行初始身份验证,之后在服务器上启动 mosh 二进制文件的实例,通过 TCP 建立的 SSH 连接被放弃(在服务于身份验证和引导的目的之后),此后所有的 shell 通信和网络漫游都通过 UDP 上的 mosh 协议发生,仍然具有某种加密,但与 ssh 完全分开。

这一切听起来很简单和优雅,然而,魔鬼总是在细节中。

安全专家如何看待 mosh 已经存在了几年?

2个回答

这曾经出现在他们的常见问题解答中:

问:您的安全数据报协议是否经过专家审核?

答:没有。Mosh 被积极使用,并且已经被具有安全意识的加密书呆子阅读过,他们认为它的设计是合理的,但是任何新颖的数据报协议都必须证明自己,SSP 也不例外。我们使用 AES-128 和 OCB 的参考实现,欢迎您关注代码。我们认为设计的彻底简单是一个优势,但当然其他人也这么认为并且错了。

使用 MOSH 时要记住的一些事情......虽然我们大多数人使用 SSH 来启动连接,但 MOSH 不需要它来使其工作(SSH 只在服务器端启动一个新的 mosh-server 并返回两个值到客户端:端口号和 22 字节对称密钥)。因此,如果您掌握了服务器生成的两个项目,任何人都可以使用您的连接(也就是说,由于它不依赖于 IP 的来源,如果您可以访问这两个信息,您实际上是连接的所有者)。

这意味着基本上有几个攻击面需要处理。

  1. 协议本身并在“运行中”对其进行解密。除了您的政府、您的 ISP 或与您在同一家咖啡店的人之外,这对于任何人来说都是极不可能的。这样做的成本和与传输内联的要求使得这极不可能(但并非完全闻所未闻)

  2. 一旦 mosh-server 处于活动状态,就攻击开放的 UDP 端口。这更有可能,这是协议需要更多调查的地方。例如,已经有针对 MOSH 系统的经过验证的 DOS 攻击(我还不知道劫持)。当然,如果有人得到你的对称密钥,他们可能很容易猜出端口。

那么,如何在所有这些不确定性的情况下使用这个协议呢?好吧,您可以通过您的 iptables(或防火墙等)限制 IP 数据包的来源,或者您可以设置端口敲击端口以在发生某些事情时“唤醒它”。当然,您总是可以不理会它,而只是承担未经审计的协议的一般风险。

就个人而言,我使用端口敲门器(我知道,这有很多原因,这是一种痛苦、不安全、有问题等)来阻止 60000 个地址。由于大多数时候我的重新连接来自同一个 IP(无线中断等),我很少需要“重新敲门”来继续我的 MOSH 连接。当然,如果我关闭笔记本电脑、离开咖啡店、切换到火车 WiFi 等,那么我需要重新敲门才能访问我的 MOSH 端口。

对我来说,端口爆震或 MOSH 都是固有风险,但总的来说,它们会大大减少目标表面积。MOSH 缓解了我在使用端口敲门器时遇到的许多问题,并且端口敲门器缓解了我未经审计的安全连接。