最近经历了一次非常有意思的排错,虽然经过了两天的时间才找到原因,但是觉得这次排错非常有意思,所以写下来供以后参考,也给大家一个参考。

环境介绍:

在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