如何在互联网上共享 Windows 文件夹

如何在互联网上共享 Windows 文件夹

有没有办法通过互联网将 Windows 文件夹从一台电脑共享到另一台电脑。例如,我们可以在同一个网络上共享文件夹,方法是转到该文件夹​​的属性,然后启用共享,然后在同一网络上的其他电脑上,我们可以通过输入 \\ ip\foldername 来打开它。有没有办法通过互联网做同样的事情

答案1

嗯,从技术上讲这是完全可能的——SMB 只需要标准 TCP/IP 通信(所有现代版本都通过 TCP 端口 445)。

但实际上真的不建议:

  • Windows 内置 SMB 服务器过去一直是攻击和漏洞利用的主要目标。(Linux 上的 Samba 可能表现更好一些。)

  • Windows 透明地充当 SMB 的能力客户经常被滥用于窃取 NTLM 凭证,通过诱骗计算机连接到恶意服务器。

  • 由于上述两个原因,许多网络完全阻止了防火墙上的 SMB 端口。(Windows 不允许对 SMB 使用备用端口。)

  • 此外,较旧的协议版本(例如 SMBv1 和 SMBv2)完全未加密 - 它们会以明文形式传输文件内容 - 而 SMBv3 中的新加密功能似乎也无法保护所有内容。 (具体来说,它似乎没有为初始登录握手提供任何保护,因此 NTLM 凭据无论如何都可以被窥探。)

  • SMB-over-QUIC 承诺解决至少部分问题,但尚未发布。

是的,您可以使用 SMB,但您需要使用 VPN 连接到您的家庭网络才能真正安全。(我不是指商业 VPN,而是指仅连接到您的家庭或文件服务器所在位置的个人 VPN 服务。)

或者,SFTP(SSH 文件传输协议)可能是您的下一个最佳选择,因为 Windows 现在包含一个内置的 SFTP 服务器(OpenSSH),并且有第三方客户端可以将 SFTP 连接显示为网络驱动器号(WinFsp sshfs-win、Dokan sshfs)。

(还有另一种选择:WebDAV,一种基于 HTTP 的文件夹共享协议。每当您访问 UNC 路径(如“\host\share”)时,Windows 都会首先尝试 SMB,但如果这不起作用,它会尝试使用 WebDAV。但问题是安装 WebDAV 服务器(无论是 IIS 还是 Apache httpd)会比人们想象的要复杂得多。不幸的是,当以这种方式使用时,WebDAV仍然纯文本 – 访问 UNC 路径时无法请求 HTTPS。)

答案2

我会避免通过互联网发送 SMB/CIFS。它可以工作,但它是一种复杂的协议(至少与 HTTP(S) 相比),并且某些防火墙可能无法正确支持它。

我建议使用 WebDAV。这是当今相当标准的协议,大多数文档管理系统(包括 SharePoint,也包括开源系统,如露天)。

出于安全原因,您应避免使用未加密的 HTTP,因此请确保使用 HTTPS。

要从 Windows 资源管理器访问 HTTPS WebDAV,只需使用以下格式的 UNC 路径:

\\server@SSL\DavWWWRoot\path\

或者如果端口与标准端口 443 不同:

\\server@SSL@port\DavWWWRoot\path\

相关内容