防毒别忘了路由器


8月下旬开学 , 我刚到学校就被告知:学校网络时断时续 , 大部分网站因超时无法访问 。当时我第一个念头就是:冲击波蠕虫!路由器一定没问题 , 因为这台路由器是新换不到3个月的一台国产品牌路由器 , 一定是由于冲击波蠕虫爆发引起的网络拥挤堵塞 。
于是我开始对网段内的机器扫描 , 忙着给每台单机打补丁 。忙了两天 , 该补的补了 , 该升的也升了 , 可情况仍不见好转 , 而且时通时不通的情况更加严重 , ping外部网关 , 100个包掉90个包是常事 。碰巧的是学校周边市政施工 , 将单位光纤临时挪动 , 几个同事认为可能是光纤受到损伤 , 于是采用替换法将老Cisco 2621(设置相同)换上 。希奇的事情发生了 , 网络竞然通了 , ping100个通100个 , 但连接质量较差 , 连接速度均在lOOms左右 , 由此可断定光纤无损 。接下来 , 我将国产路由器IOS升级 , 打电话咨询 , 换全新的国产路由器……忙活了近一个星期 , 问题仍无法解决 。
9月初 , 我将Cisco路由器接上 , 好奇之余打开Debug监控 , 在键入debug ip icmp后 , 意想不到的情况出现了 , 类似 "2002-1-100:01:05 ICMP:sent unreachable to211.93.39.44(dstwas210.42.94.79),len36"的记录开始疯狂地翻屏 。
记录的含义如下:
ICMP:Internet控制信息协议 。
sent.发送ICMP报文 。
to 211.93.39.44:ICMP报文的目的地址是211.93.39.44 。
dstwas210.42.94.79:引起ICMP报文的原始报文的目的地址是210.42.94.79;
"len 36".ICMP报文的长度是36字节 , 其中不包括旧报头长度 。
我既惊奇又庆幸 , 惊奇的是 , 我调试时是抛开内网的 , 产生如此大的ICMP报文 , 只能说明路由器接收到外网大量无用报文;庆幸的是 , 简单的Debuq命令竞然帮我找到了问题所在 。于是我换上国产路由器 , 将1CMP端口封闭 , 呵呵 , 随便找一个网站均能顺利打开了 。可是却不能再用传统的pinq来测试速度了 , 不过能顺利打开各个网站就说明问题已经解决了一大半 。现将几种蠕虫对网络通信质量危害的主要方式及解决方法总结如下 。
冲击波杀手
首先 , 冲击波杀手W32.Nachi蠕虫使用类型为echo(ICMP TYPE=8)的1CMP报文ping根据自身算法得出的旧地址段 , 发送大量载荷为"aa"、填充长度为92字节的ICMP报文 , 检测这些地址段中存活的主机 , 结果大量1CMP报文导致网络拥挤、堵塞 。这就是以下大量1CMP报文数据产生的原因!
下面便是使用了访问列表后 , 使用debugIPpacket
detaiI命令后 , 一秒内产生的l35条记录中的1条记录:
 
对记录的解释如下:
IP.表示这条信息是关于IP报文的 。
src=https://www.rkxy.com.cn/dnjc/218.72.13.36(FastEtherent0/0):IP报文的源地址和收到报文的接口名称 (假如不是本地生成的报文) 。
dst=210.42.92.86.IP报文的目的地址和发送报文的接口名称 (假如路由成功的活) 。
len=92:IP报文的长度 。
Denied by incoming acl FastEthernet0/0:被FastEthernet0/0的接收接口的接收访问表拒绝 。
ICMP:type-8,code-0:ICMP报文的类型和代码值 。
随机一秒钟就有l35次的1CMP报文 , 可想而知高峰期一分钟有多少?一小时有多少?
蠕虫一旦发现存活的主机 , 便试图使用135端口的RPC漏洞和80端目的Wehdav漏洞进行溢出攻击 。溢出成功后会监听666-765范围中随机的一个端口 , 等待目标主机回连 。但是从我们监测的情况看 , 通常都是707端口 。
解决方法
假如您不需要应用这些端口来进行服务 , 为了防范这种蠕虫 , 您应该在路由器上关闭下面的协议端口:UDP Port 69,TCP Port135,ICMP echo request(type8) 。
span
strip 在路由器上配置如下访问列表:

推荐阅读