尼姆达蠕虫导致网络访问变慢
故障现象
        Internet访问速度明显变慢,远程无法telnet至路由器。借助Console端口访问路由器,使用show cpu命令查看CPU占用率,高达95%以上,同时,IP Input占用了非常高的CPU占用率。由此,基本判断该故障由尼姆达蠕虫导致。
故障分析
        使用流交换(flow switching)识别受感染设备。在所有接口上配置ip route-cache flow以记录该路由器上的所有流交换。
几分钟后,执行show ip cache flow命令,查看记录条目。在红色代码蠕虫传染初期,蠕虫尝试自我复制。当蠕虫发送HT请求到随意IP地址时,将出现相应的应答。因此,必须查看目的端口为80(HT.,16进制为0050)的缓存流条目。
执行show ip cache flow | include 0050命令,显示所有TCP 80缓存条目。
       如果发现异常高数量的具有相同源IP地址、随意目的IP地址的条目,DstP = 0050 (HTTP),并且Pr = 06 (TCP),大概就可以锁定该接口设备了。在上述输出示例中,源IP地址为193.23.45.35,来源于VLAN1。
       另一个红色代码蠕虫版本称为Code Red II,不完全选择随意的目的IP地址。Code Red II保持IP地址的网络部分,在该子网中选择一个随意的IP地址作为感染主机,从而导致蠕虫病毒在同一网络内迅速传播。
        有时,不能运行netflow侦测红色代码感染企图。当在一台路由器上拥有多个入口而只有一个出口时,不推荐启用netflow,因为netflow只在入口路径计账。在这种情况下,最好在唯一的出口上启用IP accounting。
        在show ip accounting命令输出中,可以看到源地址尝试发送包到多个目的地址。如果受感染主机进入扫描结段,将尝试与其他路由器建议HTTP连接,将显示尝试到达多个IP地址。这些连接中的多数会失败,所以,只能看到少量包被发送,并且每一个都较小。在该示例中,主机20.1.145.49和20.1.104.194很可能被感染。
       当Cisco 7200/7600系列路由器运行多层交换(Multi-Layer Switching,MLS)时,必须采取不同的步骤启用netflow计账和感染追踪。在Cisco 7200/7600系列路由器中,基于netflow的MLS默认被启用,flow模式为destination-only。因此,源IP地址不缓存。可以使用mls flow ip full命令启用full-flow模式追踪受感染的主机。
Router(config)#mls flow ip full
       当启用full-flow时,将显示MLS条目会显著增加的消息提示。借助MLS条目增加的情况,可以在较短时间内确定网络内是否已经有红色代码蠕虫病毒大量蔓延,因为蠕虫导致MLS条目过度增加。
使用show mls ip命令,可以查看信息收集情况。
故障解决
         确认***的源IP地址和目的端口后,使用mls flow ip destination命令将MSL重新设置为destination-only模式。
Router(config)#mls flow ip destination
故障点评
借助以下预防技巧,可以最大限度地减少红色代码蠕虫病毒对路由器的影响。
阻塞80端口通信
如果网络应用允许,可以通过阻塞所有80端口上的通信,来简单地阻止红色代码的***。创建一个访问列表,阻塞目标端口为80的IP包,并应用至面向传染源的入站接口。
减少ARP Input内存使用
将静态路由指向一个广播接口时,ARP Input将使用数量巨大的内存。
       默认情况下,会将所有包都路由至VLAN3。然而,由于没有指定下一跳的IP地址,所以,路由器会发送一个ARP请求到目的IP地址。除非Proxy ARP被禁用,否则,下一跳的路由器回复它自己的MAC地址。来自路由器的答复在ARP表中创建一个附加条目,包的目的IP地址被映像至下一跳MAC地址。由于红色代码将包发送至任意IP地址,因此,将为每个任意目的地址添一个新条目。在ARP Input处理过程中,每个新ARP条目将消耗非常多的内存。
        所以,不要将静态路由创建至一个接口,尤其当该接口是广播(Ethernet/Fast Ethernet/GE/SMDS)或多播(Frame Relay/ATM)时。而是要将所有静态路由指定为下一跳路由器的IP地址。在将默认路由修改为下一跳的IP地址后,使用clear arp-cache命令清除所有的ARP条目。该命令将解决内存占用率高的问题。
 
使用Cisco快速转发(CEF)交换
         为了使IOS路由器有一个较低的CPU占用率,将Fast/Optimum/Netflow交换修改为CEF(Cisco Express Forwarding)交换。
CEF技术是思科公司推出的一种全新的路由交换方案,它具有良好的交换性能,增强的交换体系结构和极高的包转发速率。到达某特定目的地址的IP包通常会引起数据包流,即假设交换过到特定目标的包之后,另一个很可能不久也会到达。通过构建最近交换目标的高速缓存,可以减少包在全路由表中查找同一目标的次数,这种"一次路由,然后交换"的方式称为快速交换,快速交换大大提高了路由器的包转发速率,因而成为Cisco路由器平台上默认的交换机制。但有一点需要注意,IP路由表的改变必须高速缓存无效,在路由状况不断变化的环境中,路由高速缓存的优势将受到很大限制。
创建一条静态路由,将指向BT发布服务器的流量引向该空接口。
(6) 退出配置模式。
(7) 保存配置即可。
经过这样的设置,访问BT发布服务器的流量都引向空接口,相当于丢弃该流量,从而大大减少路由器的工作量。
4.  蠕虫泛滥致网络传输变慢
故障现象
         网络传输速率常常莫明其妙地迅速变慢。使用Sniffer Pro监控发现,有大量的并发连接发生在相对集中的TCP和UDP端口。
故障分析
         通过对于病毒的传染机制的分析,可以看出,病毒是通过TCP的135、136、137、138、139、445、4444端口,UDP的69、135、136、137、138、139、445、4444端口来发动***的。路由器作为内部计算机的跨网段访问的通道,将这些端口限制掉,便可以防止病毒通过路由器从外网进入,同时,也可以防止内部的病毒通过路由器向外传染病毒。
故障解决
Cisco路由器的ACL配置如下: