快速揪出被锁定的用户账户
作者:碎片 日期:2006-05-04
大家知道,我们可以通过查看用户属性来得知账户是否被锁。但这是一个非常繁琐的查找工作!一般来说,如果没有用户告诉你他的账户被锁定了,我们要想得知哪些账户被锁定是比较麻烦的。今天我们就来看如何通过LDAP Query来快速查询出被锁的账户。
熟悉AD管理的朋友都应该知道,我们可以通过系统内建的查询来找到哪些账户被禁用。有人就会说:“系统并没有内建查找锁定的账户呀!”系统没建,那我们就自己建,呵呵。我们只需查看user类的Lockouttime属性就可得知账户是否被锁。
先新建一个自定义查询,输入以下LDAP查询语句就可以轻松查出被锁定的用户账户了:
建好以后它会被自动保存在“保存的查询”中,每次要使用时只需刷新一下就OK了。
以上方法是否非常简单实用呢?大家还可以将以上方法自己变通,进行其它的查询。
对于账户的锁定,我们还有一个非常实用也非常强大的工具——Lockoutstatus。它的语法非常简单,只有一个/u的参数,但它却可以让我们得到更多的账户锁定信息。我们可以通过它看到某个账户的锁定状态、输错密码的次数、锁定此账户的DC等等。更为强大的是,我们可以直接使用它对账户进行解锁、重设密码等操作。如下图:
-----------------------------------
总结:以上介绍了如何查询被锁定的用户账户,以及Lockoutstatus的一些功能。希望大家能够将这些技巧应用到工作当中,可以减轻一些繁琐的重复操作。如果大家对以上方法有什么自己的看法,可以评论一下,我们可以进一步进行交流。
---------------------------------------------------------------------
帳戶密碼與原則
Microsoft Windows NT Server 4.0、Windows 2000、Windows XP 及 Windows Server 2003 系列
密碼和帳戶鎖定設定是用來保護組織中的帳戶和資料,減輕遭人以暴力破解猜測帳戶密碼的威脅。在預設網域原則設定中的 [帳戶鎖定] 和 [密碼原則] 節點的設定可以鎖定帳戶,並控制帳戶鎖定的運作方式。本白皮書說明這些設定對帳戶鎖定的影響,並提供設定和疑難排解帳戶鎖定問題的一般建議 (本文含有連至英文網站的連結)。
本頁內容
帳戶鎖定與密碼概念 | |
設定帳戶鎖定設定 | |
設定帳戶鎖定 | |
帳戶鎖定設定和處理程序的詳細資訊 | |
維護和監視帳戶鎖定 | |
帳戶鎖定疑難排解 | |
帳戶鎖定工具 | |
結論 | |
附錄一:帳戶鎖定的其他參考資料 | |
附錄二:收集資訊以解決帳戶鎖定的問題 |
帳戶鎖定與密碼概念
密碼是網路安全計劃中的一項重要措施。使用者可能會覺得密碼很麻煩;但企業的安全性就是仰賴密碼長度、密碼唯一性及密碼有效期限的組合。這三個項目有助於防禦字典攻擊和暴力破解攻擊。字典攻擊是指惡意使用者嘗試以字典中的已知文字和許多常見的密碼名稱來猜測密碼。暴力破解攻擊是指惡意使用者嘗試所有可能的排列組合,直到找出正確的密碼為止。
大多數使用者喜歡使用容易記住的密碼,所以惡意使用者通常會利用字典攻擊在短時間內找出密碼,比暴力破解攻擊更快。因此,密碼的強度取決於密碼的字元數、如何預防擁有者洩露密碼、如何避免惡意使用者在網路上攔截密碼,以及密碼的猜測難度。即使是網路上經過密碼編譯保護且不易遭受字典攻擊的可靠密碼,一旦被惡意使用者在網路上攔截,就能夠在短短幾週或幾個月內以暴力破解。
目前,許多攻擊方法都是使用字典和暴力破解攻擊來猜測弱式密碼。如需一些簡單預防這些攻擊的方法,請參閱本文件的「避免外部帳戶鎖定拒絕服務攻擊」,其中指出可封鎖的連接埠和可設定來預防這些攻擊的登錄值。
惡意使用者在進行密碼攻擊期間,通常會猜測許多密碼。為了避免攻擊成功,您可以設定帳戶鎖定設定。此設定的結果是關聯之帳戶在超過指定的錯誤密碼嘗試次數之後就會暫時停用。這樣就阻止再使用帳戶,有助於避免攻擊成功。然而,必須等到該帳戶解除鎖定之後,合法的使用者才能再次使用帳戶。本文件討論帳戶鎖定的優點與風險兩者之間的取捨。
了解密碼複雜性
作業系統採用的複雜密碼是最有效的方法之一,可用來阻擋攻擊成功的機會。只要同時設定密碼的到期時間和最小長度,就可以降低攻擊成功的機會。例如,當您以密碼長度 6 來強制規定密碼複雜性並設定密碼在 60 天內到期時,使用者可以選擇下列各種字元的排列組合:
• |
26 個小寫字元 |
• |
26 個大寫字元 |
• |
32 個特殊字元 |
• |
10 個數字 |
這表示:
• |
密碼有 26 + 26 + 32 + 10 = 94 個可能的字元 |
• |
密碼長度原則 = 6 |
• |
946 = 689,869,781,056 種唯一的密碼排列組合 |
由於設定 60 天的密碼到期時間,在密碼的有限留存期間,惡意使用者必須在每一秒嘗試 133,076 個密碼來猜測所有可能的密碼。如果只用 50% 的排列組合來猜測密碼,則在密碼到期之前,惡意使用者必須在每一秒嘗試登入電腦大約 66,538 (133,076 * .50) 次來搜尋密碼。
為了降低惡意使用者搜尋密碼的機會,您可以使用密碼長度 7。當您將最小密碼長度設為 7 時,可能的密碼排列組合將超過 64 兆個 (947= 64,847,759,419,264)。比較上述密碼長度 6 的計算與下列密碼長度 7 的計算,您會發現,在您設定的 60 天到期時間內,惡意使用者必須趁著密碼還有效,在每一秒登入電腦大約 6,254,606 次。
下列清單說明增加密碼長度如何阻擋字典攻擊和暴力破解攻擊。請注意,此清單中的範例假設您已套用原則來要求使用者建立複雜密碼。當您這樣做時,共有 94 種可能的字元可供使用者選擇來做為密碼。
• |
6 個字元:946 = 689,869,781,056 |
• |
7 個字元:947 = 64,847,759,419,264 |
• |
8 個字元:948 = 6,095,689,385,410,816 |
• |
9 個字元:949 = 572,994,802,228,616,704 |
• |
10 個字元:9410 = 53,861,511,409,489,970,176 |
注意: 其中有些密碼組合無效。根據預設,使用者不能選擇使用者名稱的任何部分做為密碼,也不能使用全部相同的字元做為密碼。因此,上述可能的密碼總數必須扣除這些密碼組合。由於屬於這些例外狀況的密碼極少且數量不一定 (視使用者登入名稱中的字母數而定),本文件就不討論這些例外狀況。
這些統計資料說明當您要求網路中的使用者採用複雜密碼時,惡意使用者要找出密碼就很困難。因此,Microsoft 建議您強制採用複雜密碼原則,要求使用者選擇有特定字元數的密碼,以符合組織的安全性需求。本文件的「密碼原則設定」區段說明 Microsoft® Windows NT® Server 4.0、Windows® 2000 系列及 Windows Server 2003 系列作業系統的複雜密碼原則和設定。
Microsoft 建議您利用帳戶鎖定功能,以協助阻擋惡意使用者和一些自動化攻擊去搜尋使用者密碼。下列區段提供如何使用帳戶鎖定功能的詳細資訊。
驗證
驗證是指在網域控制站上驗證使用者名稱和密碼的一種處理程序,對象包括:
• |
最初使用 CTRL+ALT+DELETE 安全登入按鍵組合來登入工作站或網域。 |
• |
使用 CTRL+ALT+DELETE 安全登入按鍵組合來嘗試解除鎖定已鎖定的工作站。 |
• |
嘗試輸入密碼來解除有密碼保護的螢幕保護裝置。 |
• |
使用對應磁碟機或通用命名慣例 (UNC) 路徑來嘗試連線到網路資源的使用者、指令碼、程式或服務。 |
注意: 如果使用者具備可存取資源的有效 Kerberos 票證,則已鎖定的帳戶仍可能取得某些資源的存取權限。Kerberos 票證到期時就會終止存取資源的能力。無論如何,已鎖定的使用者或電腦都不能更新票證。因為帳戶已鎖定,Kerberos 也無法授與新的票證給資源。
Windows 使用兩種主要的驗證通訊協定:NTLM 與 Kerberos。本文件假設您已熟悉這些驗證通訊協定,所以不再贅述驗證細節。而是專注於驗證在帳戶鎖定中所扮演的角色。如需驗證通訊協定的詳細資訊,請參閱 Windows XP 和 Windows Server 2003 系列的線上說明。
網域控制站如何驗證密碼
為了說明驗證過程,下圖顯示登入嘗試無效時所採取的步驟。
圖 1:登入嘗試失敗的處理程序
觀看完整大小的影像。
1. |
用戶端電腦會向網域控制站呈現使用者登入資訊。其中包括使用者帳戶名稱和密碼的密碼編譯雜湊。這項資訊可以傳送至任何網域控制站,但通常會傳送至最靠近用戶端電腦的網域控制站。 |
2. |
當網域控制站偵測到驗證嘗試失敗且傳回 STATUS_WRONG_PASSWORD、STATUS_PASSWORD_EXPIRED、STATUS_PASSWORD_MUST_CHANGE 或 STATUS_ACCOUNT_LOCKED_OUT 的狀況時,網域控制站會將驗證嘗試轉送給網域主控站 (PDC) 模擬器操作主機。基本上,網域控制站會查詢 PDC 來判斷密碼是否為最新。網域控制站會向 PDC 查詢這項資訊,因為網域控制站中可能沒有使用者的最新密碼,但 PDC 模擬器操作主機中一定有最新的密碼。 |
3. |
PDC 模擬器操作主機會重試驗證要求,來驗證密碼是否正確。如果 PDC 模擬器操作主機拒絕錯誤密碼,則 PDC 模擬操作主機會增加該使用者物件的 badPwdCount 屬性。PDC 是使用者密碼有效性的審判者。 |
4. |
PDC 模擬器操作主機會將失敗的登入結果資訊傳送至驗證網域控制站。 |
5. |
驗證網域控制站也會增加該使用者物件的 badPwdCount 屬性複本。 |
6. |
接著,驗證網域控制站會傳送回應至用戶端電腦,使用戶端電腦通知網域控制站登入嘗試失敗。 |
只要使用者、程式或服務不斷地將錯誤認證傳送至驗證網域控制站,則密碼錯誤的失敗登入嘗試就會不斷地轉送給 PDC,直到達到錯誤登入嘗試的閾值為止 (如果已在原則中設定)。發生這種情形時,就會鎖定帳戶。
如需詳細資訊,請參閱 Microsoft 知識庫中的 How the Bad Password Count Is Incremented in Windows NT。
Windows Server 2003 系列的新功能
在 Windows Server 2003 系列作業系統中,Microsoft 已改進伺服器和用戶端電腦上的帳戶鎖定功能。
當做網路伺服器的 Windows Server 2003 電腦
為了讓使用者的操作更順暢和降低總持有成本,Microsoft 在 Windows Server 2003 系列中對網域控制站的行為做了以下的變更:
• |
密碼歷程記錄檢查 (N-2):Windows Server 2003 作業系統在增加 badPwdCount 之前,會先在密碼歷程記錄中檢查無效密碼。如果此密碼與密碼歷程記錄中的最後兩個項目之一的密碼相同,則 NTLM 和 Kerberos 通訊協定都不會增加 badPwdCount。網域控制站的這項變更可以降低由於使用者失誤而發生鎖定的機會。 |
• |
單一使用者物件隨選複寫:如需詳細資訊,請參閱本文件中的「緊急複寫」區段。 |
• |
最佳化複寫頻率:站台之間的預設複寫頻率是每隔 15 分鐘複寫一次,且間隔 3 秒來錯開複寫間隔。由於此最佳化降低網域控制站必須連接 PDC 操作主機的機會,因此改進站台上密碼變更的複寫。 |
當做網路用戶端的 Windows Server 2003 系列電腦
當處理程序識別碼使用未通過驗證的認證時,Microsoft 已在 Windows Server 2003 系列中加入下列功能來收集此處理程序識別碼:
• |
稽核登入的變更:所有登入和登出事件都有記錄 (528 和 540,以及 529 至 539)。 | ||||||||
• |
稽核發生驗證失敗的處理程序:驗證失敗時會在安全性事件記錄檔中加入新的資訊:
注意: 若要使用處理程序識別碼,請勾選 [稽核程序追蹤] 事件的 [成功稽核],這樣就可以取得關聯事件 592 的處理程序識別碼 (PID)。如果不這樣做,則處理程序停止後,PID 就沒有用了。若要檢視稽核程序追蹤,請在群組原則 Microsoft Management Console (MMC) 的主控台樹狀目錄中,依序按兩下 [電腦設定]、[Windows 設定]、[安全性設定]、[本機原則],最後再按兩下 [稽核原則]。 |
Microsoft 在管理方面已加入下列增強功能,提供更豐富的帳戶鎖定資訊,比 Windows Server 2003 系列的預設設定所提供的資訊更多:
• |
AcctInfo.dll:AcctInfo.dll 檔案是 [Active Directory 使用者及電腦] MMC 中之使用者物件的內容頁延伸,提供使用者密碼屬性的詳細資訊。在使用者 Active Directory 站台的網域控制站上,系統管理員可以使用 AcctInfo.dll 檔案來重設使用者帳戶密碼。 |
• |
LockoutStatus.exe:LockoutStatus.exe 工具會顯示來自網域中所有網域控制站的錯誤密碼計數和時間資訊。您可以獨立執行這個工具,或將其放在電腦中的 Systemroot\System32 資料夾內,當做 AcctInfo.dll 檔案的延伸來執行。 |
如需 AcctInfo.dll 與 LockoutStatus.exe 的詳細資訊,請參閱本文件中的「帳戶鎖定工具」。
設定帳戶鎖定設定
若要同時啟用網域和本機使用者的帳戶鎖定原則設定,請設定本區段中所描述的設定。
建議的 Service Pack 和 Hotfix
我們會經常修正 Windows 作業系統中發現的安全性問題。這些修正程式通常會影響帳戶鎖定和密碼原則功能,以及其相依元件。因此,您應該將最新的 Service Pack 和 Hotfix 套用至所有網域控制站、伺服器及用戶端,確保已套用您要的帳戶安全性設定,並確保網域控制站和作業系統都是最新的。請注意,Service Pack 負責解決一群問題,而 Hotfix 是解決一個特定的問題。
您應該有持續性的策略讓電腦保持在最新狀態,而且能夠抵抗利用已修正的弱點來入侵電腦的病毒、特洛依木馬程式等等。如需如何建立軟體更新策略的詳細資訊,請參閱 Windows Server 2003 系列和 Windows XP 的 [說明及支援中心] 或 Windows 2000 的 [說明]。
由於是持續不斷地發現並修正這些問題,所以就不列在本文件中。如需詳細資訊,請參閱 Microsoft 知識庫中的 Service Packs and Hotfixes that are Available to Resolve Account Lockout Issues。
設定帳戶鎖定
帳戶鎖定原則設定是用來防止使用者密碼遭到暴力破解攻擊。本區段說明可以進行此設定的位置,以及使用設定之前應該考慮的一些事項。
設定網域使用者的帳戶鎖定
針對網域使用者,請在主控台樹狀目錄中設定預設網域原則來設定適當的值。若要設定預設網域原則,請開啟 [群組原則] MMC,依序按兩下 [電腦設定]、[Windows 設定]、[安全性設定]、[帳戶原則],最後再按兩下 [帳戶鎖定原則]。如需詳細的步驟,請參閱本文件中的「帳戶鎖定設定」。
設定本機使用者的帳戶鎖定
針對獨立工作站,請設定本機原則來設定適當的登錄值:
1. |
按一下 [開始],再按一下 [執行],輸入 gpedit.msc,然後按 ENTER。 |
2. |
在 [群組原則物件編輯器] MMC 中,依序按兩下 [電腦設定]、[Windows 設定]、[安全性設定]、[帳戶原則],最後再按兩下 [帳戶鎖定原則]。 |
3. |
在詳細資料窗格中,以滑鼠右鍵按一下您想要的原則設定,然後按一下 [內容]。 |
4. |
如果您是第一次定義這個原則設定,請按一下 [定義這個原則設定]。 |
5. |
選取您要的選項,然後按一下 [確定]。 |
Microsoft 建議您不要在密碼原則中排除特殊權限的帳戶。您的特殊權限帳戶應該要有複雜密碼、到期時間,且密碼長度最短為 15 個字元。Microsoft 也建議您針對所有使用者使用本機密碼原則來保護本機帳戶 (非網域用戶端)。針對網域中的所有工作站,請設定網域等級的群組原則物件 (GPO),並經過篩選來套用至網域成員電腦。
選擇部署時的帳戶鎖定設定
本區段說明變更各種設定的結果,並提出方式來評估在特定設定下使用暴力破解方法猜測密碼的困難度。就像密碼的其他關聯設定一樣,選擇帳戶鎖定的設定也牽涉到在安全性、可用性及成本的優缺點之間如何取得平衡。主要考量在於設定網域的密碼原則時可容忍的風險程度。例如,假設有下列兩種網域設定:
• |
網域 A 之使用者帳戶的密碼最小長度為 3 個字元,無密碼複雜性需求,且密碼永久有效。 |
• |
網域 B 之使用者帳戶的密碼最小長度為 6 個字元,需要密碼複雜性,且網域中的密碼會在 42 天內到期。 |
惡意使用者猜測網域 B 使用者密碼的風險較低,在相同的風險承受度下,網域 B 不需要太嚴格的帳戶鎖定原則。不論 LockoutDuration 登錄值是否設為 0,都會對 ObservationWindow 和 LockoutThreshold 登錄值允許的設定造成重大影響。
例如,假設系統管理員在帳戶以 LockoutDuration 登錄值 0 鎖定時重設密碼。如果 LockoutDuration 登錄值設為 0 且 LockoutThreshold 登錄值設為 20,則惡意使用者有 20 次的機會可以猜測密碼。如果鎖定時間為 30 分鐘,則惡意使用者每 30 分鐘就有 20 次機會可以猜測密碼,直到變更密碼為止。這在惡意使用者可用的猜測總次數上有很大的差別。
相較之下,如果系統管理員將密碼最長使用期限設為 42 天,則第一位惡意使用者只有 20 次機會可以猜測任何給定的密碼,但第二位惡意使用者有 40,320 次機會 (每個鎖定嘗試 20 次乘以每天 48 個鎖定再乘以使用者變更密碼之前的 42 天)。以預設密碼設定而言,共計約有 1012 個可能的密碼。這表示惡意使用者大約有 .000004% 的機會可以猜到密碼。以最佳的猜測組合來說,這個百分比已佔相當大的比例。
這個範例示範 LockoutDuration 登錄值設為 0 可讓 LockoutThreshold 登錄值在相等風險承受度下有更大的數字。只要提高 LockoutThreshold 登錄值,就能盡量避免使用者不慎將自己鎖定在電腦外。
選擇帳戶鎖定的設定時,您必須考量鎖定帳戶固有的拒絕服務本質。原則上,就是鎖定遭受攻擊的帳戶。然而,電腦無法判斷究竟是使用者輸入錯誤密碼,還是自動化工作使用錯誤密碼。因此,從使用者的觀點來看,執行日常工作的使用者可能忽然無法執行工作,於是引發網域支援的成本和失去工作的成本。您設定的 LockoutThreshold 登錄值愈小,這種情形愈可能發生。ObservationWindow 登錄值的長度對此情形的影響程度遠低於 LockoutThreshold 登錄值。
Microsoft 建議您定期檢閱所有電腦的安全性事件記錄檔,以掌握任何有關攻擊或使用者錯誤的狀況。若要取得能夠指出特定惡意使用者和目標的必要值,您必須實作本文件提及的稽核原則,請參閱本文件的「附錄二:收集資訊以解決帳戶鎖定的問題」區段。Microsoft 提供事件記錄檔監視解決方案 Microsoft Operations Manager (MOM),讓您可以利用回應來編寫指令碼。這個工具也有許多其他的內建動作可供您使用。如需 MOM 的詳細資訊,請參閱 MOM 網站。
注意: 網址可能變更,所以您可能無法連線到此網站或此處提及的站台。
LockoutThreshold 與 ObservationWindow 的比較
一般而言,LockoutThreshold 值對電腦行為的影響程度大於 ObservationWindow 值。大部分失敗的登入嘗試只在極短的期間內發生。因此,這段期間會在 ObservationWindow 時間內。使用者很少會連續輸入多次的錯誤密碼,所以不太會超過 LockoutThreshold 值。例外的情況是 LockoutThreshold 登錄值設定太低,導致使用者不小心打錯密碼太多次,結果鎖定自己 (例如,如果您將 LockoutThreshold 值設為 2)。惡意的密碼攻擊幾乎都是自動執行。使用者通常是因為輸入同樣的錯誤密碼太多次,導致自己鎖定在電腦外。
建議的帳戶鎖定設定
組織的安全性設定取決於組織環境所需的保護等級。在某些低安全性的情況下 (例如在小型辦公室,且系統中不儲存機密資訊),可能只要簡單的密碼原則就足以保護資源。然而,在高安全性的環境下 (例如銀行系統),則必須有更強大的安全保護。在這類環境下,您應該使用帳戶鎖定和強式密碼原則。在所有的範例中,實作的安全性愈強,維護該安全性的相關成本就愈高。
下表針對許多不同的安全設定提供建議的帳戶鎖定設定。
表 1:建議的帳戶鎖定設定
注意:「成本」包括帳戶已遭鎖定之使用者的當機成本,以及修復鎖定帳戶所需的支援成本。
建議的密碼原則設定
下表針對各種安全性設定提供建議的密碼原則設定。
表 2:建議的密碼原則設定
帳戶鎖定和密碼原則設定的一般建議
除了先前表格中特定的帳戶鎖定和密碼原則設定,還有其他設定變更可協助您達到您希望的安全性等級。其中包括:
• |
當您啟用帳戶鎖定時,請將 ForceUnlockLogon 登錄值設為 1。當使用者解除鎖定電腦時,此設定會要求 Windows 以網域控制站來重新驗證使用者。這有助於確保帳戶鎖定之後,使用者無法利用先前快取的密碼來解除鎖定電腦。 |
• |
如果將 LockoutThreshold 登錄值設為低於預設值 10 的值,則可能會發生虛偽鎖定 (False Lockout)。這是因為使用者和程式可以重試錯誤密碼許多次,最後鎖定使用者帳戶。這樣會增加系統管理成本。 |
• |
在解除鎖定已鎖定的帳戶之後,請確認已設定 LockoutDuration 值。這是因為值在帳戶解除鎖定期間可能變更,所以一定要做確認。 |
• |
將 LockoutDuration 登錄值設為 0 時一定要再三思。因為套用這項設定需要系統管理員來手動解除鎖定已鎖定的使用者帳戶,可能會浪費額外的管理人力。雖然可以提高安全性,但增加的人力成本卻可能超過了安全性好處。 |
• |
在每一個網域中定義一次帳戶鎖定和密碼原則。請確定只在預設網域原則中定義這些原則。這有助於避免形成衝突和非預期的原則設定。 |
• |
解除鎖定帳戶時要從相同 Active Directory 站台內的電腦中解除鎖定。在本機站台解除鎖定帳戶會在此站台上造成緊急複寫,觸發立即複寫變更。因此,使用者帳戶會很快重新取得資源的存取權限,不必枯等複寫。請注意,AcctInfo.dll 工具可協助您找出適當的網域控制站來解除鎖定帳戶。如需 AcctInfo.dll 的詳細資訊,請參閱本文件的「帳戶鎖定工具」區段。 |
避免外部帳戶鎖定拒絕服務攻擊
惡意使用者可能會從網路外對您的企業發動拒絕服務攻擊。因為大部分網路都互相連線,很難對付這種攻擊。下列是有助於減緩和預防這類攻擊的常用技巧和技術:
• |
要求複雜密碼:所有帳戶都要有複雜密碼。所有系統管理員帳戶 (本機和網域) 都要有很長、複雜的密碼,且您應該定期變更密碼。 |
• |
重新命名系統管理員帳戶:因為系統管理員帳戶是無法鎖定的,建議您重新命名這個帳戶。雖然這無法完全避免對系統管理員帳戶的所有攻擊,但通常有助於緩和這些攻擊。如需詳細資訊,請參閱 Microsoft 知識庫中的 How to Rename the Administrator and Guest Account in Windows 2000。 |
• |
使用防火牆來保護您的環境:為了避免帳戶鎖定拒絕服務攻擊,請在路由器和防火牆上封鎖 TCP 和 UDP 連接埠 135 至 139 以及連接埠 445。這樣就可以防止來自網路外部的登入嘗試。 |
• |
防止匿名存取:在所有對網際網路或整個網域 (如果所有電腦都執行 Windows 2000 以上的版本) 公開的電腦上,將 RestrictAnonymous 值設為 2。這樣可以阻止惡意使用者以匿名連線來存取資源,也有助於阻擋其他攻擊類型。請注意,有些作業系統對於使用這項設定的電腦僅提供部分支援。如果程式使用匿名連線來取得資源的存取權限,則遇到這項設定時可能會有問題。如需詳細資訊,請參閱 Microsoft 知識庫中的 <如何使用 Windows 2000 中的 RestrictAnonymous 登錄值>。 |
• |
使用 VPN 通道來保護站台間的流量:如果兩個站台的網域成員之間需要通訊,請使用站台間 VPN 通道來安全地連線站台網路。請勿在防火牆上開啟所有的 NetBIOS 連接埠。您可以使用 Windows 2000 Server Routing and Remote Access 服務來建立站台間 VPN 通道。如果沒有 VPN 裝置可用,則應該設定邊緣防火牆或路由器篩選器,以限制可在每一個站台所用的網際網路通訊協定 (IP) 位址範圍之間流通的流量。如果站台只需要在跨網際網路時才使用 Active Directory 複寫,請透過防火牆使用網際網路通訊協定安全性 (IPSec) 傳輸模式,以保護 Active Directory 伺服器之間的所有流量。如需透過防火牆進行 Active Directory 複寫的詳細資訊,請參閱 Microsoft 網站 上的 Active Directory Replication over Firewalls 白皮書 (英文)。 |
• |
避免驗證和 NetBIOS 連接埠遭受網際網路攻擊:在將內部網路與網際網路連線的防火牆或路由器上,請封鎖 TCP 和 UDP 連接埠 135 至 139 以及連接埠 445 的存取權限。如果沒有邊緣篩選裝置可用,您可以利用 IPSec 篩選器來封鎖這些連接埠。若要這麼做,請使用 Microsoft 知識庫中的 How to Block Specific Network Protocols and Ports by Using IPSec 所描述的設定。 |
• |
在相同的 IPSec 原則中,您必須建立另一個規則來加入篩選器,僅限來源位址屬於內部網路所使用的子網路時,才允許流量通過這些連接埠。若要這麼做,請使用 Microsoft 知識庫中的 How to Block Specific Network Protocols and Ports by Using IPSec 所描述的設定。 |
• |
避免驗證和 NetBIOS 連接埠遭受內部攻擊:如果必須防止內部的惡意使用者來存取驗證和 NetBIOS 連接埠,您可以使用 IPSec 中的交涉安全性功能,規定僅限網域成員電腦才能存取這些連接埠。只要僅限信任的電腦 (網域成員電腦) 才能存取驗證和 NetBIOS 連接埠,就可以減少發動攻擊的電腦數量。這一層額外的保護可以抵擋安全防線上的任何缺口,並阻擋可以連線到內部網路的惡意使用者。如需在交涉 IPSec 安全性來存取 TCP 和 UDP 連接埠 135 至 139 以及連接埠 445 時,如何建立自訂的 IPSec 原則來使用 Kerberos 驗證的詳細資訊,請參閱 Microsoft 網站上的 Step-by-Step Guide to Internet Protocol Security (IPSec)。 |
• |
更新伺服器:安裝最新版的防毒軟體、防火牆軟體及 Windows 安全性修補程式,讓所有伺服器保持在最新狀態。就算惡意使用者是從內部網路發動攻擊,而不是從網際網路發動,也一樣有助於防止特洛依木馬程式和病毒攻擊您的資源。這些更新是深層防禦安全性策略的重要環節。 |
帳戶鎖定設定和處理程序的詳細資訊
啟用帳戶鎖定功能之後,當失敗的登入嘗試次數在指定的時間內超過 LockoutThreshold 登錄值時 (帳戶鎖定閾值),就會拒絕存取帳戶。已鎖定的帳戶必須等到系統管理員重設或經過帳戶到期的鎖定期間之後,才能再次使用。
Windows NT Server 4.0、Windows 2000 及 Windows Server 2003 網域的預設安裝會停用帳戶鎖定。必須等到網域系統管理員在預設網域原則中啟用設定之後,才會啟用帳戶鎖定操作。當網域控制站升級到更新版本的作業系統時,原則設定一樣維持啟用。
雖然群組原則物件編輯器似乎在每一個組織單位中都支援帳戶鎖定和密碼原則,實際上,這些設定具有跨網域的效力,所以您必須在網域的根組織單位上定義這些設定。Microsoft 建議您對於每一個網域只在一個群組原則物件 (GPO) 中定義帳戶鎖定和密碼原則 (在 [預設網域] 原則設定中)。
密碼原則設定
保護網路安全性的第一步是強制執行密碼原則設定。在實作安全密碼原則時,可能並不需要實作帳戶鎖定功能。
密碼複雜性
根據預設,密碼可以包含任意的字元組合,也可以使用空白密碼。Microsoft 建議您要求採用複雜密碼,以確保密碼提供最佳的安全性。這些複雜密碼遠比空白或簡單密碼更能抵抗攻擊。
若要在您的組織內強制執行密碼複雜性,您可以啟用 [密碼必須符合複雜性需求] 安全性設定。此設定所強制執行的複雜性需求會儲存在 Passfilt.dll 中。在 Windows 2000 作業系統及更新版本中,Passfilt.dll 已內建於作業系統。在 Windows NT Server 4.0 中,您必須將 Passfilt.dll 檔案加入作業系統中,才能達到相同的結果。Passfilt.dll 隨附在 Windows NT Server 4.0 Service Pack 2 及更新的 Service Pack 中。
根據預設,Passfilt.dll 強制執行的複雜密碼有下列內容:
• |
請勿包含使用者帳戶名稱的全部或任何部分。 | ||||||||
• |
包含下列四種字元中的三種:
|
注意: 視您的環境而定,在密碼中使用擴充型 ASCII、符號或語音字元可能會發生非預期的結果。強烈建議您先測試這些字元再決定正式採用。
在實作此原則時,建議您向使用者通知原則已變更,以便讓簡單密碼轉換到複雜密碼的過程更順暢。否則,使用者可能會不清楚新的密碼條件,導致為了避免麻煩而規避安全性。
如果您要修改安全性設定中強制執行的複雜性需求,您可以建立和登錄自訂的密碼篩選器。如需如何建立 Passfilt.dll 檔案的詳細資訊,請參閱 MSDN 網站上的 Password Filters (英文)。
密碼歷程記錄
您可以使用密碼歷程記錄設定來防止使用者重複使用相同的密碼。當您使用密碼歷程記錄功能時,使用者將無法使用以前用過的密碼,且以您指定的密碼數量為限。您可以利用密碼歷程記錄功能來設定 Windows 保留 0 至 24 個密碼。Microsoft 建議您將密碼歷程記錄設為最大值,以確保使用者可重複使用的最少密碼數量。
在 Windows 2000 Server 系列及更新版本中,密碼歷程記錄位於 [預設網域] 原則設定中的 [電腦設定\Windows 設定\安全性設定\帳戶原則\強制執行密碼歷程記錄]。
有效的非零值介於 1 到 24 之間。執行 Windows Server 2003 系列之成員的網域控制站是以 24 為預設值,執行 Windows 2000 系列之成員的網域控制站則是以 3 為預設值,而其他所有 Windows 作業系統是以 0 為預設值。
最小密碼長度
您可以使用 [最小密碼長度] 設定,來降低惡意使用者發現密碼的機會。如需 [最小密碼長度] 設定的詳細資訊,請參閱本文件的「了解密碼複雜性」。
在 Windows 2000 作業系統及更新版本中,您可以在群組原則 MMC 中變更 [最小密碼長度] 設定,位置在 [預設網域] 原則設定中的 [電腦設定\Windows 設定\安全性設定\帳戶原則\密碼原則\[最小密碼長度]。
系統管理員可以設定介於 0 到 14 個字元之間的值。每增加一個字元就會增加可能的密碼排列組合的總數。但是如果值設為 0,則不允許空白密碼。
有效的非零值介於 1 到 14 之間,預設值為零。
密碼最長使用期限
您可以使用 [密碼最長使用期限] 設定,來限制給定密碼的有效時間。這樣可以降低破解密碼的機會。如需詳細資訊,請參閱本文件之「密碼」區段中的範例。
在 Windows 2000 系列及更新版本中,[密碼最長使用期限] 設定位於群組原則 MMC 中之 [預設網域] 原則的 [電腦設定\Windows 設定\安全性設定\帳戶原則\密碼原則\密碼最長使用期限]。
這項設定會決定在電腦要求使用者變更密碼之前,使用者可以使用密碼的一段時間 (天數)。您可以將密碼設為介於 1 到 999 天之間到期,或將天數設為 0 來指定密碼永久有效。
有效的非零值介於 1 到 999 之間,預設值為 42。
密碼最短使用期限
您可以使用 [密碼最短使用期限] 設定,來防止使用者在能夠使用原始密碼之前重複變更密碼 (如果強制執行 [密碼歷程記錄] 設定的話)。
使用 [密碼最短使用期限] 設定可以防止使用者規避密碼到期,且有助於確保唯一的密碼。
[密碼最短使用期限] 設定會決定使用者能夠變更密碼之前必須使用密碼的一段時間 (天數)。您可以將此值設為介於 1 到 999 天之間,或將天數設為 0 來允許立即變更。
如果要讓 [強制執行密碼歷程記錄] 設定生效,請將 [密碼最短使用期限] 設定設為大於 0 的數字。如果不設定密碼最短使用期限,則使用者可以反覆嘗試密碼,直到找出喜歡使用的舊密碼為止。這樣會讓使用者有機會規避已建立的密碼原則。
[密碼最短使用期限] 設定位於群組原則 MMC 的 [電腦設定\Windows 設定\安全性設定\帳戶原則\密碼原則] 中。
有效的非零值介於 1 到 999 之間,網域控制站的預設值為 1,而其他電腦的預設值為 0。
帳戶鎖定設定
您可以在 [Active Directory 使用者及電腦] MMC 中,使用本區段的程序來設定帳戶鎖定設定。
注意: 您設定的 LockoutDuration 值不能小於 OberservationWindow 的值。
1. |
依序按一下 [開始]、[設定]、[控制台],按兩下 [系統管理工具],然後按兩下 [Active Directory 使用者及電腦]。 |
2. |
在主控台樹狀目錄中,以滑鼠右鍵按一下您要設定群組原則物件的網域。 |
3. |
按一下 [內容],再按一下 [群組原則] 索引標籤。 |
4. |
按一下 [群組原則物件連結] 中的 [預設網域原則],或建立及命名群組原則物件,然後按一下 [編輯]。 |
5. |
在主控台樹狀目錄中,依序按兩下 [電腦設定]、[Windows 設定]、[安全性設定]、[帳戶原則],然後按一下 [帳戶鎖定原則]。 |
6. |
在詳細資料窗格中,以滑鼠右鍵按一下您想要的原則設定,然後按一下 [內容]。 |
7. |
如果您是第一次定義這個原則設定,請按一下 [定義這個原則設定]。 |
8. |
按一下您要的選項,再按一下 [確定]。 |
ObservationWindow
[ObservationWindow] 設定 (在群組原則中也稱為 [重設帳戶鎖定計數器的時間] 設定) 是分鐘數,超過這段時間之後就必須重設帳戶 badPwdCount 登錄值。您可以使用 [ObservationWindow] 設定,來降低使用者引起的鎖定問題。啟用這項設定時,伺服器在一段時間之後就會移除錯誤密碼嘗試。
有效的非零值介於 1 到 99999 之間,預設值為 30。
LockoutDuration
[LockoutDuration] 設定 (在群組原則中也稱為 [帳戶鎖定期間] 設定) 是在超過 [LockoutDuration] 登錄值的帳戶上強制執行帳戶鎖定的一段時間 (分鐘),從鎖定時開始計算。如果將 [LockoutDuration] 登錄值設為 0,則會永久鎖定帳戶,直到系統管理員或有委派帳戶的使用者重設帳戶為止。如果系統管理員或委派使用者帳戶未解除鎖定此帳戶,則必須經過您在 [LockoutDuration] 登錄值中設定的分鐘數之後,作業系統才會解除鎖定此帳戶。[LockoutDuration] 登錄值的非零值會自動解除鎖定帳戶,減輕解除鎖定帳戶的管理工作量;不過,在還原帳戶之前,非零值無法為使用者驗證提供更多一層的保護。
有效的非零值介於 1 到 99999 之間,預設值為 30。
LockoutThreshold
[LockoutThreshold] 設定 (在群組原則中也稱為 [帳戶鎖定閾值] 設定) 是使用者、電腦、服務或程式在登入驗證期間可傳送錯誤密碼的次數 (在帳戶被鎖定之前)。當 [badPwdCount] 登錄值等於或超過 [LockoutThreshold] 值時,就會發生帳戶鎖定。您可以調整 [LockoutThreshold] 值來防止暴力破解攻擊和字典攻擊,但此值可能設定過低,以致於連使用者錯誤及其他非攻擊性錯誤都擷取到。系統管理員通常會將此值設得很低 (3 至 5),導致由於使用者錯誤、服務帳戶的程式快取或網路用戶端的問題而造成大量帳戶鎖定。如果 [LockoutThreshold] 值設為 0,則網域上不會發生帳戶鎖定。
有效的非零值介於 1 到 999 之間,預設值為零。
帳戶鎖定值
本區段說明帳戶鎖定登錄值。這些值會儲存您在追蹤帳戶鎖定資訊時所需的資訊。
注意: 這些值是由作業系統維護,請勿手動修改。
badPasswordTime
[badPasswordTime] 值會儲存使用者、電腦或服務帳戶上次提交不符合驗證網域控制站上之密碼的時間。這個屬性會存放在網域中的每一個網域控制站的本機上。0 表示前次提交錯誤密碼的時間不明。若要取得使用者在網域中的上次錯誤密碼時間的準確值,您必須查詢網域中的每一個網域控制站,最大的就是準確值。如需詳細資訊,請參閱本文件的「LockoutStatus.exe」區段。
注意: 網域控制站之間不會複寫 [badPasswordTime] 登錄值。不過,這個屬性會回報給 PDC 操作主機。
badPwdCount
[badPwdCount] 值會儲存使用者、電腦或服務帳戶嘗試以錯誤密碼來登入帳戶的次數。此值是由網域中的每一個網域控制站個別維護,不包括帳戶網域的 PDC 操作主機,此主機負責維護錯誤密碼嘗試的總次數。0 表示此值不明。若要取得使用者在網域中之錯誤密碼嘗試的準確總次數,您必須查詢每一個網域控制站,然後加總所有的值。如需詳細資訊,請參閱本文件的「LockoutStatus.exe」區段。
注意: 網域控制站之間不會複寫 [badPwdCount] 登錄值。不過,此登錄值會回報給 PDC 操作主機。
ntPwdHistory
[ntPwdHistory] 登錄值會包含使用者在 Windows NT Server 4.0 單向函數 (OWF) 中的密碼歷程記錄。Windows 2000 與 Windows Server 2003 系列都使用 Windows NT Server 4.0 OWF。這個屬性僅供作業系統使用。請注意,您無法從 OWF 形式的密碼中取得密碼。
其他會影響帳戶鎖定的設定
本區段說明另一項會影響帳戶鎖定行為的設定。雖然此設定是以驗證為主,但與帳戶鎖定原則有密切的關係。
您可以在 [Active Directory 使用者及電腦] MMC 中使用本區段的程序,來設定驗證設定。
1. |
依序按一下 [開始]、[設定]、[控制台],按兩下 [系統管理工具],然後按兩下 [Active Directory 使用者及電腦]。 |
2. |
在主控台樹狀目錄中,以滑鼠右鍵按一下您要設定群組原則物件的網域。 |
3. |
按一下 [內容],再按一下 [群組原則] 索引標籤。 |
4. |
按一下 [群組原則物件連結] 中的 [預設網域原則],或建立及命名群組原則物件,然後按一下 [編輯]。 |
5. |
在主控台樹狀目錄中,依序按兩下 [電腦設定]、[Windows 設定]、[安全性設定]、[本機原則],然後按一下 [安全性選項]。 |
6. |
在詳細資料窗格中,以滑鼠右鍵按一下您想要的原則設定,然後按一下 [內容]。 |
7. |
如果您是第一次定義這個原則設定,請按一下 [定義這個原則設定]。 |
8. |
按一下您要的選項,再按一下 [確定]。 |
ForceUnlockLogon
[ForceUnlockLogon] 設定 (也稱為 [互動式登入:要求網域控制站驗證以解除鎖定工作站]) 會控制執行 Windows 2000、Windows XP 或 Windows Server 2003 系列的電腦在使用者解除鎖定該電腦時的行為。
• |
如果值設為 1 (或群組原則中的 [已啟用]),則解除鎖定電腦時也會同步登入網域來驗證使用者的真實性。這個選項需要網路式驗證,所以比允許快取驗證更慢。 |
• |
如果值設為 0 (或群組原則中的 [已停用]),則會使用快取的資訊來驗證使用者身分。驗證成功時,使用者就登入了。接著,Windows 會在幕後同步登入網域。這表示只要帳戶已解除鎖定,使用者仍然可以解除鎖定電腦。 |
• |
有效值為 0 和 1,預設值為 0。 |
如需解除鎖定工作站的詳細資訊,請參閱下列文章:
• |
Microsoft 知識庫中的 <解除鎖定工作站的相關資訊>。 |
• |
Microsoft 知識庫中的 <即使在帳戶鎖定螢幕保護裝置密碼才有作用>。 |
複寫與帳戶鎖定
帳戶鎖定仰賴網域控制站之間複寫鎖定資訊,來確保所有網域控制站都知道帳戶的狀態。此外,密碼變更也必須通知所有網域控制站,以確保不會將使用者的新密碼誤判為錯誤密碼。這項資料複寫是由 Active Directory 的各種複寫功能來完成,也會在本區段中討論。
立即複寫
當您變更密碼時,密碼會透過 Netlogon 的安全通道傳送至 PDC 操作主機。具體說來,網域控制站會對含有使用者名稱和新密碼資訊的 PDC 操作主機執行遠端程序呼叫 (RPC)。然後,PDC 操作主機會將此值存放在本機。
下列事件會引發 Windows 2000 網域控制站之間的立即複寫:
• |
鎖定帳戶 |
• |
修改本機安全性授權 (LSA) 密碼 |
• |
相對識別碼 (RID) 管理員的狀態變更 |
緊急複寫
當一個網域控制站上更新目錄資料,且這項更新複寫到其他所有網域控制站時,亦即在網域控制站之間發生 Active Directory 複寫。當目錄資料變更時,來源網域控制站會送出通知,表示目錄存放區現在包含已更新的資料。接著,網域控制站的複寫協力電腦會向來源網域控制站要求接收這些更新資料。來源網域控制站在送出變更通知時,通常會稍微延遲一下。此延遲時間是由通知延遲來管理 (Windows 2000 預設的通知延遲為 5 分鐘,Windows Server 2003 預設的通知延遲為 15 分鐘)。不過,複寫時的任何延遲現象都可能會導致某些變更面臨安全性風險。緊急複寫可以確保立即複寫重大的目錄變更,包括帳戶鎖定、帳戶鎖定原則的變更、網域密碼原則的變更,以及網域控制站帳戶的密碼發生變更。在緊急複寫下,不會考慮通知延遲,一律會立即送出更新通知。這樣的設計可讓其他網域控制站立即要求和接收重大更新。請注意,緊急複寫與一般複寫的差別只在於傳送變更通知之前不會延遲。如果會延遲,則緊急複寫就等同於標準複寫。當複寫協力電腦要求並接收緊急變更時,不僅會收到緊急更新資料,也會從來源網域控制站接收所有擱置的目錄更新資料。
當系統管理員或委派的使用者解除鎖定帳戶時,如果按一下 [使用者必須在下次登入時變更密碼] 來手動設定使用者帳戶的密碼到期,或重設帳戶的密碼,則修改的屬性會立即複寫到 PDC 模擬器操作主機,接著緊急地複寫到與 PDC 模擬器在同一站台的其他網域控制站。根據預設,緊急複寫不會跨越站台界限。因此,系統管理員應該在該使用者站台的網域控制站上手動變更密碼和重設帳戶。
下列事件在 Windows 2000 網域中不是緊急複寫:
• |
變更帳戶鎖定原則 |
• |
變更網域密碼原則 |
• |
變更電腦帳戶的密碼 |
• |
網域信任密碼 |
如需緊急複寫和立即複寫的詳細資訊,請參閱 Microsoft 知識庫中的 Urgent Replication Triggers in Windows 2000 (英文)。
單一使用者物件隨選複寫
在 Windows 2000 系列中,如果系統管理員在站台 A 的網域控制站上重設使用者的密碼,隨即又將密碼設為過期 (使用者有新的密碼,但在第一次登入時必須變更密碼),則當使用者在站台 B 以新密碼登入時,仍然可以成功登入。這是因為網域控制站在驗證期間會連結到 PDC 操作主機。不過,因為站台 B 的網域控制站尚未重設密碼,所以使用者密碼變更可能無法正確複寫。這是因為站台間的複寫延遲現象。
有一項已發佈的 Windows 2000 更新程式,可以變更這種行為。如需透過實作「隨選」複寫配置來變更這種行為的詳細資訊,請參閱 Microsoft 知識庫上的 You Cannot Change Your Password After an Administrator Resets It。對於因為密碼錯誤而未通過驗證的使用者物件,更新的複寫配置可讓網域控制站連絡 PDC 操作主機來要求此物件的更新資料。這有助於確保驗證網域控制站在最短的時間內收到最新的使用者帳戶資訊。
Windows NT Server 4.0 與 Active Directory 網域控制站混合的環境
如果網域中有執行 Windows NT Server 4.0 及更早版本的伺服器,則帳戶鎖定就不是可靠的安全性功能。
例如,即使帳戶在執行 Windows NT Server 4.0 及更早版本的網域控制站上已標示為鎖定,Windows NT Server 4.0 Enterprise Edition 備份網域控制站 (BDC) 仍然可以驗證使用者。另外,Windows NT Server 4.0 Enterprise Edition BDC 也無法解除鎖定帳戶。當使用者以錯誤密碼登入時,執行 Windows NT Server 4.0 Enterprise Edition 的伺服器會增加錯誤密碼計數。然後,該伺服器會向其他網域控制站回報已增加計數。然而,如果使用者以正確密碼登入,則 Windows NT Server 4.0 Enterprise Edition BDC 就不會將這項資訊傳送給執行 Windows NT Server 4.0 及更早版本的網域控制站。因此,成功登入之後並不會重設錯誤密碼計數。
Microsoft LAN Manager 的帳戶鎖定功能與執行 Windows NT Server 4.0 及更早版本之電腦上的帳戶鎖定功能不相容。執行 Windows NT Server 4.0 及更早版本的網域控制站不會將任何帳戶鎖定資訊複寫到 LAN Manager BDC。即使帳戶在 Windows NT Server 4.0 及更早版本的網域控制站上已標示為鎖定,LAN Manager BDC 仍然可以驗證使用者。即使在執行 Windows NT Server 4.0 及更早版本的網域中已啟用帳戶鎖定,LAN Manager BDC 仍然會顯示帳戶鎖定原則已設為 [永不]。
基於這些理由,您應該確保網路中的所有網域控制站都是執行 Windows 2000 或 Windows Server 2003 系列。這是確保在網路上貫徹帳戶鎖定的唯一方法。
維護和監視帳戶鎖定
在設定您要的帳戶鎖定選項之後,請接著設定電腦來取得要鎖定之帳戶的更多相關資料。本區段將說明如何啟用稽核、Netlogon 記錄及 Kerberos 記錄,以及從哪些電腦中擷取記錄檔。在設定好記錄並取得適當的資料之後,本區段接著說明如何分析資訊以確保帳戶鎖定設定有效及如何分辨攻擊。
啟用網域等級的稽核
下列區段將說明如何針對不同的作業系統來啟用網域等級的稽核。
為了有效排解帳戶鎖定的問題,請針對下列事件啟用網域等級的稽核:
• |
帳戶登入事件 -- 失敗 |
• |
帳戶管理 -- 成功 |
• |
登入事件 -- 失敗 |
Windows 2000 與 Windows Server 2003 網域
[稽核原則] 設定位於 [預設網域] 原則設定中。若要檢視 [稽核原則] 設定,請在群組原則 MMC 中依序按兩下 [電腦設定]、[Windows 設定]、[安全性設定]、[本機原則],最後再按兩下 [稽核原則]。接著,針對上一個區段列出的事件類型啟用稽核。
Windows NT Server 4.0 網域
開啟 [使用者管理員],按一下 [原則]、再按一下 [稽核]、啟用 [登入] 和 [登出] 的失敗事件稽核,然後啟用 [使用者及群組管理] 的成功事件稽核。
事件記錄檔的設定
基於疑難排解的目的,請變更 [安全性] 事件記錄檔的一些設定:
• |
將 [安全性記錄檔容量最大值] 設為 10,000 KB 以上。這有助於確保記錄檔變得太大時不會覆寫重要事件。 |
• |
將事件保持方法設為 [視需要覆寫事件],以確保即使記錄檔變成太大,電腦也不會因為 [安全性] 事件記錄項目太多而當機。 |
如需如何變更 [安全性] 事件記錄檔之大小和保持方法的詳細資訊,請參閱您使用之作業系統的 [說明] 文件。
因為用戶端和伺服器上都會發生事件,您可以利用下列工具來集中收集資訊。
• |
使用 EventCombMT.exe 工具 (多執行緒工具) 從不同電腦的事件記錄檔中收集特定的事件,並且全部集中到一個位置上,然後在這些事件記錄檔中搜尋您關心的特定資料。此工具中已內建一些特定的搜尋類別,例如帳戶鎖定,此類別已設定為包含事件 529、644、675、676 及 681。如需詳細資訊,請參閱此工具的說明檔。 |
• |
使用 Eventlog.pl 工具來管理 Windows 2000 中的事件記錄檔。您可以使用這個工具來變更事件記錄檔的內容、備份事件記錄檔、將事件清單匯出至文字檔、清除事件記錄檔及查詢事件記錄檔的內容。如需詳細資訊,請參閱 Microsoft 知識庫中的 <在 Windows 2000 中如何使用「事件記錄檔管理指令碼工具 (Eventlog.pl)」來管理事件記錄>。 |
Netlogon 記錄
您可以使用 Netlogon 記錄來擷取 Netlogon 和 NTLM 事件。建議您在有 Windows 2000 用戶端的 Windows 2000 網域中設定 Netlogon 記錄。
您必須在網域主控站 (PDC) 及其他涉及使用者驗證的任何網域控制站上設定 Netlogon 記錄。若要判斷驗證網域控制站,請在命令提示字元下輸入 set l 或使用 LockoutStatus.exe 工具。如需 LockoutStatus.exe 工具的詳細資訊,請參閱本文件的「帳戶鎖定工具」區段。如果企業中的網域控制站少於 10 個,則應該在每一個網域的所有網域控制站上都啟用 Netlogon 記錄。
在執行 Windows 2000 Server 的電腦上啟用 Netlogon 記錄
若要在執行 Windows 2000 Server 的電腦上啟用 Netlogon 記錄,請在命令提示字元下輸入 nltest /dbflag:2080ffff。記錄檔將建立在 Systemroot\Debug\Netlogon.log。如果該位置中沒有記錄檔,請停止並重新啟動該電腦的 Netlogon 服務。若要這麼做,請在命令提示字元下輸入 net stop netlogon 與 net start netlogon。如需詳細資訊,請參閱 Microsoft 知識庫上的 <啟用 NetLogon 服務的偵錯記錄>。
如果可用磁碟空間很少,請確定有足夠的空間可容納 40 MB 的最大記錄空間。另外也要考量 Netlogon 記錄所用的磁碟空間。Netlogon.log 的大小達到 20 MB 時會重新命名為 Netlogon.bak,同時也會建立新的 Netlogon.log,內含最新的 Netlogon 資料。當此 Netlogon.log 的大小又達到 20 MB 之後,就會截斷 Netlogon.bak,且目前的 Netlogon.log 檔案會重新命名為 Netlogon.bak。就是因為這樣的處理程序,Netlogon 記錄所用的磁碟空間總計永遠不會超過 40 MB。
注意: 記錄處理程序會稍微降低效能。因此,在記錄檔中擷取您要的事件之後,請停用 Netlogon 記錄。若要停用 Netlogon 記錄,請在命令提示字元下輸入 nltest /dbflag:0,按 ENTER,再輸入 net start netlogon,然後按 ENTER。
Kerberos 記錄
如果帳戶鎖定涉及執行 Windows 2000 系列或更新版本之成員的 Kerberos 用戶端,您可以在這些用戶端電腦上啟用 Kerberos 記錄。通常是在確定發生 Kerberos 相關的驗證問題時才會執行這個步驟。
若要在電腦上啟用 Kerberos 事件記錄:
1. |
按一下 [開始],按一下 [執行],輸入 regedit,然後按 ENTER。 | ||||||
2. |
在下列登錄機碼中加入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters 登錄值:
如果 Parameters 登錄機碼不存在,請自行建立。 | ||||||
3. |
關閉登錄編輯程式,並重新啟動電腦。 |
注意 不正確編輯登錄將嚴重損害您的系統。在變更登錄之前,應備份電腦上的重要資料。注意: 記錄處理程序可能會降低效能。因此,在記錄檔中擷取您要的事件之後,請停用記錄處理程序。若要停用記錄,請移除 LogLevel 登錄值,然後重新啟動電腦。
您可以使用本文件的「帳戶鎖定工具」區段中的指令碼來自動執行這項處理程序。此指令碼可以在執行 Windows 2000 的用戶端電腦上的登錄中設定 Kerberos 記錄機碼。若要針對數台電腦來同時啟用記錄,您可以在 Active Directory 群組原則中將這段指令碼指定為啟動指令碼。
若要在電腦上停用 Kerberos 事件記錄:
1. |
按一下 [開始],按一下 [執行],輸入 regedit,然後按 ENTER。 |
2. |
刪除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogLevel 登錄值。 |
3. |
關閉登錄編輯程式,並重新啟動電腦。 |
注意 不正確編輯登錄將嚴重損害您的系統。在變更登錄之前,應備份電腦上的重要資料。
如需詳細資訊,請參閱 Microsoft 知識庫中的 How to Enable Kerobers Event Logging。
事件與 Netlogon 記錄檔擷取
在設定稽核和記錄之後,請靜待帳戶鎖定發生。當帳戶鎖定發生時,請從涉及用戶端鎖定的所有電腦中擷取 [安全性] 事件記錄檔和 [系統] 事件記錄檔,以及 Netlogon 記錄檔。其中包括 PDC 模擬器操作主機、驗證網域控制站,以及鎖定的使用者尚有使用者工作階段的所有用戶端電腦。
若要判斷涉及鎖定的網域控制站,請執行 LockoutStatus.exe 工具,並指定已鎖定的使用者帳戶。這個工具會從網域中的所有網域控制站收集並顯示特定使用者帳戶的相關資訊。此外,還會顯示使用者在每一個網域控制站上的 badPwdCount 值。如果網域控制站上有 badPwdCount 值指出網域的錯誤密碼閾值設定,則這些就是涉及鎖定的網域控制站。這些網域控制站中一律會包含 PDC 模擬器操作主機。
由於密碼送往 PDC 模擬器操作主機的方式,badPwdCount 值可能會高於閾值。當使用者或程式提出錯誤密碼時,驗證網域控制站與 PDC 模擬器操作主機都會增加該帳戶的 badPwdCount 值。當 Active Directory 複寫發生時,就會導致此值增加。但最後的結果都一樣:鎖定帳戶。
您也可以使用 EventCombMT.exe 工具將數台電腦的特定事件記錄資料集中到一個位置上。如需 EventCombMT.exe 和 LockoutStatus.exe 工具的詳細資訊,請參閱本文件的「帳戶鎖定工具」區段。
分析記錄檔資訊
上一個區段說明如何使用記錄檔來記錄電腦上關於鎖定的資訊。本區段的重點是這些記錄檔的分析,以及如何研判是什麼行為導致記錄檔的建立並造成有待您解決的問題。本區段也將說明如何解決在分析記錄檔時發現的問題。
分析 Netlogon 記錄檔
在開始分析 Netlogon 記錄檔之前,請先熟悉本文件在先前各區段中的驗證處理工作。雖然本區段只說明 NTLM 驗證處理,但 Kerberos 驗證期間也會發生類似的一連串事件。
當用戶端電腦上的使用者嘗試在使用者帳戶之同一網域中的檔案伺服器上存取資源時,下列範例就是討論此時會發生什麼情形的案例。在這個過程中:
1. |
使用者認證會傳遞至檔案伺服器。這會顯示在 Netlogon.log 檔的 [Network Logon] 區段中。 |
2. |
檔案伺服器會嘗試驗證使用者,但因為這個帳戶是網域使用者帳戶,所以檔案伺服器必須將認證轉送給驗證網域控制站來驗證。這項行為在 Netlogon.log 檔案中會顯示為 Transitive Network logon (可轉送的網路) 登入,且通常稱為 Pass-Through 驗證。 |
3. |
如果密碼不正確,或與驗證網域控制站所儲存的密碼不相同,則驗證網域控制站會將認證送往 PDC 來驗證。這在 Netlogon.log 檔案中會顯示為 Transitive Network Logon (可轉送的網路登入)。 |
Netlogon 記錄檔逐步解說
下列區段提供來自這三台電腦的 Netlogon.log 檔案輸出範例:
• |
網域的 PDC 操作主機:DC002 |
• |
驗證網域控制站:DC003 |
• |
成員伺服器:MEMSERVER01 |
範例輸出區段顯示下列涉及網路驗證的參與者:
• |
網域名稱:Tailspintoys |
• |
登入使用者名稱:User1 |
• |
登入電腦名稱:Computer-006 |
Transitive Network Logon (可轉送的網路登入) (Pass-Through 驗證)
DC002 PDC 模擬器 Netlogon 記錄檔的範例:
29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC000006A 29-Mar 14:28:31 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC0000234
DC003 驗證網域控制站 Netlogon 記錄檔的範例:
29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via MEMSERVER01) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via MEMSERVER01) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via MEMSERVER01) 0xC000006A 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via MEMSERVER01) 0xC000006A 29-Mar 14:28:31 Transitive Network logon Tailspintoys\User1 Computer-006 (via MEMSERVER01) 0xC000006A 29-Mar 14:28:31 Transitive Network logon Tailspintoys\User1 Computer-006 (via MEMSERVER01) 0xC0000234
MEMSERVER01 成員伺服器 Netlogon 記錄檔的範例:
29-Mar 14:28:31 Network logon Tailspintoys\User1 Computer-006 0xC000006A 29-Mar 14:28:31 Network logon Tailspintoys\User1 Computer-006 0xC000006A 29-Mar 14:28:32 Network logon Tailspintoys\User1 Computer-006 0xC000006A 29-Mar 14:28:32 Network logon Tailspintoys\User1 Computer-006 0xC000006A 29-Mar 14:28:32 Network logon Tailspintoys\User1 Computer-006 0xC000006A 29-Mar 14:28:32 Network logon Tailspintoys\User1 Computer-006 0xC0000234
這些 Netlogon.log 檔案範例會提供 Netlogon 記錄檔中包含的資訊範例。這項資訊用來追蹤帳戶鎖定,從網域控制站開始,回溯至有使用者或應用程式嘗試以錯誤認證來取得存取權限的成員伺服器。
逐步分析 Netlogon 記錄檔範例
本區段將說明嘗試從記錄檔研判帳戶鎖定問題的原因時,應採取的標準分析程序。
在大部分的疑難排解案例中,應該從檢查 PDC 操作主機上的 Netlogon.log 檔案來開始分析記錄檔。因為這是可轉送的網路登入,對於將登入送往 PDC 操作主機的網域控制站,您可以檢視 Netlogon.log 檔案中的 "Via" 這一行來找出驗證網域控制站。
PDC 模擬器 (DC002) Netlogon 記錄檔的範例
在下列範例中,請注意在 PDC Netlogon.log 檔案的 "Via" 這一行指出驗證來自 DC003。
29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer006 (via DC003) 0xC000006A
這是本文件先前的「分析 Netlogon 記錄檔」區段所詳述之驗證程序的步驟 3 圖例。
驗證網域控制站 (DC003) Netlogon 記錄檔的範例
在 DC003 的 Netlogon 記錄檔中,因為認證送往 DC003 來驗證,所以此驗證仍為可轉送的網路登入。因此,請注意認證來自何處。在這個範例中,認證透過 "MEMSERVER01" 來傳送:
29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer006 (via MEMSERVER01) 0xC000006A
這是本文件先前的「分析 Netlogon 記錄檔」區段所詳述之驗證程序的步驟 2 圖例。
檔案伺服器會嘗試驗證使用者,但因為這是網域使用者帳戶,所以檔案伺服器必須將認證轉送給驗證網域控制站來驗證。這在 Netlogon.log 檔案的 FileServername 區段中會顯示為 Transitive Network logon (可轉送的網路) 登入。
成員伺服器 (MEMSERVER01) Netlogon 記錄檔的範例
在 MEMSERVER01 上的 Netlogon.log 檔案中,請從相同的期間開始來驗證提出原始登入或工作階段設定要求的實際用戶端電腦名稱。在這個範例中,要求來自 Computer-006:
29-Mar 14:28:31 Network logon Tailspintoys\User1 Computer-006 0xC000006A
這是本文件先前的「分析 Netlogon 記錄檔」區段所詳述之驗證程序的步驟 1 圖例。
使用者認證會傳遞至檔案伺服器。這會顯示在 Netlogon.log 檔的 [Network Logon] 區段中。
即使記錄檔未顯示傳送錯誤認證的確切程序,但 Netlogon 記錄檔確實提供下列資訊來協助您排解鎖定的問題:
• |
Netlogon 輸出顯示使用者的帳戶在一段特定期間內失敗登入嘗試的次數 (0xC000006A)。在一秒之內發生多個 0xC000006A 事件的記錄,表示鎖定很可能由傳送錯誤認證的處理程序、程式或指令碼所引起。 | ||||
• |
Netlogon 輸出會完整呈現所有涉及帳戶鎖定的電腦。在涉及的電腦之中,您可以先判斷常見的要素,例如程式,以縮小嫌疑範圍。例如,從以上的 Netlogon 輸出中,在認定所有使用者鎖定中都有 MEMSERVER01 之後,疑難排解對象就變成 MEMSERVER01 使用的特定網路服務或使用者帳戶。 | ||||
• |
在這個範例中,MEMSERVER01 是 Microsoft Exchange 伺服器。在檢查 Microsoft Outlook 用戶端和 Exchange 伺服器設定之後,您可以參考下列兩份文章的資訊來解決問題。這些文章說明如何從 Exchange 伺服器中移除不必要的 RPC 連結。例如,如果沒有用戶端需要具名管道,則移除「具名管道」支援。
| ||||
• |
如果 Netlogon 從鎖定時就開始記錄所有網域控制站的事件,但未顯示您正在分析的任何鎖定使用者帳戶的相關資料,則表示 NTLM 驗證未涉及鎖定。這通常表示驗證問題發生在執行 Windows 2000 或更早版本的電腦之間,因為更早版本的 Windows 只使用 NTLM 驗證。您應該利用 Kerberos 記錄並檢查 [安全性] 事件記錄檔來專注於 Kerberos 驗證的疑難排解。 |
Netlogon 記錄檔錯誤碼
Netlogon 記錄檔中的每一個事件都有對應的錯誤碼。下表說明這些錯誤碼。
表 3:Netlogon 記錄檔錯誤碼
記錄碼 | 描述 |
0x0 |
成功登入 |
0xC0000064 |
指定的使用者不存在 |
0xC000006A |
提供做為目前密碼的值不正確 |
0xC000006C |
不符合密碼原則 |
0xC000006D |
由於使用者名稱錯誤,嘗試的登入無效 |
0xC000006E |
使用者帳戶限制阻礙成功登入 |
0xC000006F |
使用者帳戶有時間限制,目前無法登入 |
0xC0000070 |
使用者受到限制,無法從來源工作站登入 |
0xC0000071 |
使用者帳戶的密碼已過期 |
0xC0000072 |
使用者帳戶目前已停用 |
0xC000009A |
系統資源不足 |
0xC0000193 |
使用者的帳戶已過期 |
0xC0000224 |
使用者在第一次登入時必須變更密碼 |
0xC0000234 |
已自動鎖定使用者帳戶 |
注意: 以上有許多代碼在記錄檔中提供的資訊和對應的 Netlogon 事件記錄檔重複。方便您以各種方式來分析事件。
常見問題集
本區段會回答一些常見的問題,這些問題將有助於 Windows Server 2003 系列之「帳戶鎖定」功能的疑難排解。
• |
登入嘗試會有數秒的間隔,還是在同一秒內會有多次不正確的登入嘗試事件 (錯誤碼 0xC000006A)? 模式會顯示這是由使用者錯誤,或是由處理程序或程式造成的鎖定。若是使用者造成的事件,前後會有幾秒的間隔,而處理程序或程式通常會在同一秒內登錄許多不正確或失敗的嘗試登入事件。 注意:您可以使用 NLParse.exe 工具來分析 Netlogon 記錄檔,看是否有與帳戶鎖定相關的特定事件,例如 0xC000006A 和 0xC0000234 事件。分析的資料會傳送至 .csv 檔案,您可以使用 Microsoft Excel 等程式讀取該檔案。如需 NLParse 的詳細資訊,請參閱本文件的「帳戶鎖定工具」區段。 |
• |
不正確的登入嘗試事件是從哪些電腦產生? 您檢視 Netlogon 記錄檔和事件記錄檔時,可以區隔出使用者在帳戶鎖定期間所登入的電腦。在許多情況下,您將會發現使用者登入了多部電腦,當使用者在其中一部電腦上變更密碼之後,使用者帳戶就會被鎖定。 |
• |
Netlogon 記錄檔中顯示哪些用戶端電腦? 如果只有 Windows 98 或 Windows 95 用戶端遭到鎖定,您可能需要為這些用戶端安裝目錄服務用戶端。例如,以下的 Computer-006 電腦產生不正確的登入嘗試事件: 29-Mar 14:28:30 Transitive Network logon Acme\User1 Computer-006 (via DC003) 0xC000006A |
• |
有哪些使用者帳戶與不正確的登入嘗試事件關聯? 如果特殊權限帳戶 (例如系統管理員、服務帳戶及熟知的應用程式名稱) 收到大量的不正確密碼嘗試,請先檢視使用不正確密碼嘗試之電腦的資訊,再判斷帳戶的密碼是否錯誤。檢視之後,如果所有帳戶的密碼都已重設,仍然出現不正確的密碼嘗試,請執行追蹤,判斷電腦是否遭到攻擊。您可以安排事件觸發器以停止追蹤,再判斷嘗試的可能來源。有蠕蟲病毒或安全漏洞的內部或外部電腦,都可能是威脅。以下範例顯示從 Tailspintoys\User1 使用者產生 0xC000006A 錯誤碼: 29-Mar 14:28:30 Transitive Network logon Tailspintoys\User1 Computer-006 (via DC003) 0xC000006A |
• |
不正確的登入嘗試事件和帳戶鎖定是否有明顯的模式? 模式:網域上所有使用者都被鎖定,包括未變更自己密碼的使用者。每秒有許多次失敗的驗證嘗試。 可能的解決方案:如果您發現記錄檔顯示您網域中大部分或全部使用者帳戶都被鎖定,就必須執行追蹤以判斷攻擊來源是在您網路的內部或外部。如果是來自內部電腦的攻擊,請檢查在這些電腦上的處理程序,因為這可能表示有個通用的處理程序使用過時或不正確的認證。如果是來自網路之外的攻擊,往往表示有針對您的使用者帳戶的拒絕服務或暴力破解攻擊。 模式:記錄檔中有按照字母順序排列的使用者清單。 可能的解決方案:如果記錄檔顯示所有使用者帳戶都幾乎是以字母順序排列的清單鎖定,這很可能是想要破解密碼或拒絕服務之攻擊所造成的行為。您必須執行網路追蹤,以追蹤攻擊的來源。 模式:每個遭鎖定的帳戶上都進行了一定次數的登入嘗試。 可能的解決方案:如果您發現記錄檔顯示每位使用者都有一定次數的登入嘗試,請將使用者的 0xC000006A 和 0xC0000234 錯誤發生次數相加。有時候,您會看到針對某位使用者的一定次數嘗試,再針對另一位使用者的相同次數嘗試…等等之類的模式。此行為可能是網路攻擊,或者程式可能傳送特定的一組嘗試。這些攻擊的常見嘗試次數是每位使用者 16 或 17 次。 |
在大多數的帳戶鎖定情況下,您都必須使用 Netlogon 記錄檔來判斷是哪些電腦在傳送錯誤的認證資料。分析 Netlogon 記錄檔時,請檢查 0xC000006A 事件碼,因為此事件可幫助您判斷錯誤的密碼嘗試是何時開始的。您查看 0xC000006A 事件碼而該事件碼之後緊接著 0xC0000234 事件碼時,在這些事件碼之後的事件碼可幫助您判斷造成帳戶鎖定的原因。如果您在記錄檔中看出模式,模式可幫助您判斷是因為程式的攻擊或是使用者的錯誤而導致事件碼的記錄。
分析事件記錄檔
除非在帳戶鎖定之前就啟用 Netlogon 記錄,否則您無法判斷帳戶遭到鎖定時使用的驗證類型。不過,由於驗證的差異,有時候 Netlogon 記錄可能也未擷取到您可用來判斷與帳戶鎖定相關之電腦的資料。設定適當的電腦以建立事件記錄,可在遇到這些情況時提供更多的資訊。
您應該在問題發生之前,在可能受帳戶鎖定事件牽連的所有電腦上,啟用安全性稽核和 Kerberos 記錄。如何啟用稽核和 Netlogon 記錄檔的說明,會在本文件的其他區段討論。如果未在發生最初錯誤之前設定好稽核功能,也可以在發生之後設定。
發生帳戶鎖定之後,應執行多項工作以協助辨識問題的原因:
1. |
取得遭到鎖定之所有電腦 (如果發生鎖定時這些電腦已登入) 上的安全性與系統事件記錄檔。另外也要從 PDC 模擬器操作主機和可能與帳戶鎖定有關的所有網域控制站,取得這些記錄檔。 |
2. |
在被鎖定之使用者帳戶的網域控制站安全性事件記錄檔中,尋找 Event 675 (預先驗證失敗)。此事件會顯示傳送不正確認證之來源用戶端電腦的 IP 位址。您檢視 PDC 之安全性事件記錄檔中的這些事件時,發生 Event 675 的 IP 位址有可能是另一個網域控制站的 IP 位址,這是因為可能會有來自其他網域控制站的密碼鏈結。如果是這種情況,請取得該網域控制站的安全性記錄檔並查看 Event 675。在該 Event 675 中列出的 IP 位址應該就是傳送不正確認證之用戶端電腦的 IP 位址。 |
3. |
您知道是哪一部用戶端電腦在傳送不正確的認證之後,請判斷該電腦上使用的服務、程式及對應的網路磁碟機。如果此資訊無法找出帳戶鎖定的根源,請從該用戶端電腦執行網路追蹤,以隔離出確實的鎖定根源。 注意:您可以使用 EventCombMT.exe 工具,同時從不同的網域控制站收集事件記錄日期。如需 EventCombMT.exe 的詳細資訊,請參閱本文件的「帳戶鎖定工具」區段。 |
如需詳細資訊,請參閱下列文章:
• |
Microsoft 知識庫中的 Windows 2000 Security Event Descriptions (Part 1 of 2)。 |
• |
Microsoft 知識庫中的 Windows 2000 Security Event Descriptions (Part 2 of 2)。 |
事件記錄項目範例:Kerberos 處理的不正確密碼事件
以下範例顯示 PDC 模擬器操作主機上的安全性事件記錄檔中的 Event 675 例子:
Event Type: Failure Audit Event Source: Security Event Category: Account Logon Event ID: 675 Date: 12/5/2001 Time: 5:47:26 PM User: NT AUTHORITY\SYSTEM Computer: COMPUTER-006 Description: Pre-authentication failed: User Name: user1 User ID: %{S-1-5-21-4235101579-1759906425-16398432-1114} Service Name: krbtgt/Tailspintoys.com Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 172.16.1.85
此範例中因為使用的使用者名稱或密碼不正確,所以列出失敗碼 0x18。用戶端位址 172.16.1.85 為造成此失敗的網路用戶端。此事件中也包含使用者名稱「user1」。用戶端位址與使用者名稱應該就可以提供您足夠的資訊,以開始此問題的調查,因為您已知道哪位使用者正嘗試從哪一部電腦登入。
事件記錄項目範例:帳戶遭到鎖定
以下範例顯示 Event 644 的例子,該事件表示帳戶已被鎖定。
Event Type: Success Audit Event Source: Security Event Category: Account Management Event ID: 644 Date: 12/5/2001 Time: 5:47:26 PM User: Everyone Computer: COMPUTER-006 Description: User Account Locked Out: Target Account Name: user1 Target Account ID:%{S-1-5-21-4235101579-1759906425-16398432-1114} Caller Machine Name:COMPUTER-006 Caller User Name:USER1$ Caller Domain:TAILSPINTOYS Caller Logon ID:(0x0,0x3E7)
如需帳戶鎖定事件的詳細資訊,請參閱 Microsoft TechNet 網站上的 Audit Account Lockout (英文)。
事件記錄項目範例:登入失敗
以下範例顯示 Event 529 的例子,此事件是因為使用者名稱或密碼不正確,以致登入失敗所造成的。此事件通常在識別造成鎖定的根源時很有用:
Event Type: Failure Audit Event Source: Security Event Category: Logon/Logoff Event ID: 529 Date: 12/21/2001 Time: 2:05:20 PM User: NT AUTHORITY\SYSTEM Computer: COMPUTER-006 Description: Logon Failure: Reason: Unknown user name or bad password User Name: user1 Domain: Tailspintoys Logon Type: 2 Logon Process: User32 Authentication Package: Negotiate Workstation Name: COMPUTER-006
此事件包含許多有用的元素。它會識別嘗試驗證之電腦的名稱,以及使用者和網域名稱。其中也會顯示登入類型,登入類型會在本區段稍後討論。
如果有記錄 Event 529,您就應該尋找事件的模式。判斷是否記錄了許多個 529 事件,並判斷這些事件是否全部在同一秒發生,或者是否以特定的時間間隔發生。如果是,表示不正確認證是由正在該電腦上執行的處理程序或服務所傳送。檢查記錄中的登入處理程序和登入類型項目,以判斷傳遞不正確認證的處理程序類型,以及處理程序如何登入。
事件記錄項目範例:帳戶已停用
嘗試使用已停用的帳戶登入時,事件記錄檔中會建立特定的事件。這可幫助您很快地識別入侵者,因為正常的作業應該不會允許使用已鎖定的帳戶。您應該迅速地分析及因應這些事件。
Event Type: Failure Audit Event Source: Security Event Category: Logon/Logoff Event ID: 531 Date: 12/21/2001 Time: 2:05:21 PM User: NT AUTHORITY\SYSTEM Computer: COMPUTER-006 Description: Logon Failure: Reason: Account currently disabled User Name: user1 Domain: TAILSPINTOYS Logon Type: 2 Logon Process: User32 Authentication Package: Negotiate
帳戶鎖定期間記錄的 Kerberos 事件
若有啟用 Kerberos 記錄,發生帳戶鎖定時會記錄特定的事件。本區段將討論這些事件。
密碼不正確
Kerberos 收到的驗證要求中若包含不正確的密碼,就會記錄此事件。
Event Type: Error Event Source: Kerberos Event Category: None Event ID: 4 Date: 12/21/2001 Time: 2:02:05 PM User: N/A Computer: COMPUTER-006 Description: The function LogonUser received a Kerberos Error Message: on logon session TAILSPINTOYS\user1 Client Time: Server Time: 19:2:5.0000 12/21/2001 (null) Error Code: 0x18 KDC_ERR_PREAUTH_FAILED Client Realm: Client Name: Server Realm: TAILSPINTOYS.COM Server Name: krbtgt/TAILSPINTOYS.COM Target Name: krbtgt/TAILSPINTOYS@TAILSPINTOYS Error Text: File: Line: Error Data is in record data.
使用者帳戶鎖定時記錄的 Kerberos 事件
使用 Kerberos 進行驗證且出現帳戶鎖定情形時,就會記錄此事件。
Event Type: Error Event Source: Kerberos Event Category: None Event ID: 4 Date: 12/21/2001 Time: 2:05:21 PM User: N/A Computer: COMPUTER-006 Description: The function LogonUser received a Kerberos Error Message: on logon session TAILSPINTOYS\user1 Client Time: Server Time: 19:5:21.0000 12/21/2001 (null) Error Code: 0x12 KDC_ERR_CLIENT_REVOKED Client Realm: Client Name: Server Realm: TAILSPINTOYS.COM Server Name: krbtgt/TAILSPINTOYS.COM Target Name: krbtgt/TAILSPINTOYS@TAILSPINTOYS Error Text: File: Line: Error Data is in record data
登入事件
各種登入和登出動作都會建立許多不同的事件。下表描述每一種登入事件。
表 4:登入事件識別碼
事件識別碼 | 描述 |
528 |
使用者成功地登入電腦。如需登入類型的詳細資訊,請參閱下面的 [登入類型] 表。 |
529 |
登入失敗。嘗試使用未知的使用者名稱,或者已知的使用者名稱和錯誤的密碼登入。 |
530 |
登入失敗。嘗試登入,但是使用者帳戶嘗試在允許時間之外登入。 |
531 |
登入失敗。嘗試使用已停用的帳戶登入。 |
532 |
登入失敗。嘗試使用過期的帳戶登入。 |
533 |
登入失敗。不允許透過此電腦登入的使用者嘗試登入。 |
534 |
登入失敗。使用者嘗試使用不允許的類型登入。 |
535 |
登入失敗。指定之帳戶的密碼已過期。 |
536 |
登入失敗。Netlogon 服務並未啟動。 |
537 |
登入失敗。其他原因造成登入嘗試失敗。 注意:有時候可能無法知道登入失敗的原因。 |
538 |
使用者的登出程序已完成。 |
539 |
登入失敗。帳戶在嘗試登入時已鎖定。 |
540 |
使用者成功地登入網路。 |
541 |
本機電腦和列出的對等個體之間已完成主要模式網際網路金鑰交換 (IKE) 驗證 (建立安全性關聯),或者快速模式已建立資料通道。 |
542 |
資料通道已終止。 |
543 |
主要模式已終止。 注意:這可能是因為安全性關聯的期限已超過、原則有所變更,或是由對等體終止 (安全性關聯的預設到期時間為八小時)。 |
544 |
主要模式驗證失敗,因為對等體並未提供有效的認證或簽章未經確認。 |
545 |
主要模式驗證失敗,因為 Kerberos 失敗或密碼不正確。 |
546 |
IKE 安全性關聯建立失敗,因為對等體傳送不正確的提議。收到包含不正確資料的封包。 |
547 |
IKE 信號交換期間發生失敗。 |
548 |
登入失敗。來自受信任網域的安全性識別元 (SID) 與用戶端的帳戶網域 SID 不符。 |
549 |
登入失敗。在跨越樹系驗證期間,會過濾掉對應至不受信任名稱區的所有 SID。 |
550 |
可能發生拒絕服務攻擊。 |
551 |
使用者啟動了登出程序。 |
552 |
使用者已經以其他使用者身分登入,又再度使用明確的認證成功地登入電腦。 |
672 |
已成功發出並確認驗證服務 (AS) 票證。 |
673 |
已授與票證授權服務 (TGS) 的票證。 |
674 |
有個安全性主體更新了 AS 票證或 TGS 票證。 |
675 |
預先驗證失敗。使用者輸入不正確的密碼時,金鑰發佈中心 (KDC) 會產生此事件。 |
676 |
驗證票證要求失敗。Windows XP 或 Windows Server 2003 系列不會產生這個事件。 |
677 |
未授與 TGS 票證。Windows XP 或 Windows Server 2003 系列不會產生這個事件。 |
678 |
帳戶已成功對應至網域帳戶。 |
681 |
登入失敗。嘗試登入網域帳戶。Windows XP 或 Windows Server 2003 系列不會產生這個事件。 |
682 |
使用者已重新連接到中斷連接的終端機伺服器工作階段。 |
683 |
使用者未登出就中斷終端機伺服器工作階段的連接。 注意:此事件是在使用者透過網路連接至終端機伺服器工作階段時產生。這會顯示在終端機伺服器上。 |
Netlogon 登入類型
如果記錄了許多個 Netlogon 登入事件,事件詳細資料中也會列出登入類型。下表描述每一種登入類型。
表 5:Netlogon 登入類型
登入類型 | 登入標題 | 描述 |
2 |
互動式 |
使用者已登入此電腦。 |
3 |
網路 |
使用者或電腦從網路登入了此電腦。 |
4 |
批次 |
批次登入類型是由批次伺服器使用,使用者不需直接介入,而是由處理程序代替使用者執行。 |
5 |
服務 |
服務控制管理員啟動了服務。 |
7 |
解除鎖定 |
此工作站已解除鎖定。 |
8 |
NetworkCleartext |
使用者已從網路登入此電腦。使用者的密碼以未雜湊的形式傳遞至驗證封裝。內建驗證封裝會在網路上傳送認證之前,先建立認證的雜湊。認證不會以純文字 (也稱為明文) 的格式在網路上周遊。 |
9 |
NewCredentials |
呼叫者複製了它目前的權杖,並為輸出連線指定了新的認證。新登入工作階段的本機識別身分相同,但是針對其他網路連線卻使用不同的認證。 |
10 |
RemoteInteractive |
使用者使用終端機服務或遠端桌面,從遠端登入了此電腦。 |
11 |
CachedInteractive |
使用者使用儲存在本機電腦上的網路認證,來登入此電腦。並未連絡網域控制站進行認證的確認。 |
帳戶鎖定疑難排解
在已設定帳戶鎖定功能的環境中,您可能會注意到發生大量的鎖定。若要判斷這些鎖定是因誤判鎖定或屬於真正的攻擊:
1. |
請確認網域控制站和用戶端電腦已使用 Service Pack 和 Hotfix 保持在最新的狀態。如需詳細資訊,請參閱本文件的 <建議的 Service Pack 和 Hotfix> 區段。 | ||||||
2. |
設定您的電腦以擷取資料:
如需詳細資訊,請參閱本文件的「附錄二:收集資訊以解決帳戶鎖定的問題」區段。 | ||||||
3. |
分析安全性事件記錄檔與 Netlogon 記錄檔,幫助您判斷發生鎖定的位置及原因。 | ||||||
4. |
分析產生帳戶鎖定之電腦上的事件記錄檔,以判斷原因。 如需詳細資訊,請參閱本文件的「帳戶鎖定工具」區段。 |
下列區段將進一步說明帳戶鎖定疑難排解的程序。
帳戶鎖定的常見原因
本區段將說明帳戶鎖定的一些常見原因。同時也提供常見的帳戶鎖定疑難排解步驟和解決方法。
若要避免誤判鎖定,請在發生鎖定的每一部電腦上檢查下列行為:
• |
程式:許多程式會快取認證,或者保存一個使用中執行緒,該執行緒在使用者變更密碼後仍會保存認證。 |
• |
服務帳戶:服務控制管理員會將服務帳戶密碼快取在使用帳戶和網域控制站的成員電腦上。如果您重設服務帳戶的密碼,但是未在服務控制管理員中重設密碼,服務帳戶將會鎖定。這是因為使用此帳戶的電腦通常會依賴使用上一個密碼的登入驗證。若要判斷是否發生這種情況,請在 Netlogon 記錄檔中及成員電腦的事件記錄檔中尋找模式。然後您就可以設定安全性控制管理員,在其中指定使用新的密碼,以避免帳戶以後再鎖定。 |
• |
密碼錯誤閾值設得太低:這是最常見的錯誤設定問題之一。許多公司將密碼錯誤閾值登錄值設定在低於預設值 10 以下。如果這個值設得太低,則在程式自動重試不正確的密碼時就會發生錯誤鎖定。Microsoft 建議您將此值保持在 10 的預設值。如需詳細資訊,請參閱本文件的「選擇部署時的帳戶鎖定設定」。 |
• |
使用者登入多部電腦:使用者可能同時登入多部電腦。在這些電腦上執行的程式,可能會使用目前登入之使用者的認證來存取網路資源。如果使用者在其中一部電腦上變更密碼,在其他電腦上執行的程式可能會繼續使用原來的密碼。因為這些程式都是在要求存取網路資源的時候進行驗證,因此會繼續使用舊密碼,而使用者帳戶就會遭到鎖定。為了保證不發生此一行為,使用者應該先登出所有電腦,從單一位置變更密碼並再次登出,然後再登入。 注意: 執行 Windows XP 或 Windows Server 2003 系列之一的電腦會自動偵測使用者密碼的變更,並提示使用者鎖定及解除鎖定電腦,以取得目前的密碼。使用這些電腦的使用者不必登入和登出。 |
• |
儲存的使用者名稱和密碼會保存多餘的認證:如果任何儲存的認證與登入認證相同,應該刪除這些儲存的認證。之所以會有多餘的認證,原因是 Windows 會在找不到明確的認證時嘗試登入認證。若要刪除登入認證,請使用已儲存的使用者名稱和密碼工具。如需已儲存的使用者名稱和密碼的詳細資訊,請參閱 Windows XP 和 Windows Server 2003 系列的線上說明。 注意:執行 Windows 95、Windows 98 或 Windows Millennium Edition 的電腦上,不會有已儲存的使用者名稱和密碼檔案。您應該刪除的是使用者 .pwl 檔案。此檔案名為 Username.pwl,其中 Username 是使用者登入名稱。此檔案會儲存在 Systemroot 資料夾中。 |
• |
排定的工作:排定的處理程序可能設定成使用已過期的認證。 |
• |
持續磁碟機對應:用來建立持續磁碟機的認證可能已過期。如果使用者在嘗試連線到共用時輸入了明確的認證,則除非由已儲存的使用者名稱和密碼明確儲存,否則不會持續認證。使用者每次登出網路、登入網路或重新啟用電腦時,當 Windows 嘗試還原連線,驗證嘗試就會失敗,因為沒有儲存的認證。若要避免此一行為,請設定 net use 使其不會進行持續連線。設定方式是在命令提示字元輸入 net use /persistent:no。或者,為了確保持續磁碟機使用目前的認證,請先中斷持續磁碟機的連線,然後再重新連線持續磁碟機。 |
• |
Active Directory 的複寫:您必須在網域控制站之間複寫使用者內容,以確保正確地處理帳戶鎖定資訊。您應該確認所進行的 Active Directory 複寫正確無誤。 |
• |
中斷連線的終端機伺服器工作階段:中斷連線的終端機伺服器工作階段執行的處理程序,可能會使用過期的驗證資訊來存取網路資源。中斷連線的工作階段和使用多個互動登入的使用者會有一樣的結果,都會因使用過期的認證而造成帳戶鎖定。中斷連線的工作階段和登入多部電腦的使用者之間的唯一差別,在於鎖定的來源是來自執行終端服務的單一電腦。 |
• |
服務帳戶:根據預設,大部分的電腦服務設定,都會以本機系統帳戶的安全性內容啟動。但是,您可以手動設定服務,以使用特定的使用者帳戶和密碼。如果您設定服務要使用特定的使用者帳戶啟動,而該帳戶的密碼有所變更,則必須以新的密碼更新服務登入屬性,否則該服務會鎖定帳戶。 |
注意:您可以使用系統資訊工具,以建立服務及用來啟動這些服務之帳戶的清單。若要啟動系統資訊工具,請按一下 [開始],然後按一下 [執行],輸入 winmsd,再按一下 [確定]。
其他可能發生的問題
下列區段將討論關於帳戶鎖定的一些其他考量。
遠端連線的帳戶鎖定
本文件所討論的帳戶鎖定與遠端連線 (例如,路由及遠端存取服務、Microsoft Internet Information Services (IIS)) 的帳戶鎖定功能無關。這些服務和程式可能會自行提供不相關的帳戶鎖定功能。
Internet Information Services
根據預設,IIS 會使用權杖快取機制,在本機快取使用者帳戶驗證資訊。如果鎖定只限於嘗試透過 Outlook Web Access 與 IIS 存取 Exchange 信箱的使用者,您就可以重設 IIS 權杖快取來解除鎖定。如需詳細資訊,請參閱 Microsoft 知識庫中的 XWEB: Mailbox Access via OWA Depends on IIS Token Cache 。
MSN Messenger 和 Microsoft Outlook
如果使用者透過 Microsoft Outlook 變更其網域密碼,而電腦正在執行 MSN Messenger,則用戶端可能遭到鎖定。若要解決此行為,請參閱 Microsoft 知識庫中的 XADM: Exchange Instant Messenger May Cause Domain Account Lockout After a Password Change。
帳戶鎖定工具
您判斷帳戶鎖定的模式,並將範圍縮小至特定的用戶端電腦或成員伺服器之後,就應該收集在該電腦上執行之所有程式與服務的詳細資訊。以下是您應該收集之資訊中的一部分:
• |
對應的網路磁碟機 |
• |
對應網路磁碟機的登入指令碼 |
• |
RunAs 捷徑 |
• |
服務帳戶登入所使用的帳戶 |
• |
用戶端電腦上的處理程序 |
• |
可能將使用者認證傳遞至集中式網路程式或中間層應用程式層的程式 |
下列區段將討論可用來幫助您從網路環境收集資訊的一些工具。
LockoutStatus.exe 工具
LockoutStatus.exe 會顯示已鎖定帳戶的相關資訊。它會從 Active Directory 收集帳戶鎖定的特定資訊。以下清單說明工具所顯示的不同資訊:
• |
DC 名稱:顯示網域中所有的網域控制站。 |
• |
站台:顯示網域控制站所在的站台。 |
• |
使用者狀態 (User State):顯示使用者的狀態,以及使用者的帳戶是否遭到鎖定。 |
• |
錯誤密碼計數 (Bad Pwd Count):顯示每個網域控制站上的登入錯誤次數。此值會確認與帳戶鎖定有關的網域控制站。 |
• |
上次錯誤密碼 (Last Bad Pwd):顯示上次使用錯誤密碼登入的時間。 |
• |
上次設定密碼 (Pwd Last Set):顯示上次正確的密碼值或電腦解除鎖定時的值。 |
• |
鎖定時間 (Lockout Time):顯示帳戶被鎖定的時間。 |
• |
原始鎖定 (Orig Lock):顯示鎖定帳戶的網域控制站 (寫入至該使用者 LockoutTime 屬性的原始網域控制站)。 |
如何取得 LockoutStatus.exe 工具
LockoutStatus.exe 包含在 Microsoft 網站上,Account Lockout and Management Tools 提供的 ALTools.exe 套件中。
如何安裝 LockoutStatus.exe 工具
若要安裝 LockoutStatus.exe 工具,請在您的網域控制站上安裝 ALTools 套件。
如何使用 LockoutStatus.exe 工具
若要執行 LockoutStatus.exe 工具,以及顯示與鎖定之使用者帳戶相關的資訊,請執行下列步驟:
1. |
按兩下 LockoutStatus.exe。 |
2. |
按一下 [檔案 (File)] 功能表上的 [選擇目標 (Select target)]。 |
3. |
輸入您想要取得鎖定狀態資訊的使用者名稱,亦即在企業網域控制站上的使用者名稱。 |
下圖的範例中顯示兩個網域控制站的 badPwdCount 值為 5,此值也是錯誤密碼的閾值。其中一個網域控制站是 PDC 操作主機,另一個網域控制站則是驗證網域控制站。之所以會顯示這兩個網域控制站,是因為密碼從驗證網域控制站鏈結至 PDC。
圖 2:LockoutStatus.exe 工具
觀看完整大小影像。
ALockout.dll 工具
ALockout.dll 工具和 Appinit.reg 指令碼都包含在 ALTools 套件中。ALockout.dll 是一個記錄工具,會協助您在帳戶鎖定的情況中,判斷傳送不正確認證的程式或處理程序。工具會針對可能用於驗證之處理程序的各種函數呼叫進行記錄。然後工具再將進行這些呼叫之程式或處理程序的相關資訊儲存到 Systemroot\Debug\Alockout.txt 檔案中。事件會加上時間戳記,讓您能夠將這些事件與 Netlogon 記錄檔或安全性事件記錄檔中記錄的事件比對。
您可以使用 Appinit.reg 將 .dll 檔案初始化。此檔案並未提供其他功能。
注意:Microsoft 不建議您在裝載網路程式或服務的伺服器上使用此工具。您不應該在 Exchange 伺服器上啟用 ALockout.dll,因為 ALockout.dll 工具可能會防止 Exchange 存放區的啟動。重點:在任何關鍵性電腦上安裝 ALockout.dll 工具之前,請先製作作業系統和任何重要資料的完整備份複本。
如需詳細資訊,請參閱 Microsoft 知識庫中的 XADM: Errors Installing Exchange Server with CleanSweep。
在大多數的帳戶鎖定情況下,您都應該在用戶端電腦上安裝 ALockout.dll。使用 Netlogon 記錄檔和 Security 事件記錄檔中儲存的資訊,判斷傳送錯誤認證而造成使用者帳戶鎖定的電腦。您在傳送不正確認證的用戶端電腦上安裝 ALockout.dll 工具後,工具會記錄傳送不正確認證的處理程序。
如何取得 ALockout.dll 工具
ALockout.dll 包含在 Microsoft 網站上 Account Lockout and Management Tools 提供的 ALTools.exe 套件中 (英文)。
如何安裝 ALockout.dll 工具
ALockout.dll 檔案有兩種版本。其中一種檔案版本是供執行 Windows 2000 作業系統的電腦使用,另一種檔案版本是供執行 Windows XP 作業系統的電腦使用。請檢視 ALTools 套件中包含的 Readme.txt 檔案。
若要安裝 ALockout.dll,請執行下列步驟:
1. |
針對在安全性事件記錄檔中產生帳戶鎖定錯誤訊息的電腦,將 ALockout.dll 和 Appinit.reg 檔案複製到 Systemroot\System32 資料夾。 |
2. |
按兩下 Appinit.reg 檔案以執行指令檔。執行之後,ALockout.dll 檔案會登錄,並可開始提供資訊。 |
3. |
重新啟動電腦以完成安裝。 |
如何移除 ALockout 工具
若要從電腦移除 ALockout.dll 檔案,請執行下列步驟;
1. |
從 Systemroot/System32 資料夾刪除 ALockout.dll 檔案。 |
2. |
在命令提示字元下輸入 regsvr32 /u alockout.dll。 |
3. |
刪除以下登錄機碼之下的 Alockout.dll 值。 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows AppInit_DLLs 刪除了 Alockout.dll 值之後,AppInit_DLLs 登錄機碼會變成空白。 重新啟動電腦。 |
如何使用 ALockout.dll 工具
ALockout.dll 工具應該配合 Netlogon 記錄和安全性稽核使用。若要使用 ALockout.dll 工具,請執行下列步驟:
1. |
等候電腦上的帳戶鎖定。 |
2. |
帳戶被鎖定之後,Systemroot\Debug 資料夾中會建立 ALockout.txt 檔案。 |
3. |
比較 ALockout.txt 中的時間戳記和 Netlogon 記錄檔與安全性事件記錄檔中的時間戳記。您可以經由比較來判斷造成鎖定的處理程序。 |
如果本機電腦上已設定了 Netlogon 記錄和 Kerberos 與登入稽核,您就可以使用 ALockout.dll 工具。ALockout.dll 不會與其他任何記錄或事件產生連結。
ALoInfo.exe 工具
如果帳戶鎖定的情形最頻繁發生在使用者被強制變更密碼之後,建議您判斷哪些使用者的密碼即將過期。您可以使用 ALoInfo.exe 工具來顯示所有使用者帳戶名稱,以及這些使用者帳戶的密碼有效期。這可以讓您在帳戶開始鎖定之前,先部署 ALockout.dll 工具和其他帳戶鎖定工具。您也可以使用 ALoInfo.exe 工具取得所有本機服務和啟動帳戶資訊的清單。
注意:您也可以在 Windows NT Server 4.0 網域中,使用 SecDump 工具顯示密碼到期資訊。您可以從 SystemTools 網站 (英文) 下載此工具。請注意網址可能會變更,因此您可能會無法連線到網站或本文所提及的其他網站。
如何取得 ALoInfo.exe 工具
ALoInfo.exe 檔案包含在 Microsoft 網站上 Account Lockout and Management Tools 提供的 ALTools.exe 套件中 (英文)。
如何安裝 ALoInfo.exe 工具
若要安裝 ALoInfo.exe 工具,請在您的網域控制站上安裝 ALTools 套件。ALTools 套件包含 ALoInfo.exe 工具。
如何使用 ALoInfo.exe 工具
您可以利用下列任一種方法,在命令提示字元下使用 ALoInfo.exe:
• |
若要顯示網域控制站中的帳戶密碼有效期,請在命令提示字元下輸入以下命令: aloinfo /expires /server:Domain_Controller_Name |
• |
若要顯示目前登入之使用者的所有本機服務啟動帳戶資訊和對應的磁碟機資訊,請在命令提示字元下輸入以下命令: aloinfo /stored /server:Computer_Name |
您可以將 ALoInfo.exe 的輸出重新導向文字檔案,再將結果排序,以判斷帳戶鎖定可能牽涉的使用者。您也可以儲存此資訊以供後續分析。
AcctInfo.dll 工具
您可以使用 AcctInfo.dll 工具,將新的內容頁加入 Active Directory 使用者及電腦 MMC 嵌入式管理單元中的使用者物件。您可以使用這些內容頁來隔離及解決帳戶鎖定問題,以及重設在該使用者本機站台中之網域控制站上的使用者密碼。
AcctInfo.dll 會顯示下列使用者帳戶資訊,您可以使用這些資訊來辨識及解決帳戶鎖定的問題:
• |
上次設定密碼的時間 | ||||||||||
• |
密碼到期的時間 | ||||||||||
• |
使用者帳戶控制原始值及解碼 | ||||||||||
• |
帳戶被鎖定的時間 | ||||||||||
• |
如果帳戶目前被鎖定,何時會解除鎖定 | ||||||||||
• |
帳戶的安全性識別元 (SID) 及其 SIDHistory | ||||||||||
• |
帳戶的全域唯一識別元 (GUID) | ||||||||||
• |
下列帳戶內容:
|
您也可以使用 AcctInfo.dll 工具取得網域密碼資訊 (到期、鎖定時間…等等)。您可以在工具中輸入使用者的電腦名稱,再於該使用者站台中的網域控制站上重設使用者的密碼。
注意:由於複寫延遲之故,網域控制站可能會儲存關於同一個使用者帳戶的不同資訊。AcctInfo.dll 會顯示從單一網域控制站擷取的資訊。
如何取得 AcctInfo.dll 工具
AcctInfo.dll 工具包含在 Microsoft 網站上 Account Lockout and Management Tools 提供的 ALTools.exe 套件中 (英文)。
如何安裝 AcctInfo.dll 工具
在您要執行 Active Directory 使用者及電腦 MMC 嵌入式管理單元的電腦上:
1. |
將 AcctInfo.dll 檔案複製到 System32 資料夾。 |
2. |
在命令提示字元下輸入 regsvr32 acctinfo.dll,再按 ENTER。 |
您遵照上述步驟執行之後,AcctInfo.dll 檔案會登錄,並在 Active Directory 使用者及電腦 MMC 嵌入式管理單元中使用者的內容表上顯示。
若要使用工具中的 [帳戶鎖定狀態 (Account Lockout Status)] 按鈕,請確認 LockoutStatus.exe 是位於 Systemroot\System32 資料夾中。如果 LockoutStatus.exe 不是安裝在此位置,則無法使用此按鈕。
如何使用 AcctInfo.dll 工具
若要使用 AcctInfo.dll 工具,請開啟 Active Directory 使用者及電腦 MMC,以滑鼠右鍵按一下某位使用者,按一下 [內容],再按一下 [額外帳戶資訊]。AcctInfo.dll 提供的資訊範例如下圖所示。
圖 3:主要內容方塊
觀看完整大小的影像。
下圖顯示網域密碼原則資訊,您可以檢視這些資訊以判斷套用至網域控制站的密碼原則。
圖 4:網域密碼原則
在使用者站台中的網域控制站上變更密碼
AcctInfo.dll 工具可讓您加入在使用者本端站台中重設使用者密碼的能力,以增加 Active Directory 使用者及電腦 MMC 的功能。當您在遠端站台重設密碼時,可避免在該使用者登入之前可能出現的複寫延遲。
您重設密碼時,也可以解除帳戶的鎖定,以及設定 [使用者必須變更密碼 (User must change password)] 值。這些選項位於 [在使用者站台中的網域控制站上變更密碼 (Change Password On a DC In The Users Site)] 方塊中,如下圖所示。
圖 5:在使用者站台中的網域控制站上變更密碼
觀看完整大小影像。
如何移除 AcctInfo.dll 工具
若要移除 AcctInfo.dll 工具,請從 Systemroot/System32 資料夾刪除 AcctInfo.dll 檔案,再於命令提示字元下輸入以下命令:
regsvr32 /u acctinfo.dll
EventCombMT.exe 工具
您可以使用 EventCombMT.exe 工具,將許多不同電腦之事件記錄中的特定事件收集到一個中心位置。您可以設定 EventCombMT.exe 搜尋事件和電腦。工具中內建了一些特定的搜尋類別,例如帳戶鎖定。請注意,帳戶鎖定類別已預先設定包含 529、644、675、676 及 681 等事件。
圖 6:EventCombMT.exe 工具
觀看完整大小影像。
如何取得 EventCombMT.exe 工具
EventCombMT.exe 工具包含在 Microsoft 網站上 Account Lockout and Management Tools 提供的 ALTools.exe 套件中 (英文)。
如何安裝 EventCombMT.exe 工具
此工具不必另外安裝。您在網域控制站上安裝 ALTools 時,EventCombMT.exe 也會安裝至您於安裝時指定的目錄中。
如何使用 EventCombMT.exe 工具
若要使用 EventCombMT.exe 工具,請開啟您在安裝時為 ALTools 指定的資料夾,按兩下 EventCombMT.exe 並按一下 [搜尋 (Searches)] 功能表,然後按一下 [內建搜尋 (Built in searches)] 再按 [帳戶鎖定 (Account lockouts)]。如此一來,要從事件記錄檔取出的事件就會自動在工具中顯示。這些事件都是來自您環境中的所有網域控制站。除了 529、644、675 及 681 之外,請在 [事件識別碼 (Event Ids)] 方塊中輸入 12294,再按一下 [搜尋 (Search)]。接著工具會搜尋各電腦上的這些事件,再將事件儲存至您指定的 .txt 檔案。
NLParse.exe 工具
因為 Netlogon 記錄檔的大小可能超過 10 MB,所以您可能要分析檔案,找出您要檢視的資訊。您可以使用 NLParse.exe 工具分析 Netlogon 記錄檔,尋找特定的 Netlogon 傳回狀態碼。此工具的輸出會儲存為逗點分隔值 (.csv) 檔案,您可以使用 Excel 開啟檔案,進一步排序。
注意:帳戶鎖定特定的傳回碼為 0xC000006A 和 0xC0000234。
下圖顯示 NLParse.exe 工具的介面。
圖 7:Netlogon -- 分析傳回狀態碼
觀看完整大小的影像。
如何取得 NLParse.exe 工具
NLParse.exe 工具包含在 Microsoft 網站上 Account Lockout and Management Tools 提供的 ALTools.exe 套件中 (英文)。
如何安裝 NLParse.exe 工具
此工具不必另外安裝,您在網域控制站上安裝 ALTools 時,也會安裝 NLParse.exe。
如何使用 NLParse.exe 工具
若要使用 NLParse.exe 工具,請開啟您在安裝 ALTools 時指定的資料夾,按兩下 Nlparse.exe 並按一下 [開啟 (Open)],以開啟您要分析的 Netlogon.log 檔案,選取您要搜尋之狀態碼的核取方塊,再按一下 [擷取 (Extract)]。執行此作業之後,請檢視 NLParse.exe 工具的輸出。通常是 0xC000006A 和 0xC0000234 代碼狀態都要查看,以判斷鎖定的來源。
FindStr.exe 工具
您也可以使用 FindStr.exe 工具來分析 Netlogon 記錄檔。FindStr.exe 是一個命令列工具,您可以使用此工具同時分析許多個 Netlogon. 記錄檔。您從多個網域控制站收集 Netlogon.log 檔案之後,即可從檔案擷取特定使用者帳戶的相關資訊 (user1、錯誤碼 0xC000006A 或錯誤碼 0xC0000234)。您可以使用此工具,幫助您從 Netlogon.log 檔案中取得使用者、電腦或錯誤碼的相關輸出。
如何取得 FindStr.exe 工具
Windows 2000、Windows XP 及 Windows Server 2003 系列作業系統的預設安裝中,都有包含 FindStr.exe 工具。FindStr.exe 工具不需要額外的安裝或設定。
如何使用 FindStr.exe 工具
若要使用 FindStr.exe 工具,請重新命名 Netlogon.log 檔案,再將這些檔案儲存到一個資料夾中。若要分析所有的 Netlogon 記錄檔,請在命令提示字元下輸入下列命令:
FindStr /I User1 *netlogon*.log >c:\user1.txt
Replmon 和 Repadmin 工具
如果您尚未在網域控制站上確認 Active Directory 複寫,請在命令提示字元下輸入 repadmin /showreps 或 replmon,確認已執行正確的 Active Directory 複寫。在多數情況下,您可能會發現雖然已解除帳戶的鎖定,但是新認證卻沒有用。此行為通常是複寫延遲造成的。請在使用者的本機站台變更使用者密碼,以避免複寫延遲的問題。
如何取得 Relmon 和 Repadmin 工具
這兩種工具都包含在 Windows 2000 CD-ROM 上的支援工具中。
如何安裝及設定 Replmon 和 Repadmin 工具
如需如何取得及安裝 Replmon 和 Repadmin 的詳細資訊,請參閱 Windows 支援工具文件。
網路監視器
網路監視器是一個功能強大的工具,您可以使用它來擷取未過濾的網路通訊。
如果帳戶鎖定是處理程序或程式造成的,而且特定用戶端電腦上已有帳戶被鎖定,請在帳戶仍鎖定時收集流入及流出該用戶端電腦之所有傳輸的網路追蹤。程式或處理程序在嘗試取得網路資源的存取權時,很可能會繼續傳送不正確的認證。擷取流入和流出用戶端的所有傳輸資料,可幫助您判斷處理程序嘗試存取的網路資源。確定網路資源之後,您就可以判斷在該用戶端電腦上有執行哪些程式或處理程序。
如果您可以將搜尋範圍縮小到特定的電腦,但是使用者帳戶尚未鎖定,請繼續執行網路監視器,直到該使用者被鎖定為止。等到鎖定之後,比較 Netlogon 或安全性事件記錄檔中的時間戳記和追蹤所擷取的資料。您應該會看到使用不正確認證所存取的網路資源。
在您找出造成鎖定的程式或服務後,請檢視軟體製造商的網站,看看是否有已知的解決方案。此行為通常是利用目前登入之使用者的認證執行程式造成的。如果是服務造成鎖定,請考慮建立一個專門用來執行服務的帳戶,這樣一來使用者帳戶密碼變更就不會影響服務。
如何取得網路監視器
Microsoft System Management Server (SMS) 中有包含網路監視器的完整版本。Windows XP 與 Windows 2000 和 Windows Server 2003 系列中則包含工具的有限版本。
如何在支援的作業系統上安裝網路監視器
本區段將說明如何在 Windows 2000 Server 系列和 Windows XP 上安裝網路監視器。
Windows 2000 Server
若要在執行 Windows 2000 Server 的電腦上安裝網路監視器,請執行下列步驟:
1. |
以滑鼠右鍵按一下 [網路上的芳鄰],再按一下 [進階]。 |
2. |
按一下 [網路元件選項],再按一下 [Management and Monitoring]。 |
如需詳細資訊,請參閱 Microsoft 知識庫中的 How to Install Network Monitor in Windows 2000。
Windows XP
網路監視器包含在 Windows 支援工具中。如需如何在執行 Windows XP 的電腦上安裝及設定 Network Monitor 的詳細資訊,請參閱下列文章:
• |
Microsoft 知識庫中的 <如何從 Windows XP 光碟片安裝支援工具>。 |
• |
Microsoft 知識庫中的 <網路監視器擷取公用程式的說明>。 |
如何使用網路監視器
如需如何使用網路監視器擷取資訊的詳細資訊,請檢視工具所附文件,或閱讀 Microsoft 知識庫上的 <如何使用網路監視器擷取網路流量>。
結論
本文件說明為何您應採用結構性的方法,來設定帳戶與密碼原則的功能。本文件也提供可用來解決帳戶鎖定問題之工具與記錄檔的相關資訊。閱讀本文件之後,您就應該能夠判斷是哪部電腦造成帳戶鎖定,以及導致鎖定的程式或服務。
附錄一:帳戶鎖定的其他參考資料
有關如何防護環境的詳細資訊,以及本文件未討論之安全性功能的詳細資訊,請參閱下列 Microsoft 網站:
• |
Microsoft TechNet 網站上的 Microsoft Solution for Securing Windows 2000 Server (英文) |
• |
Microsoft 網站上的 Checklist: Create Strong Passwords |
• |
Microsoft 網站上的 <用來將 LM 雜湊從 Active Directory 及安全性帳戶管理員中移除的新登錄機碼> |
• |
Microsoft 網站上的 <HOW TO:避免使用者在非必要的情況下變更密碼> |
• |
Microsoft 網站上的 HOW TO: Prevent Users From Submitting Alternate Logon Credentials in Windows 2000 |
• |
Microsoft 網站上的 <如何在 Windows XP 中管理網域電腦的已存放使用者名稱及密碼> |
• |
Microsoft 網站上的 Best Practices for Enterprise Security |
附錄二:收集資訊以解決帳戶鎖定的問題
您可以使用本區段的資訊,來幫助您收集相關資訊,再開始解決帳戶鎖定的問題。收集下列資訊以解決帳戶鎖定的問題:
用戶端平台
如果用戶端帳戶鎖定是發生在通用的單一作業系統上,作業系統可能發生了特定的問題。不同的作業系統會針對名稱解析和驗證通訊協定使用不同的處理程序,而且有不同的安全性層級,因此可能會有基礎結構或程式的問題。如需詳細資訊,請參閱 Microsoft 網站上的 Microsoft 知識庫文章 Service Packs and Hotfixes that are Available to Resolve Account Lockout Issues。
您應在這些情況下收集下列資訊:
• |
使用者是否同時登入多部電腦? | ||||||||||||
• |
是否有任何共同的模式?例如:
| ||||||||||||
• |
網路中是否包含廣域網路 (WAN)? | ||||||||||||
• |
如果電腦執行的是 Windows 95、Windows 98、Windows 98 SE 或 Windows Millennium Edition,Vredir.vxd 檔案是哪個版本? | ||||||||||||
• |
如果電腦執行的是 Windows 95、Windows 98、Windows 98 SE 或 Windows Millennium Edition,電腦上是否安裝了目錄服務用戶端? |
網域平台
如果您知道網域環境、安全性界線,以及使用者如何存取位於其他網域中的資源,就更能夠判斷帳戶鎖定的根源。您應該收集下列資訊:
• |
網域控制站的數目,包括作業系統、位置、Service Pack 層級…等等。 |
• |
是否有進行 Active Directory 和 Netlogon 複寫? |
• |
使用者登入的是哪個網域? |
• |
列出使用者使用的所有網域信任。 |
• |
受信任網域中是否有登入名稱相同的一樣帳戶? |
• |
環境中是否有執行任何第三方 SMB 伺服器? |
背景
檢查使用者可能連絡的用戶端和網路資源,以幫助您判斷鎖定的根源。您應該收集下列資訊:
• |
您何時開始注意到鎖定? | ||||||||||||
• |
何時開始鎖定的? | ||||||||||||
• |
環境中做了什麼變更 (新程式、新網路服務…等等)? | ||||||||||||
• |
是否有任何可辨識的模式:
| ||||||||||||
• |
每天有多少使用者帳戶遭到鎖定,是少數使用者或一大群使用者? | ||||||||||||
• |
是否有帳戶密碼原則?
|
收集診斷資訊
收集所有的不同 Netlogon、Kerberos 記錄檔及事件記錄檔,可以幫助您判斷鎖定的根源。您從產生鎖定的電腦上所收集的資訊,也可以幫助您判斷鎖定的根源。您應該收集下列資訊:
• |
Netlogon 記錄檔 |
• |
追蹤 |
• |
涉及鎖定之用戶端電腦和網域控制站上的事件記錄檔 |
銘謝
Ramesh Chinta, Program Manager, Microsoft Corporation
Mike Danseglio, Technical Writer, Microsoft Corporation
Mike Resnick, Technical Lead, Microsoft Corporation
Vincent Abella, Technical Editor, Microsoft Corporation
Jen Bayer, Technical Writer, Microsoft Corporation
Emily Moon, Technical Editor, S&T OnSite
Joseph Vasil, Support Engineer, Microsoft Corporation
http://www.microsoft.com/taiwan/technet/prodtechnol/windowsserver2003/technologies/security/bpactlck.mspx
------------
当您尝试从一个目录林迁移到 Windows Server 2003 中其他林用户帐户对某些用户帐户迁移不成功
文章编号 | : | 841820 |
最后修改 | : | 2007年7月24日 |
修订 | : | 3.6 |
本页
症状
• | 迁移过程是除用于的特定用户帐户迁移成功。 |
• | 尝试迁移问题帐户时收到以下错误信息:
ERR2:7422 失败移 CN 对象 = UserName , hr: 参数不正确 = 80070057。 |
• | 帐户林中源域控制器上使用 lActiveDirectory 用户和计算机以查看问题帐户, 时执行不会在被锁定。 例如, 查看 帐户 选项卡时不选中 锁定帐户 复选框 UserName 属性 对话框中的每个帐户。 但是, 如果您运行 LockoutStatus.exe 工具来确定出锁定状态的问题帐户, 您收到结果指出该帐户被锁定。 此外, 如果将帐户信息导出到 Ldifde 文件并查看问题帐户, lock 超出时间值设置为值是 0 (零) 以外。 |
原因
• | 因为当用户试图使用该帐户进行登录 帐户锁定阈值 已超过问题帐户被锁定。 |
• | 手动取消管理员不锁定帐户。 |
• | 解除达到 帐户锁定时间 值后 Windows 自动锁定帐户。 |
• | 用户不使用帐户来执行帐户迁移操作之前登录。 |
当您使用 ADMT 以迁移帐户, 如果帐户锁定出时间值为非零值, 帐户被认为要锁定, 并不迁移成功。 由于帐户锁定出时间值保留非零值在此方案, 当您尝试迁移 帐户锁定时间 值达到后, 自动被锁定的帐户, 用户具有随后不使用该帐户进行登录, 您是失败。
解决方案
修复信息
注意 此修复程序应该应用到目标域中所有域控制器。 支持修补程序现已推出来自 Microsoft。 但是, 此修复程序用于更正本文中描述问题只。 只对遇到此特定问题的系统应用此修复程序。 此修复程序可能会收到其他测试。 因此, 如果您受此问题, 的影响不严重我们建议您等待下服务包包含此修复程序。要解决此问题, 向 Microsoft 联机客户服务提交申请以获取此修复程序。 请以提交联机请求以获取此修复程序, 访问以下 MicrosoftWeb 站点:
先决条件
安装此修复程序需要任何先决条件。重新启动要求
您没有要应用此修复程序后重新启动计算机修补程序替换信息
此修复程序不替代任何其他修复程序。文件信息
文件属性 (或更高文件属性) 的此修复程序英文版具有下表中列出。 中协调通用时间 (UTC) 列出日期和时间对这些文件。 当您查看文件信息, 将转换为本地时间。 要查找 UTC 与本地时间, 区别控制面板中日期和时间工具中使用 时区 选项卡。Windows Server 2003, 32 - 位版本
Date Time Version Size File name ------------------------------------------------------ 12-May-2004 01:16 5.2.3790.171 1,527,808 Ntdsa.dll
Windows Server 2003, 64 位版本
Date Time Version Size File name ------------------------------------------------------ 12-May-2004 01:10 5.2.3790.171 4,043,776 Ntdsa.dll
替代方法
方法 1: 使用帐户来登录
再次尝试迁移帐户, 请求用户使用该计划将迁移到登录帐户。 此复位帐户锁定出时间值为零。 因此, 迁移操作将是成功。方法 2: 修改帐户选项
登录到域控制器其中帐户位于, 然后修改每个用户帐户的帐户选项。 例如, 单击以清除 用户在下次登录时必须更改密码 复选框。 这导致错误密码计数来重置为零值。 要更改此设置:1. | 启动 lActiveDirectory 用户和计算机。 |
2. | 找到帐户, 右键单击该帐户, 并单击 属性 。 |
3. | 单击以清除 用户在下次登录时必须更改密码 复选框, 再单击 帐户 选项卡, 然后单击 确定 。 |
状态
更多信息
这篇文章中的信息适用于:
• | Microsoft Windows Server 2003, Standard Edition (32-bit x86) |
• | Microsoft Windows Server 2003, Enterprise Edition (32-bit x86) |
关键字: |
kbqfe kbhotfixserver kbbug kbfix kbwinserv2003presp1fix KB841820 KbMtzh kbmt |
http://support.microsoft.com/kb/841820/zh-cn
今天服务器突然给我冒了个这个出来!简直昏死
Windows 无法访问组策略对象的 gpt.ini 文件
CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=lcds,DC=lab
The file must be present at the location \\lcds.lab\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
(访问被拒绝)组策略处理中止。
-------------------------------------------
初步怀疑是Sysvol 共享或者是DFS 客户端建立连接时出了问题。先查看了根目录的Everyone权限,正如我想像的→正常!那一定是DFS连接出问题了。
1、在注册表中,找到以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mup
在右侧的详细信息窗格中,双击“DisableDFS”。显示“编辑 DWORD 值”对话框,在“数值数据”框中键入 0,然后单击“确定”,这样就打开了DFS客户端连接。
2、再单击“开始”→“连接到”,然后单击“显示所有连接”。 右单击相应的连接→“属性”→“常规”选项卡。 在“此连接使用下列项目”下,检查“Microsoft 网络的文件和打印机共享”旁的复选框是否已经选中,然后单击“确定”,打开了接口上的“Microsoft 网络的文件和打印机共享”。
3、经过一次重启,故障解除。