8021x协议.docx
《8021x协议.docx》由会员分享,可在线阅读,更多相关《8021x协议.docx(11页珍藏版)》请在冰点文库上搜索。
8021x协议
802.1x协议解析
2006-12-1111:
30
802.1X协议是由(美)电气与电子工程师协会提出,刚刚完成标准化的一个符合IEEE802协议集的局域网接入控制协议,其全称为基于端口的访问控制协议。
它能够在利用IEEE802局域网优势的基础上提供一种对连接到局域网的用户进行认证和授权的手段,达到了接受合法用户接入,保护网络安全的目的。
802.1x认证,又称EAPOE认证,主要用于宽带IP城域网。
。
一、802.1x认证技术的起源
802.1x协议起源于802.11协议,后者是标准的无线局域网协议,802.1x协议的主要目的是为了解决无线局域网用户的接入认证问题。
有线局域网通过固定线路连接组建,计算机终端通过网线接入固定位置物理端口,实现局域网接入,这些固定位置的物理端口构成有线局域网的封闭物理空间。
但是,由于无线局域网的网络空间具有开放性和终端可移动性,因此很难通过网络物理空间来界定终端是否属于该网络,因此,如何通过端口认证来防止其他公司的计算机接入本公司无线网络就成为一项非常现实的问题,802.1x正是基于这一需求而出现的一种认证技术。
也就是说,对于有线局域网,该项认证没有存在的意义。
由此可以看出,802.1x协议并不是为宽带IP城域网量身定做的认证技术,将其应用于宽带IP城域网,必然会有其局限性,下面将详细说明该认证技术的特点,并与PPPOE认证、VLAN+WEB认证进行比较,并分析其在宽带IP城域网中的应用。
二、802.1x认证技术的特点
802.1x协议仅仅关注端口的打开与关闭,对于合法用户(根据帐号和密码)接入时,该端口打开,而对于非法用户接入或没有用户接入时,则该端口处于关闭状态。
认证的结果在于端口状态的改变,而不涉及通常认证技术必须考虑的IP地址协商和分配问题,是各种认证技术中最简化的实现方案。
802.1x认证技术的操作粒度为端口,合法用户接入端口之后,端口处于打开状态,因此其它用户(合法或非法)通过该端口时,不需认证即可接入网络。
对于无线局域网接入而言,认证之后建立起来的信道(端口)被独占,不存在其它用户再次使用的问题,但是,如果802.1x认证技术用于宽带IP城域网的认证,就存在端口打开之后,其它用户(合法或非法)可自由接入和无法控制的问题。
接入认证通过之后,IP数据包在二层普通MAC帧上传送,认证后的数据流和没有认证的数据流完全一样,这是由于认证行为仅在用户接入的时刻进行,认证通过后不再进行合法性检查。
表1和表2分别罗列出802.1x协议与PPPOE、VLAN+WEB的性能比较。
表1:
802.1x与PPPOE认证的技术比较
表2:
802.1x与VLAN+WEB认证的技术比较
三、宽带IP城域网中的认证技术分析
宽带IP城域网建设越来越强调网络的可运营性和可管理性,具体包括:
对用户的认证、计费,IP地址分配、全方位安全机制,对业务的支持能力和运营能力等方面。
其中用户认证技术是可运营、可管理网络的关键。
从严格意义上讲,认证功能包括:
识别和鉴权,对用户的准确有效识别,对用户权限的下发、确认和控制,这些构成了用户计费和各种安全机制实施的前提以及多业务支持和发展的基础。
因此,宽带IP城域网中认证技术的采用必须遵循网络的可运营、可管理要求。
实践证明,PPPOE认证技术、VLAN+WEB认证技术均可很好地支撑宽带网络的计费、安全、运营和管理要求。
对于802.1x认证技术,根据其定位和特点,在宽带城域网中实现用户认证远远达不到可运营、可管理要求,加之应用又少,为了完备用户的认证、管理功能,还需要进行大量协议之外的工作,目前仅有少数几个二/三层交换机厂家在宽带IP城域网中推广此项方式,将802.1x技术附着在L2/L3产品上,使L2/L3产品具备BAS用户认证和管理功能。
如上所述,这种认证方式仅仅能够基于端口的认证,而且不是全程认证,与其它BAS功能(计费、安全机制、多业务支持)难以融合,因而不能称为电信级认证解决方案。
在城域网建设初期,大家对可运营、可管理性的认识还不是很一致,802.1x认证技术可能会有一定的市场空间,随着宽带IP城域网建设的逐步成熟和对可管理的关注,基于端口开关状态的802.1x认证技术不会成为主流。
四、802.1x协议工作机制
以太网技术“连通和共享”的设计初衷使目前由以太网构成的网络系统面临着很多安全问题。
IEEE802.1X协议正是在基于这样的背景下被提出来的,成为解决局域网安全问题的一个有效手段。
在802.1X协议中,只有具备了以下三个元素才能够完成基于端口的访问控制的用户认证和授权。
1.客户端:
一般安装在用户的工作站上,当用户有上网需求时,激活客户端程序,输入必要的用户名和口令,客户端程序将会送出连接请求。
2.认证系统:
在以太网系统中指认证交换机,其主要作用是完成用户认证信息的上传、下达工作,并根据认证的结果打开或关闭端口。
3.认证服务器:
通过检验客户端发送来的身份标识(用户名和口令)来判别用户是否有权使用网络系统提供的网络服务,并根据认证结果向交换机发出打开或保持端口关闭的状态。
在具有802.1X认证功能的网络系统中,当一个用户需要对网络资源进行访问之前必须先要完成以下的认证过程。
在具有802.1X认证功能的网络系统中,当一个用户需要对网络资源进行访问之前必须先要完成以下的认证过程。
1.当用户有上网需求时打开802.1X客户端程序,输入已经申请、登记过的用户名和口令,发起连接请求。
此时,客户端程序将发出请求认证的报文给交换机,开始启动一次认证过程。
2.交换机收到请求认证的数据帧后,将发出一个请求帧要求用户的客户端程序将输入的用户名送上来。
3.客户端程序响应交换机发出的请求,将用户名信息通过数据帧送给交换机。
交换机将客户端送上来的数据帧经过封包处理后送给认证服务器进行处理。
4.认证服务器收到交换机转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字传送给交换机,由交换机传给客户端程序。
5.客户端程序收到由交换机传来的加密字后,用该加密字对口令部分进行加密处理(此种加密算法通常是不可逆的),并通过交换机传给认证服务器。
6.认证服务器将送上来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息,并向交换机发出打开端口的指令,允许用户的业务流通过端口访问网络。
否则,反馈认证失败的消息,并保持交换机端口的关闭状态,只允许认证信息数据通过而不允许业务数据通过。
这里要提出的一个值得注意的地方是:
在客户端与认证服务器交换口令信息的时候,没有将口令以明文直接送到网络上进行传输,而是对口令信息进行了不可逆的加密算法处理,使在网络上传输的敏感信息有了更高的安全保障,杜绝了由于下级接入设备所具有的广播特性而导致敏感信息泄漏的问题。
在802.1X解决方案中,通常采用基于MAC地址的端口访问控制模式。
采用此种模式将会带来降低用户建网成本、降低认证服务器性能要求的优点。
对于此种访问控制方式,应当采用相应的手段来防止由于MAC、IP地址假冒所发生的网络安全问题。
1.对于假冒MAC地址的情况
当认证交换机的一个物理端口下面再级连一台接入级交换机,而该台接入交换机上的甲用户已经通过认证并正常使用网络资源,则此时在认证交换机的该物理端口中就已将甲用户终端设备的MAC地址设定为允许发送业务数据。
假如同一台接入交换机下的乙用户将自己的MAC地址修改得与甲用户的MAC地址相同,则即使乙用户没有经过认证过程也能够使用网络资源了,这样就给网络安全带来了漏洞。
针对此种情况,港湾网络交换机在实现了802.1X认证、授权功能的交换机上通过MAC地址+IP地址的绑定功能来阻止假冒MAC地址的用户非法访问。
对于动态分配IP地址的网络系统,由于非法用户无法预先获知其他用户将会分配到的IP地址,因此他即使知道某一用户的MAC地址也无法伪造IP地址,也就无法冒充合法用户访问网络资源。
对于静态分配地址的方案,由于具有同一IP地址的两台终端设备必然会造成IP地址冲突,因此同时假冒MAC地址和IP地址的方法也是不可行的。
当假冒者和合法用户分属于认证交换机两个不同的物理端口,则假冒者即使知道合法用户的MAC地址,而由于该MAC地址不在同一物理端口,因此,假冒者还是无法进入网络系统。
2.对于假冒IP地址的情况
由于802.1X采用了基于二层的认证方式,因此,当采用动态地址分配方案时,只有用户认证通过后,才能够分配到IP网络地址。
对于静态地址分配策略,如果假冒了IP地址,而没有能够通过认证,也不会与正在使用该地址的合法用户发生地址冲突。
如果用户能够通过认证,但假冒了其他用户的IP地址,则通过在认证交换机上采用IP地址+MAC地址绑定的方式来控制用户的访问接入。
这使得假冒用户无法进行正常的业务通信,从而达到了防止IP地址被篡改、假冒的目的。
3.对于用户口令失窃、扩散的处理
在使用802.1X认证协议的系统中,用户口令失窃和口令扩散的情况非常多,对于这类情况,能够通过在认证服务器上限定同时接入具有同一用户名和口令认证信息的请求数量来达到控制用户接入,避免非法访问网络系统的目的。
交换机802.1X配置
cisco发表于2006-4-113:
29:
00
1 功能需求及组网说明
802.1X配置
『配置环境参数』
1. 交换机vlan10包含端口E0/1-E0/10接口地址10.10.1.1/24
2. 交换机vlan20包含端口E0/11-E0/20接口地址10.10.2.1/24
3. 交换机vlan100包含端口G1/1接口地址192.168.0.1/24
4. RADIUSserver地址为192.168.0.100/24
5. 本例中交换机为三层交换机
『组网需求』
1. PC1和PC2能够通过交换机本地认证上网
2. PC1和PC2能够通过RADIUS认证上网
2 数据配置步骤
『802.1X本地认证流程』
用户输入用户名和密码,报文送达交换机端口,此时交换机相应端口对于此用户来说是非授权状态,报文打上相应端口的PVID,然后根据用户名所带域名送到相应域中进行认证,如果没有带域名就送到缺省域中进行认证,如果存在相应的用户名和密码,就返回认证成功消息,此时端口对此用户变为授权状态,如果用户名不存在或者密码错误等,就返回认证不成功消息,端口仍然为非授权状态。
【SwitchA相关配置】
1. 创建(进入)vlan10
[SwitchA]vlan10
2. 将E0/1-E0/10加入到vlan10
[SwitchA-vlan10]portEthernet0/1toEthernet0/10
3. 创建(进入)vlan10的虚接口
[SwitchA]interfaceVlan-interface10
4. 给vlan10的虚接口配置IP地址
[SwitchA-Vlan-interface10]ipaddress10.10.1.1255.255.255.0
5. 创建(进入)vlan20
[SwitchA-vlan10]vlan20
6. 将E0/11-E0/20加入到vlan20
[SwitchA-vlan20]portEthernet0/11toEthernet0/20
7. 创建(进入)vlan20虚接口
[SwitchA]interfaceVlan-interface20
8. 给vlan20虚接口配置IP地址
[SwitchA-Vlan-interface20]ipaddress10.10.2.1255.255.255.0
9. 创建(进入)vlan100
[SwitchA]vlan100
10. 将G1/1加入到vlan100
[SwitchA-vlan100]portGigabitEthernet1/1
11. 创建进入vlan100虚接口
[SwitchA]interfaceVlan-interface 100
12. 给vlan100虚接口配置IP地址
[SwitchA-Vlan-interface100]ipaddress192.168.0.1255.255.255.0
【802.1X本地认证缺省域相关配置】
1. 在系统视图下开启802.1X功能,默认为基于MAC的认证方式
[SwitchA]dot1x
2. 在E0/1-E0/10端口上开启802.1X功能,如果dot1xinterface后面不加具体的端口,就是指所有的端口都开启802.1X
[SwitchA]dot1xinterfaceeth0/1toeth0/10
3. 这里采用缺省域system,并且缺省域引用缺省radius方案system。
[SwitchA]local-usertest
4. 设置该用户密码(明文)
[SwitchA-user-test]passwordsimpletest
5. 设置该用户接入类型为802.1X
[SwitchA-user-test]service-typelan-access
6. 激活该用户
[SwitchA-user-test]stateactive
【802.1X本地认证自建域相关配置】
1. 在系统视图下开启802.1X功能,默认为基于MAC的认证方式
[SwitchA]dot1x
2. 在E0/1-E0/10端口上开启802.1X功能,如果dot1xinterface后面不加具体的端口,就是指所有的端口都开启802.1X
[SwitchA]dot1xinterfaceeth0/1toeth0/10
3. 设置认证方式为radius
[SwitchA]radiusschemeradius1
4. 设置主认证服务器为本地,端口号1645
[SwitchA-radius-radius1]primary authentication127.0.0.11645
5. 设置主计费服务器为本地,端口号1646
[SwitchA-radius-radius1]primaryaccounting127.0.0.11646
6. 这里本地用户认证采用自建域huawei
[SwitchA]domainHuawei
7. 在域中引用认证方案radius1
[SwitchA-isp-huawei]radius-schemeradius1
8. 设置本地用户名test@huawei
[SwitchA]local-usertest@huawei
9. 设置用户密码(明文)
[SwitchA-user-test@huawei]passwordsimpletest
10. 设置用户接入类型为802.1X
[SwitchA-user-test@huawei]service-typelan-access
11. 激活该用户
[SwitchA-user-test@huawei]stateactive
『802.1XRADIUS认证流程』
用户输入用户名和密码,报文送达交换机端口,此时交换机相应端口对于此用户来说是非授权状态,报文打上相应端口的PVID,然后根据用户名所带域名送到相应域中进行认证,如果该域配置了radius认证方式,那么交换机就把该报文转为radius报文送给相应的认证和计费服务器,认证和计费服务器如果存在相应的用户名和密码,就返回认证成功消息给交换机,此时端口对此用户变为授权状态,如果用户名不存在或者密码错误等,就返回认证不成功消息给交换机,端口仍然为非授权状态。
【802.1XRADIUS认证相关配置】
1. 在系统视图下开启802.1X功能,默认为基于MAC的方式
[SwitchA]dot1x
2. 在E0/1-E0/10端口上开启802.1X功能,如果dot1xinterface后面不加具体的端口,就是指所有的端口都开启802.1X
[SwitchA]dot1xinterfaceeth0/1toeth0/10
3. 设置认证方式为radius,radius认证不成功取本地认证
[SwitchA]radiusschemeradius1
4. 设置主认证服务器
[SwitchA-radius-radius1]primary authentication192.168.0.100
5. 设置主计费服务器
[SwitchA-radius-radius1]primaryaccounting192.168.0.100
6. 设置交换机与认证服务器的密钥,二者应保持一致
[SwitchA-radius-radius1]keyauthenticationtest
7. 设置交换机与计费服务器的密钥,二者应保持一致
[SwitchA-radius-radius1]keyaccountingtest
8. 交换机送给radius的报文不带域名
[SwitchA-radius-radius1]user-name-formatwithout-domain
9. 这里用户认证采用自建域huawei
[SwitchA]domainHuawei
10. 在域中引用认证方案radius1
[SwitchA-isp-huawei]radius-schemeradius1
【802.1X代理检测相关配置】
● 检测到用户使用代理强制用户下线
[SwitchA]dot1xsupp-proxy-checklogoff
● 在指定的端口上检测到用户使用代理强制用户下线
[SwitchA]dot1xsupp-proxy-checklogoffintereth0/1toeth0/10
● 检测到用户使用代理交换机输出trap信息
[SwitchA]dot1xsupp-proxy-checktrap
上述几个配置不要求全配,可以选择任意一个或者组合使用
【二层交换机作isolate-user-vlanradius认证】
● 由于交换机送往radius的报文要进行源地址替换,报文源地址被替换成相应的网关或者管理地址,本地认证不存在此问题
● 如果是三层交换机为例,配置了各个vlan的相应接口地址,由于交换机送往radius的报文要进行源地址替换,报文源地址被替换成相应的网关地址
● 如果是二层交换机作isolate-user-vlan,那么要求isolate-user-vlan上配置IP地址,而且保证此地址能够与radius服务器互通
● 如果是二层交换机开启802.1X,上行口作vlan透传,远端接radius服务器,要求二层交换机配置管理IP地址,保证此地址能够与radius服务器互通
【补充说明】
● 一般情况下接入端用户名需要加上域,本例客户端认证的时候输入用户名时就需要加上域名;
● 可以在系统视图下通过命令domaindefaultenabledomain-name来指定缺省的域名,这样如果用户进行认证的时候没有输入域名,则采用缺省指定域名来进行认证和计费;
● 新的版本也将支持多种认证方式(PAP、CHAP、EAP-MAD5),请在系统视图下通过命令dot1xauthentication-methodxxx来配置(如果命令行没有这条命令,这说明当前版本不支持多种认证方式,只支持缺省的CHAP认证方式。
)
3 测试验证
1. 本地认证缺省域用户上线,需要输入用户名test,密码test
2. 采用自建域的用户上线,需要输入用户名test@huawei,密码test
3. 如果用户为固定分配IP地址,那么属性里不要选择“在连接后自动刷新IP地址”
4. 用户认证通过以后,能够与相应的网关或者radius服务器正常通信