MS-SQL 组播攻击型蠕虫处理
ChinaITLab| 2005-06-08
  前几天某客户的网络通讯不太正常,许多网段时通时断。到现场一看,大吃一惊--Cisco 6509 交换机上平时根本不亮的利用率指示灯现在指示80%!用show traffic命令一看:平均利用率45%,峰值利用率75%! 过一会更考张了,6509的引擎顶不住了,开始重新启动。这是一台背板带宽256G、冗余引擎配置的机器,居然都吃不消,好厉害的病毒啊!
  
  接上Sniffer,使用Matrix功能很快就看到,交换机的负荷主要来着一些机器发送的组播数据包(注意目标IP地址):
  
 

  抓一下包,可以发现包的目标端口是UDP 1434--MS SQL Server的监控端口:
  

  很自然就会联想到,这是与微软SQL服务器有关的一种蠕虫病毒。检查数据包的源地址发现,这些机器都是安装了MS SQL Server且补丁没有打好的。由于它们向网络发送大量的组播包,而交换机在二层上对组播包的处理方式类似于广播包,所以交换机的背板利用率、CPU及内存的利用率都相当高。
  
  由于网络流量很大、通讯时断时续,用sniffer 监听多个VLAN或用扫描等方法找出网络中所有受感染的机器根本不可能,怎么办呢?
  
  首先可以使用交换机广播/组播抑制功能来限制病毒流量,使核心交换机能够持续工作:
  
  6509>(enable)set port broadcast 9/1-6 10% multicast enable
  
  很多交换机都有类似的抑制流量的功能,可以参考文档。如:6500配置文档 、3550配置文档。
  
  经过这样处理之后,系统稳定下来了,部分网络通讯状况好转。现在可以利用下面的方法迅速找到其他被感染的机器:
  
  在MSFC上写一个访问控制列表:
  
  access-list 100 deny udp any any eq 1434 log
  access-list 100 permit ip any any
  
  将列表依次应用到各个端口上,注意不要一次在所有端口上应用该访问控制列表,防止MSFC因CPU利用率过高当机。用配置命令logging buffer 将访问控制列表产生的log 信息暂存到内存中,接下来就可以show log 来查看下面的信息告诉你一台受感染机器的IP地址:
  
  Nov 12 20:01:25.508: %SEC-6-IPACCESSLOGP: list 162 denied udp 192.66.10.100(4702) -> 232.109.214.109(1434), 1 packet
  Nov 12 20:01:26.508: %SEC-6-IPACCESSLOGP: list 162 denied udp 192.66.10.100(4702) -> 188.51.13.90(1434), 1 packet
  Nov 12 20:01:27.508: %SEC-6-IPACCESSLOGP: list 162 denied udp 192.66.10.100(4702) -> 64.200.54.25(1434), 1 packet
  Nov 12 20:01:28.508: %SEC-6-IPACCESSLOGP: list 162 denied udp 192.66.10.100(4702) -> 228.145.54.16(1434), 1 packet
  
  (设备提供的log信息还能告诉你其他许多问题及原因,是排错的重要工具)
  
  找出所有机器拔下网线进行处理,网络恢复了正常。

责任编辑:lmtwadmin

分享到:
版权声明:凡注明来源“流媒体网”的文章,版权均属流媒体网所有,转载需注明出处。非本站出处的文章为转载,观点供业内参考,不代表本站观点。文中图片均来源于网络收集整理,仅供学习交流,版权归原作者所有。如涉及侵权,请及时联系我们删除!