ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:23.01KB ,
资源ID:4300681      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4300681.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(认证原理与实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

认证原理与实现.docx

1、认证原理与实现认证原理与实现RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS也支持厂商扩充厂家专有属性。由于RADIUS协议简单明确,可扩充,因此得到了广泛应用,包括普通电话上网、ADSL上网、小区宽带上网、IP电话、VPDN(Virtual Privat

2、e DialupNetworks,基于拨号用户的虚拟专用拨号网业务)、移动电话预付费等业务。最近IEEE提出了802.1x标准,这是一种基于端口的标准,用于对无线网络的接入认证,在认证时也采用RADIUS协议。历史RADIUS协议最初是由Livingston公司提出的,原先的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议。创立于1966年Merit Network, Inc.是密执安大学的一家非营利公司,其业务是运行维护该校的网络互联MichNet。1987年,Merit在美国NSF(国家科学基金会)的招标中胜出,赢得了NSFnet(即Internet前身)的运

3、营合同。因为NSFnet是基于IP的网络,而MichNet却基于专有网络协议,Merit面对着如何将MichNet的专有网络协议演变为IP协议,同时也要把MichNet上的大量拨号业务以及其相关专有协议移植到IP网络上来。1991年,Merit决定招标拨号服务器供应商,几个月后,一家叫Livingston的公司提出了建议,冠名为RADIUS,并为此获得了合同。1992年秋天,IETF的NASREQ工作组成立,随之提交了RADIUS作为草案。很快,RADIUS成为事实上的网络接入标准,几乎所有的网络接入服务器厂商均实现了该协议。1997年,RADIUS RFC2058发表,随后是RFC2138,

4、最新的RADIUSRFC2865发表于2000年6月。基本工作原理用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Accou

5、nt-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。RADIUS还支持代理和漫游功能。简单地说,代理就是一台服务器,可以作为其他RADIUS服务器的代理,负责转发RADIUS认证和计费数据包。所谓漫游功能,就是代理的一个具体实现,这样可以让用户通过本来和其无关的RADIUS服务器进行认证,用户到非归属运营商所在地也可以得到服务,也可以实现虚拟运营。RADIUS服务器和NAS服务器通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。采用UDP的基本考虑是因为NAS和RADIUS服务器大

6、多在同一个局域网中,使用UDP更加快捷方便,而且UDP是无连接的,会减轻RADIUS的压力,也更安全。RADIUS协议还规定了重传机制。如果NAS向某个RADIUS服务器提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证。协议结构Code 域长度为1个字节,用于标明RADIUS报文的类型,如果Code域中的内容是无效值,报文将被丢弃,有效值如下:1、请求访问(Access-Request);2、接收访问(Acces

7、s-Accept);3、拒绝访问(Access-Reject);4、计费请求(Accounting-Request);5、计费响应(Accounting-Response);11、挑战访问(Access-Challenge);12、服务器状况(Status-Server Experimental);13、客户机状况(Status-Client Experimental);255、预留(Reserved) Identifier匹配请求和响应的标识符。 Length 信息大小,包括头部。 Authenticator 域占用16个字节,用于Radius Client和Server之间消息认证的有效性

8、,和密码隐藏算法。访问请求Access-Request报文中的认证字的值是16字节随机数,认证字的值要不能被预测并且在一个共享密钥的生命期内唯一。1.访问请求认证字在Access-Request包中认证字的值是16字节随机数,认证字的值要不能被预测,并且在一个共享密钥的生命期内唯一;2.访问回应认证字Access-Accept Access-Reject和Access-Challenge包中的认证字称为访问回应认证字,访问回应认证字的值定义为MD5(Code+ID+Length+RequestAuth+Attributes+Secret);3.计费请求认证字在计费请求包中的认证字域称为计费请求

9、认证字,它是一个16字节的MD5校验和,计费请求认证字的值定义为MD5(Code + Identifier + Length+ 16 zero octets + requestattributes+sharedsecret);4.计费回应认证字在计费回应报文中的认证字域称为计费回应认证字,它的值定义为MD5(Accounting-Response Code + Identifier + Length + the RequestAuthenticatorfieldfrom theAccounting-Request packet being replied to +theresponseattr

10、ibutes + shared secret); 基本消息交互流程radius 服务器对用户的认证过程通常需要利用nas 等设备的代理认证功能,radius客户端和radius服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。radius协议合并了认证和授权过程,即响应报文中携带了授权信息。基本交互步骤如下:(1) 用户输入用户名和口令;(2) radius客户端根据获取的用户名和口令,向radius 服务器发送认证请求包(access-request)。(3) radius服务器将该用户信息与users数据库信息进行对比分析,如果认证成功,则将用户的

11、权限信息以认证响应包(access-accept)发送给radius客户端;如果认证失败,则返回access-reject响应包。(4) radius客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,则radius 客户端向radius服务器发送计费开始请求包(accounting-request),status-type 取值为start;(5)radius服务器返回计费开始响应包(accounting-response);(6) radius 客户端向radius服务器发送计费停止请求包(accounting-request),status-type 取值为stop;(7) ra

12、dius服务器返回计费结束响应包(accounting-response)。下面的步骤演示如何在Red Hat Enterprise Linux Advanced Server 3.0上安装和测试FreeRADIUS 1.0.2:清单1 安装和测试FreeRADIUStar -zxvf freeradius-1.0.2.tar.gz - extract it with gunzip and tar./configuremakemake install - run this command as rootradiusd or - start RADIUS serverradiusd -X - s

13、tart RADIUS server in debug moderadtest test test localhost 0 testing123 - test RADIUS server如果radtest收到一个响应,则表明FreeRADIUS服务器工作正常。同时我还推荐另一种免费工具,那就是NTRadPing,它可用于测试来自Windows客户机的验证和授权请求。它可以显示从RADIUS服务器发回的详细的响应,例如属性值。现在让我们来配置FreeRADIUS。配置FreeRADIUSRADIUS服务器的配置包括对服务器、客户机和用户的配置(都是用于验证和授权)。出于不同的需要,对RADIUS

14、服务器可以有不同的配置。幸运的是,大多数配置都是类似的。* 配置服务器FreeRADIUS配置文件通常位于/etc/raddb文件夹下。首先,我们需要像下面这样修改radiusd.conf文件。清单2 修改radiusd.conf1) Global settings:log_auth = yes - log authentication requests to the log filelog_auth_badpass = no - dont log passwords if request rejectedlog_auth_goodpass = no - dont log passwords

15、if request accepted2) LDAP Settings:modules ldap server = - the hostname or IP address of the LDAP server port = 636 - encrypted communications basedn = ou=bluepages,o= - define the base Distinguished Names (DN), - under the Organization (O) , - in the Organization Unit (OU) bluepages filter = (mail

16、=%u) - specify search criteria base_filter = (objectclass=person) - specify base search criteria authenticate - enable authentication against LDAP Auth-Type LDAP ldap 参数被设为使用 IBM BluePages,这是LDAP服务的一个实例。对于其他LDAP服务器,参数可能有所不同。* 配置客户机客户机是在/etc/raddb/clients.conf 文件中配置的。有两种方式可用于配置RADIUS客户机。您可以按IPsubnet将

17、NAS分组(清单 3),或者可以按主机名或 IP 地址列出NAS(清单4)。如果按照第二种方法,可以定义shortname和nastype。清单3 按IP subnet将NAS分组client 192.168.0.0/24 secret = mysecret1 - the secret should be the same as configured on NAS shortname = mylan - the shortname can be used for logging nastype = cisco - the nastype is used for checkrad and is

18、optional清单4 按主机名或 IP 地址列出 NASclient 192.168.0.1 secret = mysecret1 shortname = myserver nastype = other* 为验证而配置用户文件 /etc/raddb/user 包含每个用户的验证和配置信息。清单5 /etc/raddb/user 文件1) Authentication type:Auth-Type := LDAP - authenticate against LDAPAuth-Type := Local, User-Password = mypasswd - authenticate aga

19、inst the - password set in /etc/raddb/userAuth-Type := System - authenticate against the system password file - /etc/passwd or /etc/shadow2) Service type:Service-Type = Login, - for administrative login* 为授权而配置用户下面的验证服务器属性-值对(AV)应该为用户授权而进行配置。在验证被接受后,这个属性-值对被返回给NAS,作为对管理员登录请求的响应。对于Cisco路由器,有不同的权限级别:级

20、别1是无特权(non-privileged)。提示符是 router,这是用于登录的默认级别。级别15是特权(privileged)。 提示符是 router#,这是进入 enable 模式后的级别。级别2到14 在默认配置中不使用。下面的命令可以使一个用户从网络访问服务器登录,并获得对EXEC命令的立即访问:cisco-avpair =shell:priv-lvl=15下面的代码处理相同的任务,这一次是对于Cisco无线访问点:Cisco:Avpair= aironet:admin-capability=write+snmp+ident+firmware+admin任何功能组合都和这个属性一

21、起返回:Cisco:Avpair = aironet:admin-capability=ident+adminCisco:Avpair = aironet:admin-capability=admin请与 Cisco 联系,以获得关于这些命令的更多信息。配置网络访问服务器接下来我们将配置NAS,首先是配置一个Cisco路由器,然后轮到一个Cisco WAP。对于Cisco IOS 12.1路由器,我们将启用AAA,然后配置验证、授权和记帐。清单6 启用AAAaaa new-modelradius-server host 192.168.0.100radius-server key mysecr

22、et1AAA 在路由器上应该被启用。然后,指定能为 NAS 提供 AAA 服务的 RADIUS 服务器的列表。加密密钥用于加密 NAS 和 RADIUS 服务器之间的数据传输。它必须与 FreeRADIUS 上配置的一样。清单7 配置验证aaa authentication login default group radius localline vty 0 4login authentication default在这个例子中,网络管理员使用 RADIUS 验证。如果 RADIUS 服务器不可用,则使用 NAS 的本地用户数据库密码。清单8 配置授权aaa authorization exe

23、c default group radius if-authenticated允许用户在登录到 NAS 中时运行 EXEC shell。清单9 配置记帐aaa accounting system default start-stop group radiusaaa accounting network default start-stop group radiusaaa accounting connection default start-stop group radiusaaa accounting exec default stop-only group radiusaaa accoun

24、ting commands 1 default stop-only group radiusaaa accounting commands 15 default wait-start group radius必须对路由器进行特别的配置,以使之发送记帐记录到RADIUS服务器。使用清单9中的命令记录关于NAS系统事件、网络连接、输出连接、EXEC操作以及级别1和级别15上的命令的记帐信息。这样就好了。现在让我们看看为Cisco无线访问点而进行的配置。下面的配置适用于带有Firmware 12.01T1的Cisco 1200 Series AP。如图2中的屏幕快照所示,您:* 输入服务器名或 IP

25、 地址和共享的秘密。* 选择“Radius”作为类型,并选中“User Authentication”。记帐:工作中的RADIUS现在所有配置都已经完成,FreeRADIUS服务器可以开始记录NAS发送的所有信息,将该信息存储在/var/log/radius/radius.log文件中,就像这样:清单10 /var/log/radius/radius.log文件Thu Mar 3 21:37:32 2005 : Auth: Login OK: David (from client mylan port 1 cli 192.168.0.94)Mon Mar 7 23:39:53 2005 : A

26、uth: Login incorrect: John (from client mylan port 1 cli 192.168.0.94)详细的记帐信息被存放在/var/log/radius/radacct目录中。清单11表明,David在2005年3月4日19:40到19:51这段时间里从 192.168.0.94登录到了路由器192.168.0.1。这么详细的信息对于正在调查安全事故以及试图维护易于审计的记录的管理员来说无疑是一大帮助。清单11 RADIUS 提供的记帐细节示例Fri Mar 4 19:40:12 2005 NAS-IP-Address = 192.168.0.1 NAS

27、-Port = 1 NAS-Port-Type = Virtual User-Name = David Calling-Station-Id = 192.168.0.94 Acct-Status-Type = Start Acct-Authentic = RADIUS Service-Type = NAS-Prompt-User Acct-Session-Id = 00000026 Acct-Delay-Time = 0 Client-IP-Address = 192.168.0.1 Acct-Unique-Session-Id = 913029a52dacb116 Timestamp = 1

28、109936412Fri Mar 4 19:51:17 2005 NAS-IP-Address = 192.168.0.1 NAS-Port = 1 NAS-Port-Type = Virtual User-Name = David Calling-Station-Id = 192.168.0.94 Acct-Status-Type = Stop Acct-Authentic = RADIUS Service-Type = NAS-Prompt-User Acct-Session-Id = 00000026 Acct-Terminate-Cause = Idle-Timeout Acct-Session-Time = 665 Acct-Delay-Time = 0 Client-IP-Address = 192.168.0.1 Acct-Unique-Session-Id = 913029a52dacb116 Timestamp = 1109937077结束语通过遵循本文中列出的简单步骤,您可以建立一个Remote Authentication Dial-In User Ser

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1