版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络技术培训之
宽带产品技术支持部
2002/3Radius原理与应用一、基本概念二、RADIUS协议概述三、RADIUS主要特性四、RADIUS协议属性和Debug信息一、基本概念基本概念名词解释AAA可以通过两种途径实现:1、在NAS端进行认证、授权和计费;2、通过协议进行远程的认证、授权和记帐。实现AAA的协议有RADIUS、Kerberos、TACACS+等(我们使用的是RADIUS协议)。AAA实现途径RADIUS是RemoteAuthenticationDialInUserService的简称,MA5200、ISN8850和MD5500上目前使用RADIUS完成对PPP用户的认证、授权和计费。当用户想要通过某个网络(如电话网)与NAS建立连接从而获得访问其他网络的权利时,NAS可以选择在NAS上进行本地认证计费,或把用户信息传递给RADIUS服务器,由Radius进行认证计费;RADIUS协议规定了NAS与RADIUS服务器之间如何传递用户信息和记账信息;RADIUS服务器负责接收用户的连接请求,完成验证,并把传递服务给用户所需的配置信息返回给NAS。AAA实现途径本地认证——PAP
本地(NAS)验证——PAP方式:我查……我验……CHAP(ChallengeHandshakeAuthenticationProtocol)是查询握手验证协议的简称,是我们使用的另一种认证协议。
本地(NAS)验证——CHAP方式:本地认证——CHAP我查……我算……我验……本地认证——CHAP
远端(Radius)验证——PAP方式:远端认证——PAP我查……我算……我验……
远端(Radius)验证——CHAP方式:远端认证——CHAP我查……我算……我验……二、RADIUS协议概述Raidus(RemoteAuthenticationDialInUserService)是对远端拨号接入用户的认证服务,Radius服务分客户端和服务器端,通常我们公司的接入产品支持的是客户端,负责将认证等信息按照协议的格式通过UDP包送到服务器,同时对服务器返回的信息解释处理。
通常对Radius协议的服务端口号是1645(认证)、1646(计费)或1812(认证)、1813(计费)。Radius协议包结构各个域的解释:1、Code:包类型;1字节;指示RADIUS包的类型。
2、Identifier:包标识;1字节;用于匹配请求包和响应包,同一组请求包和响应包的Identifier应相同。3、Length:包长度;2字节;整个包的长度。4、Authenticator:验证字;16字节;用于对包进行签名。Radius协议包各个域解释1)Code:包的类型包类型占1个字节,定义如下:
1Access-Request——请求认证过程
2Access-Accept——认证响应过程
3Access-Reject——认证拒绝过程
4Accounting-Request——请求计费过程
5Accounting-Response——计费响应过程
*12Status-Server(experimental)——实验的*13Status-Client(experimental)——实验的*255Reserved——保留的Radius协议包:code域RadiusServer与NAS在全网中的位置NASNASRadius认证计费过程1、用户拨入后(1),所拨入的设备(比如NAS)将拨入用户的用户的信息(比如用户名、口令、所占用的端口等等)打包向RADIUS服务器发送(2)。2、如果该用户是一个合法的用户,那么Radius告诉NAS该用户可以上网,同时传回该用户的配置参数(3);否则,Radius反馈NAS该用户非法的信息(3)。3、如果该用户合法,MAS就根据从RADIUS服务器传回的配置参数配置用户(4)。如果用户非法,NAS反馈给用户出错信息并断开该用户连接(4)。4、如果用户可以访问网络,RADIUS客户要向RADIUS服务器发送一个记费请求包表明对该用户已经开始记费(5),RADIUS服务器收到并成功记录该请求包后要给予响应(6)。5、当用户断开连接时(连接也可以由接入服务器断开)(7),RADIUS客户向RADIUS服务器发送一个记费停止请求包,其中包含用户上网所使用网络资源的统计信息(上网时长、进/出的字节/包数等)(8),RADIUS服务器收到并成功记录该请求包后要给予响应(9)。NASRadius认证计费过程NASRadius认证计费过程1、RADIUS的通信是用“请求
-响应”方式进行的,即:客户发送一个请求包,服务器收到包后给予响应。2、RADIUS协议采用的是UDP协议,数据包可能会在网络上丢失,如果客户没有收到响应,那么可以重新发送该请求包。多次发送之后如果仍然收不到响应,RADIUS客户可以向备用的RADIUS服务器发送请求包。2)Identifier:包标识包标识,用以匹配请求包和响应包。该字段的取值范围为0~255;协议规定:1、在任何时间,发给同一个RADIUS服务器的不同包的Identifier域不能相同,如果出现相同的情况,RADIUS将认为后一个包是前一个包的拷贝而不对其进行处理。2、Radius针对某个请求包的响应包应与该请求包在Identifier上相匹配(相同)。Radius协议包:Identifier域3)Length:包长度整个包长度,包括Code,Identifier,Length,Authenticator,Attributes域的长度。Radius协议包:Length域4)Authenticator:验证字该验证字分为两种:
1、请求验证字---RequestAuthenticator
用在请求报文中,必须为全局唯一的随机值。
2、响应验证字---ResponseAuthenticator
用在响应报文中,用于鉴别响应报文的合法性。
响应验证字=MD5(Code+ID+Length+请求验证字+Attributes+Key)Radius协议包:Authenticator域加密以后你还能认出我来吗?5)Attributes:属性
Radius协议包:Authenticator域010a62656e6c6164656eAttribute(1)属性长度为10字节benladen上网用户:本·拉登上网地点:阿富汗……
……三、RADIUS主要特性Radius协议主要特性Radius是一种流行的AAA协议,同时其采用的是UDP协议传输模式,AAA协议在协议栈中位置如下:Radius协议在协议栈中的位置Radius协议1)为什么使用UDP?
1、NAS和RADIUS服务器之间传递的一般是几十至上百个字节长度的数据,用户可以容忍几秒到十几秒的验证等待时间。当处理大量用户时服务器端采用多线程,UDP简化了服务器端的实现过程。2、TCP是必须成功建立连接后才能进行数据传输的,这种方式在有大量用户使用的情况下实时性不好。3、当向主用服务器发送请求失败后,还要必须向备用的服务器发送请求。于是RADIUS要有重传机制和备用服务器机制,它所采用的定时,TCP不能很好的满足。Radius协议选择UDP作为传输层协议2)Client/Server结构RADIUS采用客户/服务器(Client/Server)结构:1、RADIUS的客户端通常运行于接入服务器(NAS)上,RADIUS服务器通常运行于一台工作站上,一个RADIUS服务器可以同时支持多个RADIUS客户(NAS)。2、RADIUS的服务器上存放着大量的信息,接入服务器(NAS)无须保存这些信息,而是通过RADUIS协议对这些信息进行访问。这些信息的集中统一的保存,使得管理更加方便,而且更加安全。3、RADIUS服务器可以作为一个代理,以客户的身份同其他的RADIUS服务器或者其他类型的验证服务器进行通信。用户的漫游通常就是通过RADIUS代理实现的。NASVSRadiusClientVSServer3)网络安全RADIUS协议的加密是使用MD5加密算法进行的,在RADIUS的客户端(NAS)和服务器端(RadiusServer)保存了一个密钥(key),RADIUS协议利用这个密钥使用MD5算法对RADIUS中的数据进行加密处理。密钥不会在网络上传送。RADIUS的加密主要体现在两方面:1、包加密:在RADIUS包中,有16字节的验证字(authenticator)用于对包进行签名,收到RADIUS包的一方要查看该签名的正确性。如果包的签名不正确,那么该包将被丢弃,对包进行签名时使用的也是MD5算法(利用密钥),没有密钥的人是不能构造出该签名的。2、口令加密:在认证用户时,用户的口令不会在网上明文传送,而是使用了MD5算法对口令进行加密。没有密钥的人是无法正确加密口令的,也无法正确地对加密过的口令进行解密。网络安全安全第一MD5是一个算法,它的输入是一段内存,输出是一个16字节的摘要,它的运算是单向的,即从输出推算不出输入。MD5算法不好意思,我只会把您的手表变成兔子,变不回去了……MD5
包的签名与加密:
包的签名指的是RADIUS包中16字节的Authenticator,我们称其为“验证字”。认证请求包RequestAuth=Authenticator,认证请求包的验证字是一个不可预测的16字节随机数。这个随机数将用于口令的加密。认证响应包ResponseAuth=MD5(Code+ID+Length+Authenticator+Attributes+Key)。记费请求包RequestAcct=MD5(Code+ID+Length+16ZeroOctets+Attributes+Key)。记费响应包ResponseAcct=MD5(Code+ID+Length+RequestAcct+Attributes+Key)。包的签名与加密口令的加密
远端(Radius)验证——PAP方式:远端认证——PAP我查……我算……我验……如果用户配置了RADIUS验证,其PAP验证过程如下:
采用PAP验证:用户以明文的形式把用户名和他的密码传递给NAS。NAS把用户名和加密过的密码放到验证请求包的相应属性中传递给RADIUS服务器,根据RADIUS服务器的返回结果来决定是否允许用户上网。远端认证——PAP用户名、密码放行远端认证——PAP例1:用户telnet到特定的主机例1:1)NAS:192.168.1.16发送Access-RequestUDP数据包到RADIUSServer。
User-name:nemoPortloggingin:3Code=2(Access-Accept)ID=0(sameasinAccess-Request)Length=38ResponseAuthenticator={16-octetMD-5checksumofthecode(2),id(0),Length(38),theRequestAuthenticatorfromabove,theattributesinthisreply,andthesharedsecret}Attributes:Service-Type=Login-UserLogin-Service=TelnetLogin-Host=192.168.1.32)RADIUSserver验证了nemo,并且发送了Access-AcceptUDP数据包到接入服务器,告诉把用户nemo登陆到主机192.168.1.3.例1:用户telnet到特定的主机
远端(Radius)验证——CHAP方式:远端认证——CHAP我查……我算……我验……如果用户配置了RADIUS验证,其CHAP验证过程如下:远端认证——CHAP远端认证——CHAP例2:用户端进行CHAP验证例2:接入服务器192.168.1.16发送一个Access-RequestUDP数据包到RADIUSServer。
User-name:floppyPortloggingin:20Protocol:PPP接入服务器发送的数据包包含属性Service-Type=Frameduser,Framed-Protocol=PPP暗示RADIUSserver这个用户要使用PPP服务。Code=2(Access-Accept)ID=1(sameasinAccess-Request)Length=56ResponseAuthenticator={16-octetMD-5checksumofthecode(2),id(1),Length(56),theRequestAuthenticatorfromabove,theattributesinthisreply,andthekey}Attributes:Service-Type=Framed-UserFramed-Protocol=PPPFramed-IP-Address=255.255.255.254Framed-Routing=NoneFramed-Compression=1(VJTCP/IPHeaderCompression)Framed-MTU=1500RADIUSserver验证floppy,并发送Access-AcceptUDP数据包到NAS告诉NAS可以允许PPP服务并从它的动态地址池中分配一个网络地址给用户。例2:用户端进行CHAP验证4)灵活的验证机制RADIUS协议允许服务器支持多种验证方式,比如PPP的PAP和CHAP、UNIX登录以及其他认证机制。通常的RADIUS服务器都支持PAP,但有些RADIUS服务器不支持CHAP,原因在于有些RADIUS服务器在保存用户的口令时是加密保存的。而要验证一个CHAP用户的合法性,必须能够获得该用户的明文口令才行。验证机制5)扩展性RADIUS协议具有很好的扩展性。RADIUS包是由包头和一定数目的属性(Attribute)构成的。新属性的增加不会影响到现有协议的实现。
通常的NAS厂家在生产NAS时,还同时开发与之配套的RADIUS服务器。为了提供一些功能,常常要定义一些非标准的(RFC上没有定义过的)属性。关于各个厂家有那些扩展的属性,一般可以从相应的RADIUS服务器的字典(dictionary)文件中找到。扩展性计费保护:由于计费是个用户敏感的问题,我们提供的计费信息要求准确外更要求完备,不能丢失话单,而Radius计费服务器的计费很容易受通讯不畅或计费服务器工作超负荷等意外因素的影响而丢失话单,为此我们提供了本地计费的保护能力,即话单从NAS发送出去以后如果没有收到计费服务器的确认信息我们就认为计费失败,并将该话单(不论是实时计费中间话单还是离线话单)送到本地话单池中。四、RADIUS协议属性和Debug信息Radius协议主要特性
认证报文的常用属性(1):属性值属性名称 意义13 Framed-Compression 该连接使用压缩协议14 Login-IP-Host对login用户提供的可连接主机的ip地址15 Login-Service对login用户可提供的服务16Login-TCP-Port TCP服务端口18 Reply-Message认证服务器返回用户的信息24 State 认证服务器发送challenge包时传送的需在接下来的认证报文中回应的字符串(与Acess-Challenge相关的属性)25Class 认证通过时认证服务器返回的字符串信息,要求在该用户的计费报文中送给计费服务器
认证报文的常用属性(2):属性值属性名称 意义26Vendor-Specific可扩展属性27 Session-Timeout 在认证通过报文或Challenge报文中,通知NAS该用户可用的会话时长(时长预付费)28 Idle-Timeout允许用户空闲在线的最大时长32NAS-Identifier标识NAS的字符串33 Proxy-StateNAS通过代理服务器转发认证报文时服务器添加在报文中的属性60Chap-Challenge 可以代替认证字字段传送challenge的属性61 Nas-Port-Type 接入端口的类型62 Port-Limit 服务器限制NAS为用户开放的端口数
认证报文的常用属性(3):
认证报文的常用属性(4):华为ISN8850与Radius对接测试用例
如何在NAS中查看Radius报文信息?
以ISN88505008SP1为例:ESR#debugradiuspacketESR#terminaldebugging%Currentterminaldebuggingison用户认证计费常见过程
用户上线——第一式:LCP链路协商ESR#*0.18990450-PPP-debug-debug2:PPPEvent:Virtual-Template1:1LCPOpenEventstateinitial*0.18990590-PPP-debug-debug2:PPPEvent:Virtual-Template1:1LCPLowerUpEventstatestarting*0.18990730-PPP-debug-debug2:PPPEvent:Virtual-Template1:1LCPRCR+(ReceiveConfigGoodRequest)Eventstatereqsent*0.18992950-PPP-debug-debug2:PPPEvent:Virtual-Template1:1LCPTO+(Timeoutwithcounter>0)Eventstateacksent,Retransmit=2
用户上线——第二式:认证请求(code=1)
用户上线——第三式:认证响应(code=2)*0.18993900-AAA-debug-Packet:receiveradiuspacketfrom192.168.10.4:1812
code=2
id=19length=74184cac52e499a55f68ac8e233c70d75attribute(85)(Realtime-Interval):0x258attribute(5)(NAS-Port):0x1513dattribute(25)(Class):128attribute(6)(User-Service):0x2attribute(7)(Framed-Protocol):0x1attribute(13)(Framed-Compression):0x1attribute(10)(Framed-Routing):0x1*0.18994520-AAA-debug-Packet:attribute(11)(Framed-Filter):1
用户上线——第四式:计费开始请求(code=4)*0.18994810-AAA-debug-Packet:sendradiuspacketto192.168.10.4:1813
code=4
id=20length=102ef31f35452717146a298d487ca8
attribute(40)(Acct-Status-Type):0x1attribute(32)(NAS-Name):ESRattribute(8)(Framed-Address):0xa0a0a01attribute(7)(Framed-Protocol):0x1attribute(1)(User-name):user1attribute(5)(NAS-Port):0x0attribute(61)(NAS-Port-Type):0x5attribute(44)(Acct-Session-Id):03082027130000000011*0.18995400-AAA-debug-Packet:attribute(45)(Acct-Authentic):0x1attribute(193)(Acct-Timestamp):0x4a31attribute(41)(Acct-Delay-Time):0x0计费开始1—RADIUS2—Local3—Remote5—Virtual
用户上线——第五式:计费响应(code=5)*0.18995750-AAA-debug-Packet:receiveradiuspacketfrom192.168.10.4:1813
code=5
id=20length=2018ce526ab7f503717416a5bc42c08a
用户上线——第六式:实时计费之认证响应(code=2)实时计费间隔为180秒分解动作之一:*0.169338370-AAA-debug-Packet:sendradiuspacketto192.168.10.4:1813
code=4id=31length=207e4677ff59decb482d615355deabdb0ac
attribute(40)(Acct-Status-Type):0x3attribute(25)(Class):128attribute(32)(NAS-Name):ESRattribute(8)(Framed-Address):0xa0a0a01attribute(7)(Framed-Protocol):0x1attribute(1)(User-name):user1attribute(5)(NAS-Port):0x28000060attribute(61)(NAS-Port-Type):0x5
用户在线——第七式:实时计费之计费请求(code=4)实时计费包
用户在线——第七式:实时计费之计费请求(code=4)分解动作之二:*0.169338940-AAA-debug-Packet:attribute(44)(Acct-Session-Id):03101407580000000102attribute(45)(Acct-Authentic):0x1attribute(193)(Acct-Timestamp):0x2957aattribute(55)(Event-Timestamp):0x00x20x950x7aattribute(41)(Acct-Delay-Time):0x0attribute(87)(Nas-Port-Id):slot=10;subslot=0;port=0;VPI=1;VCI=32;attribute(6)(User-Service):0x2attribute(7)(Framed-Protocol):0x1
attribute(42)(Acct-Input-Octets):0x7fd4*0.169339520-AAA-debug-Packet:
attribute(43)(Acct-Output-Octets):0x6174attribute(47)(Acct-Input-Packets):0x122attribute(48)(Acct-Output-Packets):0x10eattribute(52)(Acct-Input-Gigawords):0x0attribute(53)(Acct-output-Gigawords):0x0
attribute(46)(Acct-Session-Time):0x12c用户上传字节用户下载字节用户计费时长分解动作之一:*0.19379310-AAA-debug-Packet:sendradiuspacketto192.168.10.4:1813
code=4
id=26length=1681ccb875297a2727b7632cbdb493ca349
attribute(40)(Acct-Status-Type):0x2attribute(32)(NAS-Name):ESRattribute(8)(Framed-Address):0xa0a0a01attribute(7)(Framed-Protocol):0x1attribute(1)(User-name):user1attribute(5)(NAS-Port):0x0attribute(61)(NAS-Port-Type):0x5attribute(44)(Acct-Session-Id):03082033090000000014
用户下线——第八式:计费结束请求(code=4)计费结束分解动作之二:*0.19379900-AAA-debug-Packet:attribute(45)(Acct-Authentic):0x1attribute(193)(Acct-Timestamp):0x4bb3attribute(41)(Acct-Delay-Time):0x0attribute(49)(Acct-Terminate-Cause):0x1attribute(111)(Input-Kilobytes-Before-Tariff-Switch):0x4attribute(115)(Input-Kilobytes-After-Tariff-Switch):0x4attribute(112)(Output-Kilobytes-Before-Tariff-Switch):0x0attribute(116)(Output-Kilobytes-After-Tariff-Switch):0x0*0.19380460-AAA-debug-Packet:attribute(113)(Input-Packets-Before-Tariff-Switch):0x29attribute(117)(Input-Packets-After-Tariff-Switch):0x29attribute(114)(Output-Packets-Before-Tariff-Switch):0x0attribute(118)(Output-Packets-After-Tariff-Switch):0x0attribute(72)(Time-Befor-Tariff-Switch):0x1dattribute(73)(Time-After-Tariff-Switch):0x1d
用户下线——第八式:计费结束请求(code=4)*0.19380930-AAA-debug-Packet:receiveradiuspacketfrom192.168.10.4:1813
code=5
id=26length=201898f0cd9245591251c3e33f6684f6
用户下线——第九式:计费响应(code=5)
用户上线——败招之一:密码错误
用户上线——败招之二:非法用户CHAP认证:*0.83248920-AAA-debug-Packet:sendradiuspacketto192.168.10.4:1812
code=1id=49length=121
d1c9529ba526fe8768341de68a72a127attribute(1)(User-name):user1
attribute(3)(Challenge-Response):0x10x7d0x2f0x150x110x970x7b0x480xc00xec0xb70x630x340x810x480xd90x9d
attribute(60)(CHAP-Challenge):0xd10xc90x520x9b0xa50x260xfe0x870x680x340x1d0xe60x8a0x720xa10x27attribute(6)(User-Service):0x2*0.83249500-AAA-debug-Packet:attribute(7)(Framed-Protocol):0x1attribute(4)(NAS-IP-Address):0xc0a80a0aattribute(32)(NAS-Identifier):ESRattribute(127)(Connect-Id):0xf00001cattribute(61)(NAS-Port-Type):0x5attribute(128)(Connect-Port):ESR-10000010032@vlanNAS分配IP地址:认证响应包中无Framed-IP-Address,证明用户IP未由Radius分配,只好由NAS自行分配。这么小气,连个IP都不给,只好自己解决了!NAS你长得这么丑,有IP也不给!RadiusNAS分配IP地址:*0.18994810-AAA-debug-Packet:sendradiuspacketto192.168.10.4:1813
code=4id=20length=102ef31f35452717146a298d487ca8attribute(40)(Acct-Status-Type):0x1attribute(32)(NAS-Name):ESR
attribute(8)(Framed-Address):0xa0a0a01attribute(7)(Framed-Protocol):0x1attribute(1)(User-name):user1attribute(5)(NAS-Port):0x0attribute(61)(NAS-Port-Type):0x5attribute(44)(Acct-Session-Id):03082027130000000011*0.18995400-AAA-debug-Packet:attribute(45)(Acct-Authentic):0x1attribute(193)(Acct-Timestamp):0x4a31attribute(41)(Acct-Delay-Time):0x0好心痛啊,我又损失了一个IP!NASRadius分配IP地址:有,有,有,要多少都有……Radius请问你有IP吗?NASRadius分配IP地址:*0.280623570-AAA-debug-Packet:sendradiuspacketto192.168.10.4:1813
code=4id=172length=1933
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全员证考试题库含答案
- 2026年银行招聘考试试题及答案
- 2026年九江市浔阳区网格员招聘笔试备考试题及答案解析
- 2026年黑龙江安全员A证考试题库及答案
- 2026年国企人事笔试题目及答案
- 【2026年】2025四川省国投资产托管公司招聘4人笔试参考题库带答案
- 金山区2025-2026学年第二学期期末考试八年级数学试卷及答案(沪教版上海新教材)
- 英语口语比赛演讲稿
- 2026年陕西省中考历史试卷(含答案)
- 关于项目管理培训的商洽函6篇范文
- 2026年国企财务笔试题目及答案高分
- 2026年临床执业医师资格考试医学综合笔试(第一单元)真题卷(后附答案解析)
- 2026年保密教育线上培训考试答案汇-总
- 2025-2026学年人教版PEP五年级英语下册全册单词表(带音标)
- Q∕320116 BL001-2025 BL螺锁式预应力混凝土实心异型方桩
- 2025-2026学年人教版六年级语文下册全册知识点总结(完整版)
- 六年级下语文期末总复习1-6单元押题考点
- 2026汽车线控制动系统功能安全要求与冗余设计报告
- 部编版六年级下册1-8单元作文范文
- 2026中国智能客服系统企业采纳度与效果评估报告
- 2026年水利安全生产考核b证练习题附答案详解(基础题)
评论
0/150
提交评论