RADIUS原理介绍及其在Linux下的搭建_第1页
RADIUS原理介绍及其在Linux下的搭建_第2页
RADIUS原理介绍及其在Linux下的搭建_第3页
RADIUS原理介绍及其在Linux下的搭建_第4页
RADIUS原理介绍及其在Linux下的搭建_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RADIUS原理介绍及其在 Lin ux下的搭建RADIUS主要用于对远程拨入的用户进行授权和认证。它可以仅使用单一的数据库”对用户进行认证(效验用户名和口令)。它主要针对的远程登录类型有:SLIP、PPP、telnet禾口 rlogin等。其主要特征有:1 .客户机/服务器(C/S)模式一个网络接入服务器(以下简称NAS)作为RADIUS的客户机,它负责将用户信息传入 RADIUS服务器,然 后按照RADIUS服务器的不同的响应来采取相应动作。另外, RADIUS服务器还可以充当别的 RADIUS服 务器或者其他种类认证服务器的代理客户。2 .网络安全(Network Security )N

2、AS和RADIUS服务器之间的事务信息交流由两者共享的密钥进行加密,并且这些信息不会在两者之间泄漏出去3 .灵活认证机制( Flexible Authentication Mechanisms)RADIUS服务器支持多种认证机制。它可以验证来自PPP、PAP、CHAP和UNIX系统登录的用户信息的有效性4 .协议可扩展性(Extensible Protocol)所有的认证协议都是基于 属性-长度-属性值”3元素而组成的。所以协议是扩展起来非常方便。在目前很多比较高版本的Linux中,它们都把RADIUS的安装程序包含在系统源码中。这样使得我们可以很容易地通过免费的Linux 系统学习RADIU

3、S授权、认证的原理和应用。要弄清楚RADIUS协议为何能实现授权和认证,我们必须应该从四个方面去认识RADIUS协议:协议基本原理、数据包结构、数据包类型、协议属性。下面我们就来详细地介绍这些 内容。协议基本原理NAS提供给用户的服务可能有很多种。比如,使用tel net时,用户提供用户名和口令信息,而使用PPP时,则是用户发送带有认证信息的数据包。NAS 一旦得到这些信息,就制造并且发送一个 “ Access - Request ”数据包给RADIUS服务 器,其中就包含了用户名、口令(基于MD5加密)、NAS的ID号和用户访问的端口号。如果RADIUS服务器在一段规定的时间内没有响应,则

4、NAS会重新发送上述数据包;另外 如果有多个RADIUS服务器的话,NAS在屡次尝试主RADIUS服务器失败后,会转而使用 其他的RADIUS服务器。RADIUS服务器会直接抛弃那些没有加共享密钥”(Shared Secret )的请求而不做出反应。如果数据包有效,则 RADIUS服务器访问认证数据库,查找此用户是否存在。如果存 在,则提取此用户的信息列表,其中包括了用户口令、访问端口和访问权限等。当一个RADIUS服务器不能满足用户的需要时,它会求助于其他的RADIUS服务器,此时它本身充当了一个客户端。如果用户信息被否认, 那么RADIUS服务器给客户端发送一个“Access - Reje

5、ct ”数据包, 指示此用户非法。如果需要的话,RADIUS服务器还会在此数据包中加入一段包含错误信息 的文本消息,以便让客户端将错误信息反馈给用户。数据包给客户端, 并相反,如果用户被确认,RADIUS服务器发送 “Access - Challenge且在数据包中加入了使客户端反馈给用户的信息,其中包括状态属性。接下来,客户端提示17RADIUS服务器提用户做出反应以提供进一步的信息,客户端得到这些信息后,就再次向交带有新请求ID的“Access - Request” 数据包,和起初的“Access - Request” 数据包内 容不一样的是:起初“Access - Request数据包中

6、的用户名/ 口令”信息被替换成此用户当前的反应信息(经过加密),并且数据包中也包含了“Access - Challenge ”中的状态属性(表示为0或1 )。此时,RADIUS服务器对于这种新的“Access - Request 可以有三种反应:“ Access - Accept ” 、 “ Access - Reject ” 或 “Access - Challenge ”。如果所有的要求都属合法,型(SLIP, PPP, Login User括了 IP地址、子网掩码、RADIUS返回一个“Access - Accept”回应,其中包括了服务类等)和其附属的信息。例如:对于SLIP和PPP,回

7、应中包MTU和数据包过滤标示信息等。数据包结构RADIUS数据包被包装在 UDP数据报的数据块(Data field)中,其中的目的端口为1812。具体的数据包结构如表1。8位8位16位codedentifierLengthAuthenticator (128 位)Attributes (不定长)-Code Code域长度为8位,具体取值见表2。其中,1、2、3用于用户认证,而4、5则是统计流量用, 12、13用于试验阶段,255作为保留。code含义1Access-Request2Access-Accept3Access-Reject4Accounting-Request55Accounti

8、ng-Response11Access-Challenge12Status-Server(experimenta)13Status-client(experimenta)255Reserved Length 长度为 16 位,取值范围(20=Lengthcreate database radius; /仓U建 radius 数据库/添加radius 用户Mysqlgrant all on radius.* on radiuslocalhost identified byradiusLinux#mysqladmin u root p refresh /刷新数据库内容然后,导入 dictionary 内容,使radius.dictionary数据表中包含了基本的属性(ATTRIBUTE) 和属性值(VALUE)等信息。Linux# ./dictimport.pl ./raddb/dictionaryRadius数据库结构如表10所示Radius 数据库dictionaryradgroupcheckhintsradgroupreplynasradreplyradacctrealmgroupradact_summaryrealmsradcheckusergroup4.启动 radiusdLinu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论