Windows-Server-2003

為什麼作為本地系統執行的程序訪問 UNC 共享被視為 NT AUTHORITYANONYMOUS LOGON?

  • January 15, 2015

我有一個 Windows 服務在 SERVER_X 上作為本地系統執行,它試圖訪問 SERVER_Y 上託管的 UNC 共享上的腳本。

根據下面的連結,我已授予 SERVER_X 的電腦帳戶訪問 SERVER_Y 上的 UNC 的權限。

如何授予對 LocalSystem 帳戶的網路訪問權限?

如何授予對域網路中本地 SYSTEM 帳戶的共享文件夾的訪問權限

但是,Windows 服務無法訪問該文件(拒絕訪問錯誤)。

dir \\SERVER_X\share
Access is denied.

在安全事件日誌(在 SERVER_Y 上)中,我看到 SERVER_X 正在嘗試以 NT AUTHORITY\ANONYMOUS LOGON 身份訪問 UNC 共享。我認為我應該在安全事件日誌中看到電腦帳戶(即 DOMAIN\SERVER_X)。

安全事件

兩台伺服器都是 Windows Server 2003 SE SP2。

任何幫助將不勝感激!

我發現了這個Microsoft 部落格,它讓我看到了使用伺服器的主機名與 CNAME 的對比。

具體來說,以下片段:

如果您回答了 DNS 名稱解析,那麼您將是正確的。如果名稱解析在環境中不能正常工作,它將導致請求 Kerberos 票證的應用程序實際上為錯誤的服務主體名稱請求服務票證。因此,如果您還記得我嘗試連接到“ltwre-chd-mem1.chd.litwareinc.com”的遠端文件伺服器,但是 DNS 伺服器找到了“ltwre-chd-mem1.litware.com”的記錄。由於我們在“litwareinc.com”域中找到遠端文件伺服器,Kerberos 客戶端請求“cifs/ltwre-chd-mem1.litwareinc.com”的服務票證,如 Kerberos 票證請求中所述,KDC 以 KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN 響應.

和…

實際上,有幾種不同的方法可以“解決”這個問題:

一種。找出 DNS 解析機器名稱不正確的原因。

一世。此名稱是否有 HOST 或 CNAME 記錄?

ii. 您是否為 WINS 查找配置了 DNS 區域?

和…

**如果您發現無法修復 DNS 問題,那麼下一個最佳解決方案是讓應用程序使用伺服器的 FQDN。**請記住,應用程序供應商需要參與才能使用此修復程序。

**注意:**在 Windows Server 2008 主機上,我可以使用 CNAME 成功執行 dir 命令。

解決方案 1:

使用主機名而不是 CNAME。

我驗證了,如果我從 Windows Server 2003 主機使用主機名 (ie \\HOSTNAME\share) 而不是 CNAME (ie \\CNAME\share) 訪問 UNC 共享,則訪問將正常工作。

範例 - 工作:

dir \\HOSTNAME\share

範例 - 不起作用:

dir \\CNAME\share
Access is denied.

解決方案 2:

為 CNAME 設置 SPN(服務主體名稱)。

setspn -a HOST/CNAME SERVER

這樣做後,dir \\CNAME\share工作。

另請參閱如何配置 Windows 機器以允許與 DNS 別名共享文件以獲取更多資訊。

引用自:https://serverfault.com/questions/659212