Samba 的端口转发

Samba 的端口转发

好的,设置如下:

互联网->调制解调器->WRT54G->集线器->winxp工作站和linux smb服务器。

它基本上是一种家庭式分布式互联网连接设置,只不过是在学校里。我想要的是远程、异地 SMB 访问。我想我需要找出哪些端口需要转发,然后将它们转发到路由器上的服务器。我在 SF 上的另一个问题中被告知多个端口需要转发,这有点复杂。 我需要知道的事情之一是哪些端口需要转发,以及这会导致哪些复杂情况或漏洞。如果您认为我在执行此操作之前应该获得任何其他信息,那就太好了。 有人告诉我 SMB 不支持加密,这没问题。鉴于我设置了身份验证/访问控制,这意味着一旦我的某个用户通过身份验证并开始下载数据,未加密的流量就可能被 MITM 拦截和读取,正确的? 鉴于这是由于缺乏加密而产生的唯一问题,这对我来说并不重要。我认为这也可能意味着 MITM 向数据流中注入了虚假数据,例如:用户请求文件 A,MITM 拦截并用一些虚假数据替换文件 A 的内容。这实际上也不是什么问题,因为我的用户会知道出了问题,而且无论如何也不可能有动机这样做。

我所知道的另一件事是微软对 SMB 的实施很差,而且其安全记录也很差。 如果仅客户端是 MS,这适用吗? 我的服务器是linux。

答案1

最低限度通过网络访问 Windows 或 Samba 共享所需的是端口 139 TCP - 我曾多次使用它通过 SSH 连接隧道传输 Samba 连接。

正如您已经发现的那样,SMB 不是加密协议,因此我强烈建议不要直接将其向外界开放,而应允许用户通过安全隧道(例如 SSH 或某种更通用的 VPN 提供的安全隧道)进行连接。我相信所使用的身份验证方法在纯文本中执行是安全的(这是一种质询响应安排,不需要传输纯文本凭据),因此如果您可以保证共享上的内容不是敏感的,则可以不使用隧道/VPN,但我仍然建议将其作为额外的安全级别,这样您就可以控制谁有远程访问权限,而谁根本无权访问。此外,SSH 隧道或 VPN 可以支持压缩,这将减少远程访问共享时的带宽要求。

在我的记忆中,最近没有报告过针对 Samba 的未经身份验证的成功远程攻击,因此从这个角度来看,您可能是安全的,不过我还是建议您使用隧道协议,而不是直接打开它。如果发现任何可远程利用的问题,打开 139 端口和其他端口将是一个尝试的邀请。

另一个严重的问题是用户密码安全。如果服务是开放的,而用户的密码不安全(要么不够复杂,要么是破解者可以猜到的密码,等等),那么你就有严重的问题了。所以你需要确保你有一个好的密码策略。使用像 OpenVPN 这样的 VPN 会在一定程度上缓解这个问题,因为人们也需要为 VPN 准备一个密钥集,尽管你也不能保证用户会把他们的私钥保管好……

答案2

你绝对不想这么做......至少不要对 Windows 这么做。要转发的端口 [Samba 和 Windows]:tcp 135、139、445。可能 - 但不一定是 135-139 udp。

用于访问 Windows 工作站的部分

135、445 TCP 多路复用充足目的- 包括远程注册表访问、远程管理、与域控制器的通信。它们是许多利用旧漏洞的攻击者的目标。迟早会出现更多的漏洞......你不想接触到它们。

我建议您仅转发端口 3389 tcp [远程桌面],并通过远程桌面连接使用磁盘的“本地资源共享”。该协议似乎比微软的 smb/rpc 更少被利用。如果可能的话,使用一些不同的端口,将连接限制在可信的 ips 源范围内,最好不要这样做,例如使用 vpn开放VPN

访问 Linux 系统的部分

那是另一回事 - 我不会那么害怕利用 samba,但仍然 - 数据会在野外互联网上以未加密的形式传输。我认为在 Linux 上终止的 vpn 真的会很好。如果不可能 - 只需在 Linux 上 smbmount Windows 共享,使它们通过 Linux 上的 scp 可用,在路由器上重定向端口 22 - 您可以使用 winscp 访问您的文件,但可以放心很多。

答案3

您需要 135、137-139 和 445 端口转发。

当将 CIFS(以及 LANMAN 等)暴露在互联网上时,它们都有一个共同点:

这些都是即将发生的麻烦。

  • LANMAN/SMB 哈希可以在合理的时间内轻松破解
  • CIFS 可以仍然像其他服务一样受到攻击(字典、暴力破解等)
  • 如果您使用 LANMAN/SMB,则一次尝试以管理员身份登录将导致管理员的哈希被传输
  • 没有什么比暴露一项提供对服务器的完全管理访问权限的服务更能体现黑客的爱了(而不是缩小访问范围)
  • 拥有管理员密码(来自提到的传输/破解)和可以放心接受该密码的服务的访问权限:无价

答案4

转发 CIFS 和其他协议的端口的一种方法是通过 SSH。

SSH 允许使用密钥和加密身份验证,再加上临时 TCP 隧道的便利性,确保几乎不需要通过 NAT 打开除 SSH(可能还有 FTP 等)之外的任何端口。

但是如果您需要通过 WAN 建立永久的 SMB 连接,更好的方法是投资 VPN 基础设施。

相关内容