□四川石油管理局通信公司 张亮
随着网络技术在国内的蓬勃发展,宽带网在许多大楼和社区应运而生。但在享受各种多媒体信息的同时,有个问题经常困扰着网络管理员和用户,那就是宽带网络内分配的IP地址经常被盗用,授权用户用自己的IP地址在网络中产生冲突,无法进入网络。这种现象导致了网络管理的混乱,影响授权用户的利益,也对用网络流量来进行计费的宽带网带来较大的影响。
一、开放系统互联模型结构
要清楚IP地址盗用的方法,首先必须了解国际电联规定的开放系统互联模型(OSI)的结构层次。需要传输的数据在传输层被分割并重组为数据串(segment),然后在网络层加入源和目的IP地址,封装成包(packet),再在数据链路层附加数据链的帧头和帧尾,将数据包放进帧(frame)里,最后在物理层转换成以比特为单位的数据。所以,IP地址是网络层用来标识不同地点的逻辑地址,它的长度是32位;而在数据链路层则是用MAC(媒介存取控制)地址来标识网络节点的位置,它的长度是48位,它也是设备的物理地址。
二、盗用IP地址的几条途径
1. 修改静态IP地址
在修改TCP/IP协议属性配置时,使用的不是网络管理员分配的IP地址,而是已知的授权的IP地址。由于IP地址是一个逻辑地址,是一个需要用户设置的值,因此无法限制用户对于IP地址的静态修改,当盗用者修改IP地址后,也可以通过网关访问外网。
2. 成对地修改IP地址和MAC地址
为防止静态IP地址被修改,一般采用静态路由技术予以解决。针对静态路由技术,IP盗用技术又有了新的门路,即成对修改IP-MAC地址。MAC地址是设备的物理地址,对于我们常用的以太网来说,俗称为计算机网卡地址。每一个网卡的MAC地址在所有以太网设备中必须是唯一的,它由IEEE分配,是固化在网卡上的,一般不能随意改动。但是,目前的一些兼容网卡,其MAC地址可以使用网卡配置程序进行修改。如果将一台计算机的IP地址和 MAC地址都改为一台合法主机的IP地址和MAC地址,那静态路由技术就无能为力了。另外,对于那些MAC地址不能直接修改的网卡来说,高明的盗用者还可以采用软件的办法来修改MAC地址。
三、几种防止IP地址被盗的方法
1.锁定交换机端口
对于交换机的每一个以太网端口,采用MAC地址表(MAC-address-table)的方式对端口进行锁定。只有网络管理员在MAC地址表中指定的网卡的MAC地址才能通过该端口与网络连接,其他的网卡地址不能通过该端口访问网络。我们可以在计算机上先运行ping命令,然后用arp-a命令就可以看到网络用户相应的IP地址对应的MAC地址,这样就使MAC地址和物理顺序对应起来,使得一根网线、一个端口对应一个MAC地址。这种方法比较适合于单幢大楼的宽带用户,在每一层楼或每个单元放置一台交换机,对交换机的每一个以太网端口进行限定,让每个用户单独占用一个端口,如果有人盗用了IP地址也将无济于事。下面用一段程序,举例说明指定交换机的e0/9口对应MAC地址083c.0000.0002,只有这个MAC地址可以通过该端口访问网络。
Switch#config terminal
Switch(conf)#mac-address-table permanent 083c.0000.0002 e0/9
Switch(conf)#int e0/9
Switch(conf-if)#port secure max-mac-count1
Switch(conf-if)#exit
Switch(conf)#exit
2.应用ARP绑定IP地址和MAC地址
ARP(Address Resolution Protocol)即地址解析协议,这个协议是将IP地址与网络物理地址一一对应的协议。每台计算机的网卡的MAC地址都是唯一的。在三层交换机和路由器中有一张称为ARP的表,用来支持在IP地址和MAC地址之间的一一对应关系,它提供两者的相互转换,具体说就是将网络层地址解析为数据链路层的地址。
我们可以在ARP表里将合法用户的IP地址和网卡的MAC地址进行绑定。当有人盗用IP地址时,尽管盗用者修改了IP地址,但由于网卡的MAC地址和ARP表中对应的MAC地址不一致,那么也不能访问网络。以Cisco交换机为例,在Cisco Catalyst 5000网络交换机上,关于ARP表的设置和删除有以下几条命令:
Set arp [dynamic | static] {ip_addr hw_addr}( 设置动态或静态的ARP表);
ip_addr(IP地址),hw_addr(MAC地址);
Set arp static 20.89.21.1 00-80-1c-93-80-40(将将IP地址20.89.21.1和网卡MAC地址00-80-1c-93-80-40绑定);
Set arp static 20.89.21.3 00-00-00-00-00-00(对未用的IP进行绑定,将MAC地址设置为0);
Set arp agingtime seconds(设置ARP表的刷新时间,如Set arp agingtime 300);
show arp (用来显示ARP表的内容);
clear arp [dynamic | static] {ip_addr hw_addr}(清除ARP表中的内容)。
其他品牌的三层交换机也有类似的命令和功能,用其他交换机来构建宽带网络时,也可以采用这种设置ARP表的办法来防止盗用IP地址,以达到限制每个IP地址的流量和根据网络流量进行计费的目的。这种方法比较适合于社区的宽带用户,但它只能防止盗用者静态地修改IP地址。
3. 用PPPoE协议进行用户认证
对于盗用者使用第二种方法同时修改IP地址和MAC地址时,可以使用PPPoE协议进行用户认证。现在有很多基于PPPoE协议的软件,在ADSL的宽带网中广泛使用。PPPoE全称是Point to Point Protocol over Ethernet(基于局域网的点对点通讯协议),这个协议是为了满足越来越多的宽带上网设备和网络之间的通讯而最新制定开发的标准,它基于两个广泛接受的标准,即以太网和PPP点对点拨号协议。对运营商来说,在现有局域网基础上不必花费巨资来做大面积改造,使得PPPoE 在宽带接入服务中比其他协议更具有优势,因此逐渐成为宽带上网的最佳选择。 PPPoE的实质是以太网和拨号网络之间的一个中继协议,它兼有以太网的快速性和PPP协议拨号的简易性以及用户验证和IP分配等优势。在ADSL宽带网的实际应用中,PPPoE利用以太网的工作原理,将ADSL Modem的10BASE-T接口与内部以太网络互联,PPPoE接入利用在网络侧和ADSL Modem之间建立一条PVC(永久虚电路)就可以完成以太网上多用户的共同接入,实际组网方式简单易行,大大降低了网络的复杂程度。
在客户端,其设置和拨号上网方式一样,安装虚拟拨号软件,通过虚拟拨号的方式完成。在客户机接入网络后,由PPP服务器或RADIUS服务器来进行认证,其使用的验证协议有两种:PAP和CHAP。
PAP是密码身份验证协议,它使用原文(不加密)密码,是一种最简单的身份验证协议。如果网络的接入不能用更安全的验证方式,一般就使用PAP。
CHAP是质询握手身份验证协议,它是使用MD5(message digest 5一种工业标准)的一种散列方案,散列方案是一种转换密码的方法,它生成的结果是唯一的且不能被改回到原始形式。CHAP在响应时使用质询-响应机制和单向 MD5 散列。用这种方法,可以向服务器证明用户知道密码,但不必实际将密码发送到网络上。通过支持 CHAP 和 MD5,网络和拨号连接能够安全地连接到几乎所有其他的PPP服务器上。
当用户合法身份通过RADIUS服务器验证后,由宽带接入服务器给客户机分配IP地址,避免了IP地址被盗用的情况。这种由宽带接入服务器和RADIIUS服务器配合来完成用户身份并分配IP地址的方法,还可以分配不同性质的IP地址(如公网地址或私有地址),并且符合RFC 2138和RFC 2139建议,支持Radius Proxy功能,可实现用户的漫游认证。在现有的很多宽带网里,使用网络防火墙也具有同样的用户认证功能。
用PPPoE协议进行用户认证的方式适合于大范围安装ADSL和局域网的宽带用户群,是可以较好地防止盗用IP地址的一种方法。
摘自《通信世界》2002.11期