Windows 10 客户端向 Samba 服务器发送大量虚假访客登录尝试

Windows 10 客户端向 Samba 服务器发送大量虚假访客登录尝试

我目前正在运行一个 Samba 服务器,用于在 SOHO 网络中进行文件共享。

我注意到,Windows 10 的最新补丁之一似乎引入了 SMB 中的某种严重错误,导致 Windows 10 在 SMB 服务器上发送未经身份验证的访客请求对于每个访问的文件

我在 Samba 日志中收到的错误如下:

[2021/12/22 18:31:42.283148,  1] ../../source3/smbd/service.c:355(create_connection_session_info)
  create_connection_session_info: guest user (from session setup) not permitted to access this share (MY_USERNAME)
[2021/12/22 18:31:42.283174,  1] ../../source3/smbd/service.c:545(make_connection_snum)
  create_connection_session_info failed: NT_STATUS_ACCESS_DENIED

在 Windows 10 客户端上,我看到应用程序和服务日志 -> Microsoft -> Windows -> SMBClient -> 安全下的事件查看器充满了以下错误:

The SMB client failed to connect to the share.

Error: {Access Denied}
A process has requested access to an object, but has not been granted those access rights.

Path: \smb\MY_USERNAME

这个错误似乎是在过去几个月的 KB 汇总期间引入的,因为全新安装的 Windows 10 不会引发这种行为 - 只有完全更新的安装才会引发。

我想明确几件事:

  1. 客户端与服务器的身份验证很顺利。我的网络共享运行良好,因此我认为这不是凭据问题。尽管如此,Windows 10 还是会在每次文件访问时不断向 Samba 发送未经身份验证的访客登录尝试。

  2. Windows 10 中尚未启用访客访问。默认情况下,它是禁用的我还没有使用 GPO 覆盖它。

  3. Windows Defender 未配置为扫描网络共享。从管理上禁用该功能似乎不会改变任何事情。

  4. 我尝试过彻底禁用 Samba 中的访客访问,也尝试过强制加密/服务器签名(这会完全禁用访客访问)。尽管如此,我仍然会收到来自 Windows 10 客户端的虚假访客登录尝试(尽管 Samba 服务器上的错误会发生变化,提示由于加密而阻止访客访问)。

再次,我可以正常登录到文件服务器,并且一切正常 - 除了 Windows 10 似乎试图为每个访问的文件生成一个访客登录。

有没有办法在 Samba 或 Windows 10 客户端上修复此行为?我在网上看到过一些类似的报告,但到目前为止还没有解决方案,而且我还没有在 smb.conf 中找到任何可以“修复”这个(明显的?)错误的内容。

答案1

我还没有做过回滚到旧版本 Windows 的回归测试,但我可以分享一下,我在这里看到了同样的问题,Win 10 19044.1415 连接到 TrueNAS Core 12 盒。它可以工作,但它肯定会产生一些嘈杂的日志:

[2021/12/24 21:40:18.383339,  1] ../../source3/smbd/service.c:355(create_connection_session_info)
  create_connection_session_info: guest user (from session setup) not permitted to access this share (personal)
[2021/12/24 21:40:18.383383,  1] ../../source3/smbd/service.c:544(make_connection_snum)
  create_connection_session_info failed: NT_STATUS_ACCESS_DENIED

根据先前评论者的问题,我的 ICACLS 输出:

C:\>icacls \\nas\personal
\\nas\personal S-1-22-1-0:(F)
               CREATOR OWNER:(OI)(CI)(IO)(F)
               S-1-5-21-3997689159-3832354152-3824094002-1005:(M,DC)
               CREATOR GROUP:(OI)(CI)(IO)(M,DC)

Successfully processed 1 files; Failed processing 0 files

编辑: 2020 年 11 月的这个问题(!)看起来非常相似: https://docs.microsoft.com/en-us/answers/questions/122178/windows-10-sends-unauthenticated-smb-requests.html

此外,就我的情况而言,不幸的是,对于 Samba 服务器日志中出现的每个错误,客户端都会在 Windows 事件日志中记录相同的错误(SMBClient 错误代码 31010)。

编辑2: 可能成功吗?

我已经能够通过在 Win10 客户端上全局禁用 Windows Defender 实时检查来停止此行为。我尚未发现对 Defender 设置的任何调整允许我将其保持启用状态但不产生此行为 - 例如,将驱动器映射到共享并在 Defender 设置中将该映射驱动器排除在扫描之外不起作用。

编辑3: 到目前为止,我发现的唯一长期解决方法(不需要关闭所有实时恶意软件保护)是放弃并启用 SMB 共享的访客登录。这可以让损坏的 Windows 行为继续进行而不会触发大量错误,并且我的其余 Samba 设置不允许访客访问任何内容(访客用户映射到“nobody”,文件系统 ACL 都是 chmod xx0),所以这对我来说很有效。YMMV。

有趣的是,经过这一更改后,Windows 客户端现在会在事件日志中记录一条投诉(每个共享连接一次),指出远程 SMB 服务器允许访客连接,但实际上它不应该允许......哦,真讽刺。

答案2

我就是那个人谁发的2020 年 11 月微软问答网站上的问题。如您所见,我们的问题确实相同,我相信是同一个。我仍然在努力解决这个问题,因为我没有时间真的将此问题报告给 Microsoft。与此同时,我尝试了其他 Samba 设置,但没有成功。

今天我又在查找这个问题。我偶然发现了讨论似乎很有希望,但添加restrict anonymous = 1到 Samba 配置并没有帮助。然后我来到这里,我快乐的其他人也注意到了这个问题。

我仍然可以更新我的测试并致电微软报告该问题,但找到真正的工程师的路非常漫长。(来源:我曾在客户支持部门工作,每天都要处理这个问题)。

这很烦人,我相信很多人都有这个无声问题。我想我们也可以尝试旧版 W10 来找出它何时开始的。

相关内容