缘起:

以前的同事公司的一台win2k3 ent sp2,跑ms sql, 反映不能通过smb协议共享网络资源,输入\ip 访问出现提示:网络资源不可用,重启后,故障消失,约1day后,故障又出现。

分析:

简单查看,一大堆服务已停止,尝试启动server服务,不久,约1hour,即自动停止。通过分析系统日志,重点关注如下错误:

事件类型: 信息
事件来源: Application Error
事件种类: (100)
事件 ID: 1004
日期: 2009-5-14
事件: 14:09:51
用户: N/A
计算机: XXXXX
描述:
错误应用程序 svchost.exe,版本 5.2.3790.3959,错误模块 kernel32.dll,版本 5.2.3790.3959,错误地址 0x0006beb8。
数据:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 73 76 63 ure svc
0018: 68 6f 73 74 2e 65 78 65 host.exe
0020: 20 35 2e 32 2e 33 37 39 5.2.379
0028: 30 2e 33 39 35 39 20 69 0.3959 i
0030: 6e 20 6b 65 72 6e 65 6c n kernel
0038: 33 32 2e 64 6c 6c 20 35 32.dll 5
0040: 2e 32 2e 33 37 39 30 2e .2.3790.
0048: 33 39 35 39 20 61 74 20 3959 at
0050: 6f 66 66 73 65 74 20 30 offset 0
0058: 30 30 36 62 65 62 38 006beb8

1、通过沟通,得知此server安装了SAV客户端,并update至最新,且此server并未连接Internet,基本排除病毒原因;
2、上面只安装了ms sql及一个极点中文输入法,而且是早就安装了的,但不能通过smb共享网络资源是最近几日才出现的故障,软件bug亦可排除;
3、运行drwtsn32,抓不到任何崩溃记录;
3、运行sfc,没有发现有系统文件被替换的,此可能性亦被排除。

开始迷茫,头痛…… ,此故障源自服务器本身的可能性似乎为零,故从其提供的service上分析:
a,其通过smb提供文件共享访问,且服务随故障的发生而中止,列入怀疑;
b,运行ms sql数据库, 但此服务一直正常,并未出现中止,排除。

根据下列链接得到启发

失敗的應用程式 svchost.exe,版本 5.2.3790.3959,失敗的模組 kernel32.dll,版本 5.2.3790.3959,錯誤位址 0x0006beb8。
http://social.microsoft.com/Forums/zh-TW/windowsserverzhcht/thread/43ad9536-035b-4b04-9862-a09c872ac01c

故障可能源自局域网内病毒及木马攻击,于是打上上述链接提到的补丁KB958644,重启,观察1day,故障得到解决。

结论及教训:

通过再次沟通,得知局域网内确实存在病毒,由此可见,服务器没有连接Internet并不是就能万事大吉不打补丁,因为局域网内其余设备会感染木马和病毒,并对服务器造成影响。只连内网的服务器亦需要及时进行安全更新以防不测。