探索到 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 以新增 Secure RPC 功能。 如需如何升級 Dell EMC Unity OE 程式碼的指示,請遵循 KB 文章 22755:
Dell EMC Unity:如何升級 Dell EMC Unity OE 程式碼 (使用者可修正)。
因應措施
如果您確定此問題可能發生,或是您的環境中已發生此問題,請變更受影響 CIFS 伺服器名稱的長度 (新增字元或移除字元)。 這將導致 Netlogon 驗證訊息的長度不會正好在 64 位元組,進而防止錯誤。