是否有任何理由允许 SMB 通过 Internet?

Mad*_*ush 22 security windows server-message-block best-practices

我是一家托管公司的管理员,我主要处理 Linux 机器,尽管我们有很多使用 Windows 服务器的客户。

在我的能力范围内,我只将 SMB 用于本地 LAN 上的文件/打印服务器。

是否有任何理由让 SMB 保持开放?我还没有听说过将它暴露在互联网上的任何实际原因,是否有一些我不知道的 Windows 东西需要它?

sho*_*hok 40

SMB 是一种文件共享协议,因此,它有时会向 Internet 开放,用于共享文件。

然而,这是一个非常糟糕的主意。与 FTP 或 WebDAV 等更简单的协议相比,它们基本上具有非常小的 GET/PUT 接口并且完全在隔离的用户空间进程中实现,SMB 是一个复杂得多的协议,它深度集成到核心 Windows 服务中。

SMB 更复杂的性质(至少在版本 2 之前它的安全性/完整性非常低)意味着许多关键缺陷被利用,并且它与 Windows 的紧密集成意味着这些利用非常危险。

所以,不,不要打开 SMB 到互联网

  • 启用签名的 SMBv2 非常安全,但您**必须**禁用以前的 SMB 版本以防止协议降级攻击。无论如何,我**不会**在互联网上发布任何基于 SMB 的内容:攻击面太大,而且由于与核心 Windows 服务的紧密集成,最终的漏洞利用简直是毁灭性的。 (2认同)
  • Samba 肯定比其 Windows 版本更安全。然而,[即使在 Samba 上也会发生严重错误](https://securelist.com/sambacry-is-coming/78674/)。因此,我认为将 SMB 暴露在互联网上是一个重大的安全错误。至少你应该过滤源IP,只将极少数IP列入白名单。 (2认同)

Spo*_*ler 8

只是不要这样做。如果有人要求您这样做,我强烈建议您拒绝并迅速逃跑。

从技术上讲,您可以通过 VPN 提供这种服务,但是如果它在 WAN 上的距离很远,它几乎肯定会像垃圾一样运行。

您可以提供许多卓越的服务来完成远程和本地文件共享。考虑 Amazon Storage Gateway 或 Google Storage。这些解决方案允许将云存储帐户附加到内部文件服务器,从而实现在任何人需要的任何地方进行同步的混合存储云。它快速且安全,远程用户不需要访问您的文件服务器来获取远程文件,而内部用户不需要访问您的 WAN 管道来获取相同的文件。这些解决方案给您的管理员带来了很大的负担,并将其放入一个可以处理负载的云中。


jar*_*vis 6

有什么原因吗?我会把它留给你。

  1. 可以办到。打开端口 445 并配置 SMB,您可以通过 Internet 访问您的共享文件夹,类似于您在本地网络上的访问方式。

  2. 它会很慢,因为该协议不是为在这种环境下工作而设计的。

  3. 存在已知的安全风险。IP 限制可能会有所帮助。


小智 6

否。保留最少数量的暴露给 Internet 的端口。如果您需要将 SMB 用于某事(与受信任的另一方传输文件,在所采取的每项操作上都带有身份验证和时间戳),请在进行 SMB 连接之前为他们设置 VPN 以进行连接。