在 Dell EMC Unity OE 代码版本 5.0.5 中发现存在代码缺陷,这会导致 Netlogon 身份验证消息结构后面的第一个字节被覆盖。 在大多数情况下,不使用下一个字节,因为该结构包含在较大的固定内存分配(64 或 128 个字节)内。 但是,如果该结构正好占用 64 个字节,则下一个字节将属于另一个内存分配,而这会导致 SP 严重错误。
Netlogon 身份验证消息结构是一个变量,它包含“域 NETBIOS 名称”、“服务器 NETBIOS 名称”和“域 DNS 名称”的组合。 要解决此问题,消息结构的变量部分必须等于 38 个字节。 Netlogon 结构的变量部分包括:
域 NETBIOS 名称 + 2 x NETBIOS 名称 + DNS 域名
示例:
要查找我们需要引用的名称,请在 CLI 中运行命令 svc_storagecheck --cifs --limitpoll。 在输出中,查找包含“CIFS Server”的行。
1609358938: SMB: 6: CIFS Server NETBIOS123[MYDOM] RC=6 (local users supported)
1609358938: SMB: 6: Full computer name=netbios123.mydomain1.com realm=MYDOMAIN1.COM
1609358938: SMB: 6: Comment='EMC-SNAS:T8.0.1.112'
1609358938: SMB: 6: if=10_VIRT12345Z0123 l=1.1.1.1 b=1.1.1.255 mac=0:X:XX:XX:XX:30
1609358938: SMB: 6: FQDN=netbios123.mydomain1.com (Updated to DNS)
从上面的输出中,您可以看到域 NETBIOS 名称为 MYDOM,CIFS 服务器 NETBIOS 名称为 NETBIOS123,以及 DNS 域名为 mydomain1.com。 让我们做以下运算:
MYDOM (5) + 2 x NETBIOS123 (10 x 2) + mydomain1.com (13) = 38
此域 NETBIOS 名称、计算机 NETBIOS 名称和 DNS 域名的组合将触发此问题。
修复
安装 Unity OE 5.0.6 以添加安全 RPC 功能。 有关如何升级 Dell EMC Unity OE 代码的说明,请遵循知识库文章 22755:
Dell EMC Unity:如何升级 Dell EMC Unity OE 代码(用户可纠正)。
解决方法
如果您确定此问题可能发生,或您的环境中已发生此问题,请更改受影响的 CIFS 服务器名称的长度(添加字符或删除字符)。 这将使 Netlogon 身份验证消息的长度不会正好为 64 字节,并且将会防止出现严重错误。