(本文适用 WG102/WAG102/WG302/WAG302)
一、802.1x端口认证原理
为什么需要IEEE802.1x?随着宽带以太网建设规模的迅速扩大,网络上原有的认证系统已经不能很好地适应用户数量急剧增加和宽带业务多样性的要求。IEEE802.1x协议具有完备的用户认证、管理功能,可以很好地支撑宽带网络的计费、安全、运营和管理要求,对宽带IP城域网等电信级网络的运营和管理具有极大的优势。IEEE802.1x协议对认证方式和认证体系结构上进行了优化,解决了传统PPPOE和WEB/PORTAL认证方式带来的瓶颈问题,更加适合在宽带以太网中的使用。
IEEE802.1x是IEEE在2001年6月通过的基于端口访问控制的接入管理协议标。
IEEE802系列LAN标准是目前居于主导地位的局域网络标准,传统的IEEE802协议定义的局域网不提供接入认证,只要用户能接入局域网控制设备,如传统的LanSwitch,用户就可以访问局域网中的设备或资源,这是一个安全隐患。对于移动办公,驻地网运营等应用,设备提供者希望能对用户的接入进行控制和配置,此外还存在计费的需求。因此,802.1x产生了。
IEEE802.1x是一种基于端口的网络接入控制技术,在 LAN 设备的物理接入级对接入设备进行认证和控制,此处的物理接入级指的是 LanSwitch设备的端口。连接在该类端口上的用户设备如果能通过认证,就可以访问 LAN 内的资源;如果不能通过认证,则无法访问 LAN 内的资源,相当于物理上断开连接。
下面首先让我们了解一下IEEE802.1x端口访问控制协议的体系结构。
1.IEEE802.1x 体系介绍
虽然IEEE802.1x定义了基于端口的网络接入控制协议,但是需要注意的是该协议仅适用于接入设备与接入端口间点到点的连接方式,其中端口可以是物理端口,也可以是逻辑端口。典型的应用方式有:LanSwitch 的一个物理端口仅连接一个 End Station,这是基于物理端口的; IEEE 802.11定义的无线 LAN 接入方式是基于逻辑端口的。
IEEE802.1x的体系结构中包括三个部分:Supplicant System,用户接入设备;Authenticator System,接入控制单元;Authentication Sever System,认证服务器。
在用户接入层设备(如LanSwitch)实现 IEEE802.1x的认证系统部分,即Authenticator;IEEE802.1x的客户端一般安装在用户PC中,典型的为Windows XP操作系统自带的客户端,或其他第三方的免费802.1x客户端;认证服务器系统一般驻留在运营商的AAA中心。
Supplicant与Authenticator间运行IEEE802.1x定义的EAPOL协议;Authenticator 与 Authentication Sever 间同样运行 EAP 协议,EAP 帧中封装了认证数据,将该协议承载在其他高层次协议中,如 Radius,以便穿越复杂的网络到达认证服务器。
Authenticator每个物理端口内部有受控端口(Controlled Port)和非受控端口(unControlled Port)等逻辑划分。非受控端口始终处于双向连通状态,主要用来传递 EAPOL 协议帧,可保证随时接收Supplicant发出的认证EAPOL报文。受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。受控端口可配置为双向受控、仅输入受控两种方式,以适应不同的应用环境。输入受控方式应用在需要桌面管理的场合,例如管理员远程唤醒一台计算机(supplicant)。
2.IEEE802.1x 认证过程简介
利用IEEE 802.1x可以进行身份验证,如果计算机要求在不管用户是否登录网络的情况下都访问网络资源,可以指定计算机是否尝试访问该网络的身份验证。以下步骤描述了利用接入点AP和RADIUS服务器对移动节点进行身份验证的基本方法。如果没有有效的身份验证密钥,AP会禁止所有的网络流量通过。
- 当一个移动节点(申请者)进入一个无线AP认证者的覆盖范围时,无线AP会向移动节点发出一个问询。
- 在受到来自AP的问询之后,移动节点做出响应,告知自己的身份。
- AP将移动节点的身份转发给RADIUS身份验证服务器,以便启动身份验证服务。
- RADIUS服务器请求移动节点发送它的凭据,并且指定确认移动节点身份所需凭据的类型。
- 移动节点将它的凭据发送给RADIUS。
- 在对移动节点凭据的有效性进行了确认之后,RADIUS服务器将身份验证密钥发送给AP。该身份验证密钥将被加密,只有AP能够读出该密钥。(在移动节点和RADIUS服务器之间传递的请求通过AP的“非控制”端口进行传递,因为移动节点不能直接与RADIUS服务器建立联系。AP不允许STA移动节点通过“受控制”端口传送数据,因为它还没有经过身份验证。)
- AP使用从RADIUS服务器处获得的身份验证密钥保护移动节点数据的安全传输--特定于移动节点的单播会话密钥以及多播/全局身份验证密钥。
全局身份验证密钥必须被加密。这要求所使用的EAP方法必须能够生成一个加密密钥,这也是身份验证过程的一个组成部分。传输层安全TLS(Transport Level Security)协议提供了两点间的相互身份验证、完整性保护、密钥对协商以及密钥交换。我们可以使用EAP-TLS在EAP内部提供TLS机制。
移动节点可被要求周期性地重新认证以保持一定的安全级。
3.IEEE802.1x的特点
3.1 协议实现简单
IEEE802.1x协议为二层协议,不需要到达三层,对设备的整体性能要求不高,可以有效降低建网成本。
3.2 认证和业务分离
IEEE802.1x的认证体系结构中采用了"可控端口"和"不可控端口"的逻辑功能,从而可以实现业务与认证的分离,由Radius服务器和以太网交换机利用不可控的逻辑端口共同完成对用户的认证与控制,业务报文直接承载在正常的二层报文上通过可控端口进行交换;所以通过认证之后的数据包是无需封装的纯数据包。认证系统简化了PPPOE方式中对每个数据包进行拆包和封装等繁琐的工作,所以802 .1x封装效率高,消除了网络瓶颈;同时,由于IEEE802.1x认证包采用了在不可控通道中的独立处理的方式,因此认证处理容量可以很大,远远高于传统的BAS,无需购买昂贵设备,降低了建网成本。
3.3 和其他认证方式的比较:
IEEE802.1x协议虽然源于IEEE 802.11无线以太网(EAPOW),但是,它在以太网中的引入,解决了传统的PPPOE和WEB/PORTAL认证方式带来的问题,消除了网络瓶颈,减轻了网络封装开销,降低了建网成本。
众所周知,PPPOE是从基于ATM的窄带网引入到宽带以太网的,由此可以看出,PPPOE并不是为宽带以太网量身定做的认证技术,将其应用于宽带以太网,必然会有其局限性,虽然其方式较灵活,在窄带网中有较丰富的应用经验,但是,它的封装方式,也造成了宽带以太网的种种问题。在PPPOE认证中,认证系统必须将每个包进行拆解才能判断和识别用户是否合法,一旦用户增多或者数据包增大,封装速度必然跟不上,成为了网络瓶颈;其次这样大量的拆包封包过程必须由一个功能强劲同时价格昂贵的设备来完成,这个设备就是我们传统的BAS,每个用户发出的每个数据包BAS必须进行拆包识别和封装转发;为了解决瓶颈问题,厂商想出了提高BAS性能,或者采用大量分布式BAS等方式来解决问题,但是BAS的功能就决定了它是一个昂贵的设备,这样一来建设成本就会越来越高。
WEB/PORTAL认证是基于业务类型的认证,不需要安装其他客户端软件,只需要浏览器就能完成,就用户来说较为方便。但是由于WEB认证走的是7层协议,从逻辑上来说为了达到网络2层的连接而跑到7层做认证,这首先不符合网络逻辑。其次由于认证走的是7层协议,对设备必然提出更高要求,增加了建网成本。第三,WEB是在认证前就为用户分配了IP地址,对目前网络珍贵的IP地址来说造成了浪费,而且分配IP地址的DHCP对用户而言是完全裸露的,容易造成被恶意攻击,一旦受攻击瘫痪,整网就没法认证;为了解决易受攻击问题,就必须加装一个防火墙,这样一来又大大增加了建网成本。WEB/PORTAL认证用户连接性差,不容易检测用户离线,基于时间的计费较难实现;用户在访问网络前,不管是 TELNET、FTP还是其它业务,必须使用浏览器进行WEB认证,易用性不够好;而且认证前后业务流和数据流无法区分。所以,在以太网中,WEB/PORTAL认证目前只是限于在酒店,校园等网络环境中使用。
二、设置环境
硬件平台为:WG102
本文基于软件版本:4.0.16
802.1x 客户端:安腾802.1x客户端
Radius服务器:WinRadius v2.25
三、连接结构图:
四、设置步骤:
第一步:为AP设置无线网络所在的地区和IP地址,并设置所在时区,如下图所示:
注:192.168.1.1为路由器的局域网口IP地址,DNS地址可填上ISP服务商对应的地址。
第二步:设置802.1x相关参数,如Radius认证/计费服务器地址和端口号,具体设置如下图所示:
注:此实验中Radius认证/计费服务器IP地址为192.168.1.112,端口号分别为1812和1813,Shared Secret为netgear。
第三步:设置AP所使用的安全认证方式,如下图所示:
点击Security主菜单下的Security Profile Settings,在选择第一个Profile后点击Edit按钮,如下图所示:填上所需的SSID,Network Authentication设置为Legacy 802.1X,Data Encryption设置为None
至此,AP部分已经设置好,下面将配置认证服务器。
第四步:配置认证服务器
认证服务器IP设置如下图所示:
认证服务器上Radius服务器软件配置,此例中使用WinRadius v2.25,配置界面如下图所示:
WinRadius需要配置帐号、认证/计费端口号和密钥:
1.点击“操作”菜单中的“添加帐号”可以添加帐号,如本例中添加帐号名为terry的帐号,如下图所示:
2.点击“设置”菜单下面的“系统”设置认证/计费端口号和密钥,如下图所示:
注:NAS密钥跟AP配置里的Shared Secret必须一致,认证端口和计费端口分别也对应AP Radius Server Settings里的认证端口
和计费端口。
第五步:配置802.1x客户端
说明:XP自带的连接工具无法支持基于MD5的802.1x认证,所以此例中使用安腾的802.1x client连接程序。
1.开启802.1x客户端。
2.点击上图中“属性”设置认证方式和选择需要的无线网络名称,如下图所示:
3.点击上图中“选择接入点”按钮,出现以下所示界面,选择所连接的SSID后再点击“确定”按钮。
4.在用户名和密码框中分别输入terry和terry后,点击“连接”按钮,即连接成功,通过认证后将出现以下界面: