
最近經歷了一次非常有意思的排錯,雖然經過了兩天的時間才找到原因,但是覺得這次排錯非常有意思,所以寫下來供以后參考,也給大家一個參考。
環境介紹:
在windows 2003的域環境中,有三臺DC,另外有Email的服務器,文件服務器,已經數據庫服務器等等。
Domain function level為Windows2000 native(還沒有升到2003)
Forest function level:windows2000
出現的問題:
在檢查日志的過程中發現有12294的報錯,報錯截圖如下:
起初以為只是個別現象,可能是管理員在遠程登錄時輸入錯了密碼,所以也沒有放在心上,但是隨后的發現讓我有些緊張。當我使用eventcombMT.exe這個工具檢測賬號時,發現EventID為675的security audit log中有幾百條關于管理員賬號驗證失敗的記錄。使用的驗證失敗錯誤完全一樣,如下:
675,AUDIT FAILURE,Security,Tue Dec 28 18:00:27 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
675,AUDIT FAILURE,Security,Tue Dec 28 17:58:52 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
675,AUDIT FAILURE,Security,Tue Dec 28 17:55:22 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
675,AUDIT FAILURE,Security,Tue Dec 28 17:54:37 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
675,AUDIT FAILURE,Security,Tue Dec 28 17:52:15 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
675,AUDIT FAILURE,Security,Tue Dec 28 17:50:52 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
675,AUDIT FAILURE,Security,Tue Dec 28 17:45:14 2010,NT AUTHORITY\SYSTEM,Pre-authentication failed: User Name: administrator User ID: %{S-1-5-21-2380125314-1135609519-1071393968-500} Service Name: krbtgt/cn Pre-Authentication Type: 0x2 Failure Code: 0x18 Client Address: 127.0.0.1
而且日志時間顯示幾乎每風中都有驗證錯誤的log,而且同時會有多條。
排錯過程:
從日志上看,
EventID 675表示是表示登錄時Kerberos驗證錯誤
Failure Code:0x18 表示驗證信息無效,密碼錯誤
可以參考(http://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=675#fields)
像是有人在不斷的嘗試管理員密碼,莫非是有人在攻擊?但是從client IP地址上看,都是127.0.0.1,又有可能是本地中了木馬。
采取的措施:
1.使用殺毒軟件對DC進行full scan,沒有發現病毒。
2.根據Account lockout best pratices中介紹的查看本地的服務,盤符映射,計劃任務中是否有以這個用戶的賬號運行,以防止賬號密碼改了,沒有在這些任務中更新,使這些任務依然使用就密碼而造成不斷的報錯。
3. 使用賬號鎖定檢查工具(Netwrix account lockout Examiner(http://www.netwrix.com))對賬號和服務器進行檢測,也沒有發現服務器,計劃任務,盤符映射等的問題,只是看到Invalid logon的次數在不斷增加。
4. 運行DCdiag和Netdiag,沒有發現什么問題,一切正常。在EventID.Net中查找解決方式,發現沒有有效地方式。
5.抓包,在本地抓包,并進行分析,沒有發現可疑的包,這確保了是在本地發生的。
6.使用Process Explore檢查當前的進程是否有可疑進程,發現除了簽名是Symanctec的殺毒軟件和簽名是Microsoft的進程,沒有其它的進程。
7. 這下奇怪了,再次使用EventcombMT.exe檢查,發現還是用很多EventID為675的報錯,而且實時都在發生。
8. 通過開啟netlogon logging(執行nltest /dbflag:2080ffff,log存放在Systemroot\Debug\Netlogon.log),發現都是一些這樣的記錄:
12/28 16:16:32 [LOGON] CN: SamLogon: Network logon of CN\administrator from domain controller name Entered
沒有什么有價值的線索。于是關掉了netlogon loging(nltest /dbflag0不關掉會撐爆硬盤的)。
在沒有辦法的時候,突然無意中發現了一個帖子,上面似乎跟我的狀態差不多,說是檢查一下DHCP服務器的DNS Dynamic Update Crendital,于是趕快等到DC上打開DHCP服務器,如下圖:
點擊Credential,果然是設了管理員用戶名和密碼,將密碼修改以后,過半小時,沒有再發現EventID為675的報錯了,問題解決。
結論:
這次問題主要出在管理員密碼修改之后,沒有修改DHCP中DNS Dynamic Update Credential的密碼,從而導致DHCP在動態想DNS同步PTR記錄時使用沒有修改密碼的credential,所以總是報錯。
關于DHCP DNS Dynamic Update的問題,請參考http://technet.microsoft.com/en-us/library/cc787034(WS.10).aspx
幾個比較好的鏈接:
http://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=675#fields
http://www.windowsecurity.com/articles/Kerberos-Authentication-Events.html
http://blog.sina.com.cn/s/blog_4d52cc8b0100mj9x.html
http://net.it168.com/app/2007-07-31/200707311156578.shtml
有用的工具:
Account Lockout tool: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7af2e69c-91f3-4e63-8629-b999adde0b9e
Netwrix account lockout Examiner:http://www.netwrix.com (這個網站上有很多非常好的工具,有一些是免費的)
DCDiag and Netdiag GUI:http://www.pbbergs.com/windows/downloads.htm