一、关于ARP欺骗的说明
近期来,很多网吧遭遇一类病毒,导致网吧频繁断线,具体的原因,是因为某些外挂和应用程序携带了一种能进行ARP欺骗的病毒。ARP欺骗其实并不是新鲜的事情,很多老的网吧工具工具,譬如网络执法官等,就是使用ARP攻击来导致网吧整体或者部分机器掉线的。
ARP是工作在IP层与数据链路层之间的一个桥梁,起的作用是查询给定的IP地址所对应的网卡物理地址(MAC地址)。虽然我们在平时和网络上的机器通信的时候,我们一般是给定了对方的IP地址,看起来,我们是通过IP地址和对方进行通信的,好像只要知道对方的IP地址,我们就可以和对方通信了。实际上并不是这样,IP是一个高层的协议,实际上,计算机之间的连接建立还是要依赖于低层的电信号或者光信号,还是需要在媒介这个层次进行连接和通信。而用来标示数据链路的地址就是MAC地址。MAC地址是网卡在出厂的时候就烧制在网卡的芯片上的,理论上来讲,这一地址是全球唯一的。当然,也可以通过程序来更改这一地址。
当我们需要跟某一IP地址进行通信的时候,本机的操作系统会根据所设置的IP地址和子网掩码来判断目标地址和自己是否处于同IP网络中,如果在同一IP网络,则操作系统会通过目标地址的IP地址来查询对端的MAC地址,然后和对端在数据链路层建立连接;如果目标地址和自身不在同一IP网络,则本机会查询网关的MAC地址,和网关在数据链路层建立连接。而完成通过IP地址解析MAC地址的内核模块,就是ARP(AddressResolutionProtocol)。
而目前引起网吧频繁掉线的病毒,其原理就是对正常的ARP解吸工作进行了干扰和欺骗。一方面,它欺骗网关,将网关上的MAC地址与IP地址对应关系搞混乱,这样,网关就无法和工作站建立正确的数据链路层的连接,依赖与数据链路层的TCP/UDP连接就更无法正常进行了。另一方面,它欺骗客户端,将客户端上网关的MAC地址篡改,这样就会导致工作站无法正确的在数据链路层上和网关建立联系,也就失去了和外网的连接。
由于ARP协议在工作的时候,并不进行验证和确认,Windows类操作系统,只要接受到ARPREPLY的信息,马上就会更新自己的ARP缓存表。而数据链路层的协议,本身就缺乏安全机制,因此,ARP欺骗是很难防御的,尤其是在网吧环境中,缺乏比较好的网络设备的情况下。胜天网络紧急开发出的防ARP欺骗程序只是一个应急版本,可以有效的防御针对网关和客户端的ARP欺骗,不仅可以应对目前的病毒ARP攻击,也可以有效的防御认为的使用工具进行的ARP攻击。
二、胜天网络ARP欺骗防护程序客户端程序BMacclient.exe的使用方法
1、在网吧其中一台工作站上,下载BMacclient.exe程序,双击运行;
2、BMacclient.exe运行后,会直接隐藏到系统托盘,请在托盘图标上点右键->设置;
此时会弹出设置窗口,在备注一栏里填上说明,譬如网关,此选项未必填项;
在IP地址栏里填上网关IP,一般我们只需要绑定网关就可以了;
填好网关IP后,点解析MAC地址。程序会自动解析出网关的MAC地址;
填好后,直接点添加,然后保存,退出。
3、将BMacclient.exe文件,放到电影服务器上一个可以被下面所有客户机正常访问的目录,然后在网娱平台的系统维护模块中增加一个开机更新项,设置每台工作站将BMacclient.exe工具复制到本地。
4、在系统维护模块中,同时增加一个开机启动项,设置每台工作站启动BMacclient.exe程序。
5、进入网娱平台的系统维护模块,进行一次参数上传操作,这样可以把刚才所设置的参数更新到每台工作站上。其他的工作站上的BMacclient.exe程序就不需重复设置。
6、其他工作站,只需要重新启动一次,就可以自动下载BMacclient.exe程序,并自动按照你所设置的参数来运行防护程序了。三、胜天网络ARP欺骗防护程序网关(服务器)端程序BmacForGetway.exe的使用方法
由于病毒不仅仅攻击客户端,同时也攻击网关,因此,仅仅对客户端进行防护是不够的。网关上也必须针对ARP欺骗进行防护。网吧的网关如果是使用Windows类操作系统,则可以运行BmacForGetway.exe程序,如果是Linux类操作系统,则可以使用linux自身的MAC地址静态绑定的功能,并可以通过BmacForGetway.exe程序方便的收集全网络的MAC地址信息。Windows类网关上BmacForGetway.exe程序的使用方法
1、在网关上下载BmacForGetway.exe程序。双击运行;
2、BmacForGetway.exe运行后,会直接隐藏到系统托盘,请在托盘图标上点右键->设置;
此时会弹出设置窗口,窗口从整体上分为左右两个部分,左边是绑定设置窗口,右边是MAC地址扫描工具窗口。我们首先,要进行全网的MAC地址扫描。请先输入你的IP地址的范围,譬如你使用192.168.1.0/255.255.255.0这一地址段,则在第一个窗口里填192.168.1,然后设置从1到254。点开始,很快就会扫描出全网的MAC地址。如果有多个网段,请重复这个步骤,目前只能一次扫描一个C类网段地址。
3、在扫描出全网MAC地址后,点中间的<<-按钮,将会把扫描出的MAC全部添加到左边的绑定栏目中。在绑定到IP栏目中,填上内部网卡的IP地址,然后点保存,再点开始就可以了。Linux类网关上静态绑定的使用方法
1、首先利用BmacForGetway.exe程序,扫描出全网的MAC地址;具体操作请参考Windows类网关上BmacForGetway.exe使用方法的第1、2两个步骤。
2、将扫描出的MAC地址与IP地址对应数据点<<-导出到左边绑定窗口,然后点另存为Linux格式。则会生成一个ethers的文件。
3、将ethers文件,通过sftp或者其他方式拷贝到linux网关的/etc/目录下。
4、输入命令arp-f,系统将会找到/etc/ethers文件,并对IP地址和MAC地址的对应关系静态绑定。
5、如果希望网关每次重新启动都绑定一次,则请在/etc/rc.local文件或者/etc/rc.d/rc.local文件中增加一行,arp-f即可。