这几个月我们行的网点办公网络PING网关总是出现一会通一会不通的问题,我8月之前一直在南昌,也没仔细给分析,8月回来,正好我们的宽带出口设备坏了,跑到网点,一PING一切正常,到网点的主机PING,也很正常,这倒好,难不成怕我不成,这样在宽带断了的一周内,网络一直很正常,到了本周宽带设备修好上架后,前面的情况有出来了,第一时间怀疑是不是宽带的设备有问题呢?!可是其他Vlan的用户确很正常,就是网点Vlan的这段用户有这样的问题,没办法,下午到现场,又是PING什么都正常,不过除了我的机子,其他机子都不能PING通网关,这就玄乎了,我是Linux系统,他们是Windows系统,这是怪了,走投无路,笨办法,用wireshark抓个包看下,不看不知道,一看吓一跳,网络上75%的是Arp包,嘿嘿,狐狸尾巴总算找到了,有机子中ARP病毒了,再对比我的Ubuntu Linux上的网关arp缓存和windows主机上的arp缓存中的ip/mac对照表。两台机子的网关对应的mac不一样,我的是正确的mac,而windows上的MAC是错误的,在到交换机上查看了下mac地址对照表,查找到错误MAC对于的IP,甩掉这台主机,世界就清静了,一切到正确了,哎!都是病毒惹得祸。至于为什么不能上宽带的时候正常,估计是因为没宽带可上,那么那个毒源PC一直都在内网,而中毒的是外网的系统。至于Linux为什么不会受影响,估计Linux下对arp包的处理方式于Windows不同吧,具体的原因还未深究,有知道的朋友,麻烦您告诉我一声,谢谢了先!
既然吃了这样的亏,基于安全的考虑,总要想办法防备下了,这种ARP伪装病毒,实际就是不停的向网络广播arp报文,声明网关对应的IP的MAC为其MAC,其广播的间隔非常小,一般10/s,而交换机一般每秒发一个arp广播包,所以当网络的主机收到交换机正确的arp广播时,网络正常,紧接着,又收到中毒主机发过来的ARP伪装广播时,网络就不正常了,那么只要禁止中毒主机的发出网关IP的ARP广播就可以了,而只允许网关MAC来发这个ARP广播,就可以防止前面的情况发生了,以下是在华为3COM论坛上看到的方法:
全局配置deny 所有源IP是网关的arp报文(自定义规则)
[bash] ACL num 5000 rule 0 deny 0806 ffff 24 64010101 ffffffff 40 rule 1 permit 0806 ffff 24 000fe2003999 ffffffffffff 34
rule0目的:把整个交换机端口冒充网关的ARP报文禁掉,其中64010101是网关ip地址的16进制表示形式:100.1.1.1=64010101。
rule1目的:把网关ARP报文允许通过,网关的mac地址000f-e200-3999。
在Switch系统视图下发acl规则:
[Switch-Ethernet 1/0/1]packet-filter user-group 5000
这样只有Switch上连设备能够下发网关的ARP报文,其它pc就不能发送假冒网关的arp响应报文。
另外在PC上:
1、可以作一个批处理,每次启动时静态设置网关IP对于的MAC防止其学习错误的ARP:
[bash]arp -s 网关的IP 网关的MAC
2、还要注意就是,病毒是万恶之源,要注意定期全网杀一次。
另外,华为3COM论坛上还有一个防止病毒的ACL模板,大家可以参考下!
PS:这首一个陌生女人的来信很值得一听哦:)
O comments at "网络:华为交换机ARP欺骗防治"
Comment Now!