Samba SMB 加密 - 它有多安全?

Samba SMB 加密 - 它有多安全?

我最近在 Linux 上设置了一个 Samba 服务器,这样我就可以在本地网络中的 Win10 PC 上访问此服务器上的文件。但我想知道我是否可以通过互联网访问这个共享驱动器,因为我在学校也使用 Win10 PC。

我在我的部分设置了以下内容:

[global]
workgroup = workgroup
security = user
encrypt passwords = true
smb encrypt= required

SMB 加密到底有多好?众所周知,SMB 对于公共网络来说并不安全,但自从 SMB3 开始,它就可以加密,我很好奇它的安全性如何。

提前致谢。

答案1

你可以看到SMB 3.0 中的加密:协议视角SMB3 中的加密了解技术细节,但我认为 Azure Files允许安装在互联网上(仅)使用 SMB3 表明微软认为它是安全的。

答案2

这个问题已经有好几年了,但我会尝试贡献一些最新的东西。当前配置smb.conf是这样的(至少在 Ubuntu 20.04 上有效):

[global]

   # smb v4.14 and later
   server signing = mandatory
   server min protocol = SMB3
   server smb encrypt = required
   # smb v4.13 or earlier
   smb encrypt = required

注意:在终端中运行samba -V并注释掉与您的版本不对应的行

在我看来,它非常安全,但是在 Windows 客户端中建议执行以下注册表项:

以管理员权限打开 cmd 并运行

reg add "HKLM\System\CurrentControlSet\services\LanmanServer\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 1 /f
reg add "HKLM\System\CurrentControlSet\services\LanmanServer\Parameters" /v "EnableSecuritySignature" /t REG_DWORD /d 1 /f

欲了解更多信息,请查看Samba 完整审计

注意:Windows(如 Samba)会在没有事先通知的情况下更改每个版本的这些参数,因此这个答案可能会在 6 个月内过时

答案3

但我想知道我是否可以通过互联网访问这个共享驱动器,因为我在学校也使用 Win10 PC。

Samba 是一种文件和打印共享服务,我绝不会要求它进行加密。如果您想加密您和 Samba 之间的信息(明智的选择),我建议您在使用公共网络访问 Samba 计算机时从您的学校计算机创建 SSH 隧道。

关于 SSH 隧道是什么、如何设置以及何时使用有很多很好的解释,它旨在对两个端点之间的信息进行加密,这就是 SSH 所做的。

SSH 隧道的示例

如何建立 Windows SSH 隧道

另外,请写下运行 Samba 的机器安装的是什么操作系统。Ubuntu、Fedora、Windows 还是其他?这样人们才能给你最好的答案。

SSH 加密强度有多高?

足够强大和安全,甚至政府都可以使用它。

答案4

此外,我建议使用 Wireshark 检查流量是否已加密。这是因为 SMB 将加密作为一种可能性而不是要求进行协商。客户端无法强制加密,只能拒绝非加密连接,这由服务器决定。是的,默认情况下,如果客户端支持,Win10 会加密,但谁知道服务器端注册表是如何针对您的情况进行定制的。如果数据如此合理,我不会在没有仔细检查的情况下完全相信 Samba 的“必需”。

相关内容