关于近期网吧私服集体掉线的分析及解决方法
最近几天很多网吧反映频繁掉线,经过查处,确认目前引起网吧掉线的原因是病毒,该问题在全省均大面积发生,该对主机代理和路由器代理的网吧均会造成影响。
该发作时候的特征为,中毒的机器会修改其他机器的网卡mac地址为中毒机器网卡的mac地址,在主机代理的上,进入dos窗口,用arp –a命令可以看到类似下面的现象。
C:\WINNT\system32>arp -a
Interface: 192.168.0.1 on Interface 0x1000004
Internet Address Physical Address Type
192.168.0.61 00-e0-4c-8c-9a-47 dynamic
192.168.0.70 00-e0-4c-8c-9a-47 dynamic
192.168.0.102 00-e0-4c-8c-9a-47 dynamic
192.168.0.103 00-e0-4c-8c-9a-47 dynamic
192.168.0.104 00-e0-4c-8c-9a-47 dynamic
192.168.0.105 00-e0-4c-8c-9a-47 dynamic
192.168.0.106 00-e0-4c-8c-9a-47 dynamic
192.168.0.107 00-e0-4c-8c-9a-47 dynamic
192.168.0.108 00-e0-4c-8c-9a-47 dynamic
192.168.0.109 00-e0-4c-8c-9a-47 dynamic
192.168.0.110 00-e0-4c-8c-9a-47 dynamic
192.168.0.111 00-e0-4c-8c-9a-47 dynamic
192.168.0.112 00-e0-4c-8c-9a-47 dynamic
192.168.0.113 00-e0-4c-8c-9a-47 dynamic
192.168.0.114 00-e0-4c-8c-9a-47 dynamic
192.168.0.115 00-e0-4c-8c-90-22 dynamic
192.168.0.165 00-e0-4c-8c-9a-47 dynamic
192.168.0.166 00-e0-4c-8c-9a-47 dynamic
192.168.0.167 00-e0-4c-8c-9a-47 dynamic
192.168.0.168 00-e0-4c-e8-91-45 dynamic
192.168.0.170 00-e0-4c-8c-9a-47 dynamic
该不发作的时候,在代理上看到的地址情况如下:
C:\WINNT\system32>arp -a
Interface: 192.168.0.200 on Interface 0x1000003
Internet Address Physical Address Type
192.168.0.1 00-e0-4c-8c-bb-0f dynamic
192.168.0.68 00-00-e8-11-df-53 dynamic
192.168.0.99 00-e0-4c-8c-81-cc dynamic
192.168.0.102 00-e0-4c-8c-7e-8f dynamic
192.168.0.103 00-e0-4c-8c-8e-cd dynamic
192.168.0.105 00-e0-4c-8c-b8-03 dynamic
192.168.0.106 00-e0-4c-8c-b9-cc dynamic
192.168.0.107 00-e0-4c-8c-8f-0d dynamic
192.168.0.109 00-e0-4c-8c-ba-7a dynamic
192.168.0.110 00-e0-4c-8c-7a-8a dynamic
192.168.0.112 00-e0-4c-8c-b9-c4 dynamic
192.168.0.113 00-e0-4c-8c-92-ad dynamic
192.168.0.116 00-e0-4c-82-55-8f dynamic
192.168.0.117 00-e0-4c-8c-ba-9e dynamic
192.168.0.118 00-e0-4c-8c-b9-57 dynamic
192.168.0.119 00-e0-4c-8c-b8-d9 dynamic
192.168.0.120 00-e0-4c-8c-92-c5 dynamic
192.168.0.121 00-e0-4c-8c-ba-64 dynamic
192.168.0.122 00-e0-4c-3a-1d-bb dynamic
192.168.0.123 00-e0-4c-8c-ba-42 dynamic
192.168.0.124 00-e0-4c-3a-1d-a5 dynamic
192.168.0.128 00-e0-4c-8c-b9-31 dynamic
192.168.0.129 00-e0-4c-8c-91-58 dynamic
192.168.0.130 00-e0-4c-8c-b9-f2 dynamic
192.168.0.131 00-e0-4c-8c-9a-47 dynamic
192.168.0.132 00-e0-4c-8c-ba-5e dynamic
192.168.0.134 00-e0-4c-3a-77-42 dynamic
192.168.0.135 00-e0-4c-8c-53-73 dynamic
192.168.0.136 00-e0-4c-8c-ba-d3 dynamic
192.168.0.137 00-e0-4c-8c-9c-28 dynamic
192.168.0.138 00-e0-4c-8c-b8-f9 dynamic
192.168.0.139 00-e0-4c-8c-b9-26 dynamic
192.168.0.142 00-e0-4c-8c-84-39 dynamic
192.168.0.143 00-e0-4c-8c-bb-0f dynamic
192.168.0.144 00-e0-4c-8c-ba-8a dynamic
发作的时候,可以看到所有的ip地址的mac地址被修改为00-e0-4c-8c-9a-47,正常的时候可以看到00-e0-4c-8c-9a-47的ip地址为192.168.0.131,就是这台机器中毒,将该机器的网线拔掉,再观察。
中毒的机器可能不止一台,请多观察。
进入机器dos窗口的方式为,点击“开始”,点击“运行”,键入command,回车,就可以进入dos窗口,然后就可以用arp –a命令查看IP地址和mac地址对应的情况。
对近期网吧掉线问题的建议
1.比较简便易行的方法:
在网吧正常时,在网吧的二层交换机或者代理上查看MAC和IP的对应关系表,与故障时查看到的MAC和IP的对应关系表进行对比,可以dingwei到故障主机,隔离后处理。
2. 绿盟的建议(王红阳)
我们工程师看了一下,认为确实在局域网内存在 ARP 欺骗,是系统被人装了后门还是引发还不能完全确定。下面是局域网内对抗 ARP 欺骗的文章,可能会有所参考。
3. 安氏公司的建议(刘刚)
查了一下资料,发现有类似情况出现。
pc机驻留进程,采用arp地址欺骗, 造成网络中断。
攻击动机可能是网游盗号,或者其他机密信息获取。
在我查找得资料中,该驻留进程启动后,以类似于图标的方式出现(见附件)。
关于该攻击的制止,请参考两种方法:
1、在交换机中,将网关mac-table 设置为静态方式(可以部分缓解攻击);
2、对典型样机,查找驻留进程,再确认统一的清除方式
网吧的解决之道
V1.0
为什么需要的网络环境,大道理不必多说,从近期部分网吧频繁掉线可见一斑。
我们需要怎样做才能维护网吧的网络呢?这里提几点原则上的建议,具体做法我们将在下一版中给出,在此期间欢迎广大网吧管理员和我们多做交流,共同提高网吧的上网环境:
1、 给每台机器加装杀毒软件,且必须保证所有的杀毒软件都能自动更新。
建议装网络版的杀毒软件,费用较贵;如没有条件,就装个人单机版的。每天定时自动更新杀毒软件的库。
2、 给每台机器(代理服务器除外)加装个人,不要信任局域网内任何机器,但需打开和收费机器的通讯端口。代理服务器上可装支持的个人。
3、 使用windows update ,保持机器能够跟上微软的更新步伐。
4、 代理的选择:路由器、双网卡
路由器上要确保只开代理功能,不开其他端口和服务
双网卡型的代理涉及操作系统的选择:windows,linux,对这两个系统有不同的措施,windows的操作系统建议不装版的,一是耗资源,一是缺省开放端口多,受攻击的可能性大。
5、 需要注意的几个问题:
l 怎样做才能不影响公安局监控软件的正常运行
l 软件更新与还原卡的关系
对于ARP欺骗,提出几点加强防范的措施。环境是主机或者网关是基于Linux/BSD的。
一. 理论前提
本着“不冤枉好人,不放过一个坏人的原则”,先说说我的一些想法和理论依据。首先,大家肯定发送ARP欺骗包肯定是一个恶毒的程序自动发送的,正常的TCP/IP网络是不会有这样的错误包发送的(板砖扔了过来啊,废话!)。这就假设,如果犯罪嫌疑人没有启动这个破坏程序的时候,网络环境是正常的,或者说网络的ARP环境是正常的,如果我们能在犯罪嫌疑人启动这个犯罪程序的第一时间,一开始就发现了他的犯罪活动,那么就是人赃俱在,不可抵赖了,因为刚才提到,前面网络正常的时候证据是可信和可依靠的。好,接下来我们谈论如何在第一时间发现他的犯罪活动。
ARP欺骗的原理如下:
假设这样一个网络,一个Hub接了3台机器
HostA HostB HostC 其中
A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
正常情况下 C:\arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 CC-CC-CC-CC-CC-CC dynamic
现在假设HostB开始了罪恶的ARP欺骗:
B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址,没有和犯罪分子B相关的证据,哈哈,这样犯罪分子岂不乐死了。
现在A机器的ARP缓存更新了:
C:\>arp -a
Interface: 192.168.10.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.10.3 DD-DD-DD-DD-DD-DD dynamic
这可不是小事。局域网的网络流通可不是根据IP地址进行,而是按照MAC地址进行传输。现在192.168.10.3的
MAC地址在A上被改变成一个本不存在的MAC地址。现在A开始Ping 192.168.10.3,网卡递交的MAC地址是DD-DD-DD-DD-DD-DD,结果是什么呢?网络不通,A根本不能Ping通C!!
所以,局域网中一台机器,反复向其他机器,特别是向网关,发送这样无效假冒的ARP应答信息包,NND,严重的网络堵塞就开始了!网吧管理员的噩梦开始了。我的目标和任务,就是第一时间,抓住他。不过从刚才的表述好像犯罪分子完美的利用了以太网的缺陷,掩盖了自己的罪行。但其实,以上方法也有留下了蛛丝马迹。尽管,ARP数据包没有留下HostB的地址,但是,承载这个ARP包的ethernet帧却包含了HostB的源地址。而且,正常情况下ethernet数据帧中,帧头中的MAC源地址/目标地址应该和帧数据包中ARP信息配对,这样的ARP包才算是正确的。如果不正确,肯定是假冒的包,可以提醒!但如果匹配的话,也不一定代表正确,说不定伪造者也考虑到了这一步,而伪造出符合格式要求,但内容假冒的ARP数据包。不过这样也没关系,只要网关这里拥有本网段所有MAC地址的网卡数据库,如果和Mac数据库中数据不匹配也是假冒的ARP数据包。也能提醒犯罪分子动手了。
二. 防范措施
1.建立DHCP(建议建在网关上,因为DHCP不占用多少CPU,而且ARP欺骗攻击一般总是先攻击网关,我们就是要让他先攻击网关,因为网关这里有监控程序的,网关地址建议选择192.168.10.2 ,把192.168.10.1留空,如果犯罪程序愚蠢的话让他去攻击空地址吧),另外所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡,绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。
2.建立MAC数据库,把网吧内所有网卡的MAC地址记录下来,每个MAC和IP、地理位置统统装入数据库,以便及时查询备案。
3.网关机器关闭ARP动态刷新的过程,使用静态路邮,这样的话,即使犯罪嫌疑人使用ARP欺骗攻击网关的话,这样对网关也是没有用的,确保主机。
网关建立静态IP/MAC捆绑的方法是:建立/etc/ethers文件,其中包含正确的IP/MAC对应关系,格式如下:
192.168.2.32 08:00:4E:B0:24:47
然后再/etc/rc.d/rc.local最后添加:
arp -f 生效即可
4.网关监听网络。网关上面使用TCPDUMP程序截取每个ARP程序包,弄一个脚本分析软件分析这些ARP协议。ARP欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警:第一以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配。或者,ARP数据包的发送和目标地址不在自己网络网卡MAC数据库内,或者与自己网络MAC数据库 MAC/IP 不匹配。这些统统第一时间报警,查这些数据包(以太网数据包)的源地址(也有可能伪造),就大致知道那台机器在发起攻击了。
5.偷偷摸摸的走到那台机器,看看使用人是否故意,还是被任放了什么木马程序陷害的。如果后者,不声不响的找个借口支开他,拔掉网线(不关机,特别要看看Win98里的计划任务),看看机器的当前使用记录和运行情况,确定是否是在攻击;!
解决办法:
一、采用客户机及网关上进行静态ARP绑定的办法来解决。
1. 在所有的客户端机器上做网关的ARP静态绑定。
首先在网关(代理主机)的电脑上查看本机MAC地址
C:\WINNT\system32>ipconfig /all
Ethernet adapter 本地连接 2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/100B PCI Adapter (TX)
Physical Address. . . . . . . . . : 00-02-ba-0b-04-32
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
然后在客户机器的DOS命令下做ARP的静态绑定
C:\WINNT\system32>arp –s 192.168.0.1 00-02-ba-0b-04-32
注:如有条件,建议在客户机上做所有其他客户机的IP和MAC地址绑定。
2. 在网关(代理主机)的电脑上做客户机器的ARP静态绑定
首先在所有的客户端机器上查看IP和MAC地址,命令如上。
然后在代理主机上做所有客户端的ARP静态绑定。如:
C:\winnt\system32> arp –s 192.168.0.23 00-11-2f-43-81-8b
C:\winnt\system32> arp –s 192.168.0.24 00-50-da-8a-62-2c
C:\winnt\system32> arp –s 192.168.0.25 00-05-5d-ff-a8-87
。。。。。。。。。
3. 以上ARP的静态绑定最后做成一个windows自启动文件,让电脑一启动就执行以上操作,保证配置不丢失。
二、有条件的网吧可以在交换机内进行IP地址与MAC地址绑定