Windows

NetApp 錯誤:STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT

  • June 6, 2014

自從在桌面上升級到 Windows 7 後,我開始遇到病毒檢查問題。特別是 - 在(文件管理器託管的)CIFS 共享上執行重命名操作時。病毒檢查器似乎在文件管理器上觸發了一組消息:

[filerB: auth.trace.authenticateUser.loginTraceIP:info]: AUTH: Login attempt by user server-wk8-r2$ of domain MYDOMAIN from client machine 10.1.1.20 (server-wk8-r2).
[filerB: auth.dc.trace.DCConnection.statusMsg:info]: AUTH: TraceDC- attempting authentication with domain controller \\MYDC.
[filerB: auth.trace.authenticateUser.loginRejected:info]: AUTH: Login attempt by user rejected by the domain controller with error 0xc0000199: STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT.
[filerB: auth.trace.authenticateUser.loginTraceMsg:info]: AUTH: Delaying the response by 5 seconds due to continuous failed login attempts by user server-wk8-r2$ of domain MYDOMAIN from client machine 10.1.1.20.

這似乎是專門觸發的,rename所以我們認為病毒檢查器正在查看一個“新”文件,並嘗試進行訪問掃描。病毒檢查器 - 以前作為 LocalSystem 執行,因此null作為身份驗證請求發送,現在看起來很像 DOS 攻擊,並導致文件管理器暫時列入黑名單。這 5 秒鎖定每個“訪問嘗試”在大多數情況下是一個小麻煩,並且對於某些操作非常重要 - 例如大文件傳輸,每個文件需要 5 秒

做了一些探勘,這似乎與 NLTM 身份驗證有關:

Symptoms

Error message:

System error 1808 has occurred.
The account used is a computer account. Use your global user account or local user     account to access this server.

A packet trace of the failure will show the error as:

STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT (0xC0000199)

Cause

Microsoft has changed the functionality of how a Local System account identifies itself
during NTLM authentication.  This only impacts NTLM authentication.  It does not impact
Kerberos Authentication.

Solution

On the host, please set the following group policy entry and reboot the host.
Network Security: Allow Local System to use computer identity for NTLM: Disabled
Defining this group policy makes Windows Server 2008 R2 and Windows 7 function like Windows Server 2008 SP1.

所以我們現在有幾個不是特別好的解決方法——一個是改變這個安全選項。一種是禁用病毒檢查,或以其他方式免除部分基礎設施。

這就是我向 ServerFault 尋求幫助的地方——最好的前進方式是什麼?我缺乏 Windows 經驗來確定我所看到的。

我不完全確定為什麼 NTLM 首先是這張圖片的一部分——我以為我們使用的是 Kerberos 身份驗證。我不確定如何開始診斷或排除故障。(我們將跨域 - 工作站電腦帳戶位於我的文件管理器的單獨 AD 和 DNS 域中。但是普通使用者身份驗證工作正常。)

如果做不到這一點,任何人都可以建議其他查詢方式嗎?我想避免更改站點範圍的安全選項,或者如果我這樣做,我需要能夠提供詳細的推理。同樣 - 禁用病毒檢查是一種短期解決方法,應用排除可能會有所幫助……但我寧願不這樣做,也不認為這解決了根本問題。

編輯:AD ldap 中的文件管理器具有以下 SPN:

nfs/host.fully.qualified.domain
nfs/host
HOST/host.fully.qualified.domain
HOST/host

(對不起,必須混淆那些)。

難道沒有“cifs/host.fully.qualified.domain”就行不通了嗎?(或其他一些 SPN?)

編輯:作為我一直在做的搜尋的一部分,我發現:http: //itwanderer.wordpress.com/2011/04/14/tread-lightly-kerberos-encryption-types/

這表明在 Win7/2008R2 中預設禁用了幾種加密類型。這可能是相關的,因為我們肯定在 Keberized NFSv4 中遇到過類似的問題。有一個隱藏的選項可以幫助一些未來的 Keberos 使用者:options nfs.rpcsec.trace on(雖然這還沒有給我任何東西,所以可能只是 NFS 特定的)。

編輯:進一步探勘讓我追踪到跨域身份驗證。看起來我的 Windows 7 工作站(在一個域中)沒有獲得另一個域的 Kerberos 票證,我的 NetApp 文件管理器已加入 CIFS。我已經針對獨立伺服器(Win2003 和 Win2008)單獨執行此操作,但也沒有獲得 Kerberos 票證。

這意味著我認為Kerberos 可能已損壞,但我不知道如何進一步排除故障。

編輯:進一步更新:看起來這可能是 Kerberos 票證未跨域發行。然後這會觸發 NTLM 回退,然後會遇到此問題(從 Windows 7 開始)。第一個停靠點將是調查 Kerberos 方面的事情,但在這兩種情況下,我們都沒有任何跡象表明 Filer 是根本原因。因此——作為儲存工程師——它不在我的掌控之中。

但是,如果有人能指出我對跨越兩個 Windows AD 域(Kerberos 領域)的 Kerberos 進行故障排除的方向,那將不勝感激。

我們將考慮解決的選項:

  • 通過 GPO 修改所有工作站上的策略選項(如上)。
  • 與 AV 供應商討論重命名觸發掃描。
  • 與 AV 供應商討論將 AV 作為服務帳戶執行。
  • 調查 Kerberos 身份驗證(為什麼它不工作,是否應該)。

我已經結束了這個執行,現在知道它為什麼會發生。

總之:

  • 自 Windows 7/2008 起,客戶端電腦上“LocalSystem”的預設行為發生了變化。在它使用“空”登錄之前,它使用 NTLM 的機器帳戶。

  • 因為我們在兩個 AD 森林之間進行,所以沒有使用 Kerberos。這是設計使然。http://technet.microsoft.com/en-us/library/cc960648.aspx “Kerberos 身份驗證在林中的域之間使用透明的傳遞信任,但它不能在不同林中的域之間進行身份驗證”

    • Sophos 正在掃描由重命名觸發的“訪問時”文件。出於安全策略原因,這包括網路驅動器。
    • 因為 Sophos 作為 LocalSystem 執行,所以它通過 NTLM 將機器帳戶呈現給文件管理器。然後此帳戶被拒絕,並使用 STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT 並在 10 次重試後,文件管理器觸發鎖定。
    • 由於此鎖定,後續病毒掃描嘗試每次嘗試都會停止 5 秒。這就是我們問題的根源,因為我們的程序複製和重命名了數百個文件,並且在第 10 次之後,每個將花費 5s。

這給我們留下了以下解決方案:

  • 修改上面提到的安全策略選項:網路安全:允許本地系統為 NTLM 使用電腦身份:禁用

    • 在病毒檢查器中為網路驅動器應用排除項
    • 將您的單獨域合併到同一個林中,以便 Kerberos 工作。(此處概述了另一個選項:http: //xitnotes.wordpress.com/2012/03/29/kerberos-in-an-active-directory-forest-trust- vs-external-trust/涉及升級域之間的關係,以便 Kerberos 再次工作。
    • 使用 vfilers,CIF 將它加入到另一個域。
    • 文件管理器上還有一個選項可以在此鎖定發生之前增加重試次數 - 這是一個隱藏選項,我沒有方便的精確語法。

我會修改您的防病毒策略以不掃描通過網路共享的文件。您可能有十幾個客戶端嘗試同時通過網路對同一個文件進行 AV 掃描。

所以在 Windows 2000、2003、Windows XP、Vista 和 2008 中,預設行為是這樣的:

  • 網路安全:允許本地系統將電腦身份用於 NTLM
    • 已禁用:作為本地系統執行的服務在恢復到 NTLM 身份驗證時使用協商將匿名進行身份驗證。

但在 Windows 7 和 2008 R2 及更高版本中,預設行為更改為:

  • 網路安全:允許本地系統將電腦身份用於 NTLM
    • 已啟用:作為本地系統執行且使用協商的服務將使用電腦標識。

來源:http ://technet.microsoft.com/en-us/library/jj852275.aspx

您說您希望避免更改站點範圍的安全選項,但是當您將所有客戶端升級到 Windows 7 時您已經進行了更改。

至於你為什麼不首先使用 Kerberos,這是一個完全不同的問題,你沒有給我們足夠的數據來回答。要使 Kerberos 工作,CIFS 服務需要與域和註冊的服務主體名稱建立信任關係,並且客戶端必須使用主機名或 FQDN 而不是 IP 地址來定址服務。

您的 Filers 域是否已加入?如果有,他們是否有 CIFS/* SPN?

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