网络故障(network failure)是指由于硬件的问题、软件的漏洞、病毒的侵入等引起网络无法提供正常服务或降低服务质量的状态。 1.摘要 目前,电信运营商和服务提供商采用的认证方式主要包括本地认证,RADIUS认证和不认证。计费策略更加丰富多彩,常见的包括非计费(按月订阅)和基于时间的费用,按流量计费,按端口计费等。在所有这些身份验证和计费方法中,使用RADIUS服务器集中式身份验证和计费应用程序是最流行和广泛使用的。 AAA是“身份验证,授权和计费”的缩写。它是网络安全管理的基本框架。 RADIUS(远程身份验证拨号用户服务)是远程身份验证拨入用户服务,它是一种分布式的客户端/服务器结构化信息交换协议,可以保护网络免受未经授权的访问。两者的结合可以实现对远程访问用户身份,权限和流量的严格控制。 RADIUS为服务提供商和公司提供了灵活而通用的协议,以完成集中的用户身份验证,密码加密,服务选择,过滤和帐户检查。当建立PAP / CHAP连接或连接到第三方身份验证服务器时,单个RADIUS服务器可以同时管理多个复杂网络上的多个安全系统,并且可以用来维护数千个用户的信息安全。 RADIUS不仅是指服务器上运行的软件,还包括网络访问服务器与RADIUS服务器之间的交互操作协议。 以下是RADIUS协议的原理和特定应用的详细介绍。 2.AAA简介2.1 AAA概述 AAA是Authentication,Authorization and Accounting的缩写,它是在NAS(网络访问服务器)上运行的客户端程序。提供一个一致的框架,用于配置身份验证,授权和计费这三个安全功能,这实际上是对网络安全的管理。这里的网络安全主要是指访问控制。包括哪些用户可以访问网络服务器;具有访问权限的用户可以获得哪些服务;以及如何向使用网络资源的用户收费。 2.2 AAA的实现 AAA框架图 ?本地身份验证-即身份验证,授权和记帐在NAS端执行, ?远程身份验证-通过协议进行远程身份验证,授权和计费。 AAA的实现可以使用RADIUS协议。 RADIUS用于使用串行端口和调制解调器来管理大量分散的用户。 网络访问服务器称为NAS。当用户想要通过某个网络(例如电话网络)与NAS建立连接以访问其他网络时,NAS可以选择在NAS上执行本地身份验证和记帐,或将用户信息传递给NAS。 RADIUS服务器,由RADIUS身份验证和记帐执行; RADIUS协议规定了NAS与RADIUS服务器之间如何传递用户信息和计费信息,即两者之间的通信规则。 RADIUS服务器负责接收用户的连接请求,完成身份验证并传输所需的配置信息。配置信息返回给NAS。授权用户后,RADIUS服务器还可以完成正常的联机,联机和脱机过程中的用户帐户计费功能。 3.RADIUS协议概述3.1简介 RADIUS远程身份验证拨入用户服务是用于NAS和AAA服务器之间通信的协议。 RADIUS支持AAA的所有三个组成部分:身份验证,授权和记帐。 网络允许外部用户通过公共网络访问它,并且其用户将在地理位置上极为分散。用户可以将自己的信息传递到该网络,也可以从该网络获得他们想要的信息。由于内部和外部的双向数据流,网络安全尤为重要。该网络管理的内容包括:哪些用户可以获得访问权限;具有访问权限的用户可以使用哪些服务;如何向使用网络资源的用户收费。 AAA很好地完成了这三个任务。 RADIUS通过建立唯一的用户,存储用户名和用户密码来执行身份验证;存储交付给用户以完成授权的服务类型和相应的配置信息。 3.2 RADIUS密钥功能 ?客户端/服务器模式(客户端/服务器) NAS作为RADIUS客户端运行。该客户端负责将用户信息传递到指定的RADIUS服务器并执行返回的响应。 RADIUS服务器负责接收用户的连接请求,对用户进行身份验证,并返回用户向客户端提供服务所需的所有配置信息。 RADIUS服务器可以充当其他RADIUS服务器或其他类型的身份验证服务器的代理。 ?网络安全(网络安全) 使用永不通过Internet传输的共享密钥机制对客户端和RADIUS服务器之间的事务进行身份验证。另外,客户端和RADIUS服务器之间的所有用户密码都将被加密和传输。这是为了避免在不安全的网络上监视和获取用户密码的可能性。 ?灵活的身份验证机制(灵活的身份验证机制) RADIUS服务器可以支持多种验证用户的方法。包括点对点PAP身份验证(PPP PAP),点对点CHAP身份验证(PPP CHAP),UNIX登录操作(UNIX登录)和其他身份验证机制。 ?可扩展协议? RADIUS协议具有良好的可伸缩性。 RADIUS报文由报文头和一定数量的属性组成。可以添加新属性,而不会中断现有协议的执行。 3.3 C / S结构 用户,NAS,RADIUS服务器之间的关系 RADIUS使用典型的客户端/服务器结构。它的客户最初是NAS。现在,任何运行RADIUS客户端软件的计算机都可以成为RADIUS客户端。 NAS上运行的AAA程序是用户的服务器和RADIUS服务器的客户端。负责将用户信息传输到指定的RADIUS服务器,然后根据从服务器返回的信息执行相应的处理(例如访问/挂断用户)。 RADIUS服务器负责接收用户连接请求,对用户进行身份验证,然后将所有必需的信息返回给NAS。 1、RADIUS客户端通常在访问服务器(NAS)上运行。 RADIUS服务器通常在工作站上运行。 RADIUS服务器可以同时支持多个RADIUS客户端(NAS)。 2、大量信息存储在RADIUS服务器上,并且访问服务器(NAS)不需要存储此信息,而是通过RADIUS协议访问该信息。这些信息的集中统一存储使管理更加方便和安全。 3、RADIUS服务器可以用作代理,与其他RADIUS服务器或其他类型的身份验证服务器作为客户端进行通信。用户漫游通常是通过RADIUS代理实现的。简而言之,代理服务器是可以充当其他RADIUS服务器的代理的服务器,并负责转发RADIUS身份验证和记帐数据包。所谓漫游功能是代理的具体实现,因此可以通过与它无关的RADIUS服务器对用户进行身份验证。 3.4 RADIUS在协议栈中的位置 RADIUS是一种流行的AAA协议,使用UDP协议进行传输,它在协议栈中的位置如下: RADIUS在协议栈中的位置 RADIUS使用UDP而不是TCP的原因如下: 1、NAS和RADIUS服务器之间传输的数据长度通常为几十到几百个字节,并且用户可以忍受几秒钟到十秒钟的等待时间来进行身份验证。服务器在处理大量用户时采用多线程,而UDP简化了服务器的实现过程。 2、 TCP必须成功建立连接,然后才能进行数据传输。当大量用户使用时,此方法不是实时的。 3、当对主服务器的请求失败时,必须将请求发送到备用服务器。因此,RADIUS必须具有重传机制和备份服务器机制。 TCP无法满足其使用的计时机制。 RADIUS协议使用UDP协议。数据包可能会在网络上丢失。如果客户端未收到响应,则可以重新发送请求数据包。如果多次传输后仍未收到响应,则RADIUS客户端可以将请求数据包发送到备用RADIUS服务器。 3.5 RADIUS网络安全性 使用MD5加密算法对RADIUS协议进行加密。密钥保存在RADIUS客户端(NAS)和服务器(RADIUS服务器)上。 RADIUS协议使用此密钥来使用MD5算法对RADIUS进行加密。密钥将不会在网络上传输。 RADIUS的加密主要体现在以下两个方面: 3.5.1个数据包加密 在RADIUS数据包中,有一个16字节的验证器(authenticator)用于对数据包进行签名。接收RADIUS数据包的一方应检查签名的正确性。如果包裹的签名不正确,包裹将被丢弃。还使用MD5算法(使用密钥)对包裹进行签名,没有密钥的人无法构造签名。 3.5.2密码加密 在对用户进行身份验证时,不会在NAS和RADIUS服务器之间以明文形式传输用户的密码,而是使用MD5算法对密码进行加密。没有密钥的人无法正确加密密码,也无法正确解密加密的密码。 3.5.3密码加密和密码验证过程 用户上线时,NAS将决定要为用户使用哪种身份验证方法。下面介绍使用RADIUS身份验证时PPP用户和NAS之间的PAP和CHAP身份验证过程。 RADIUS服务器可以使用H3C的iMC服务器,CISCO的ACS服务器或其他第三方服务器。 ?PAP验证: Radius Server PAP认证 用户以纯文本格式将用户名和密码传递给NAS,NAS将用户名和加密密码放入身份验证请求数据包的相应属性中,并将其传递给RADIUS服务器。 RADIUS服务器根据NAS上传的帐户进行验证,以确定是否允许用户访问Internet并返回结果。 NAS可以包含服务类型属性Attribute Service-Type = Framed-User和Framed-Protoco?= PPP,以提示告诉RADIUS服务器PPP是所需的服务。 秘密密码= Password XOR MD5(挑战+密钥) (挑战是RADIUS消息中的身份验证者) ?CHAP验证: 对于CHAP(挑战握手身份验证协议),它提供了一种加密用户密码的机制。 RADIUS服务器CHAP身份验证 当用户请求浏览Internet时,NAS会为该用户生成一个16字节的随机代码(以及ID号码,即本地路由器的主机名)。客户端获取此软件包后,请使用其自己的唯一设备或软件客户端通过MD5算法对CHAP ID和用户密码(密码)进行加密,以生成秘密密码,该密码将与用户名一起发送至NAS。 NAS分别使用返回的用户名和密码作为用户名和密码,并将原始的16字节随机码和CHAP ID发送到RADIUS服务器。 RADIUS根据用户名在服务器端搜索,并在用户端获取用于加密的密钥。它使用MD5算法对发送的CHAP ID,密钥和16字节随机码进行加密,并将结果传输给它。比较传入的密码,如果匹配,则服务器发送回访问许可数据包,否则发送回访问拒绝数据包。 4.RADIUS体系结构 当用户的PC通过某个网络(例如电话网络)与NAS建立连接以访问其他网络时,NAS可以选择在NAS上执行本地身份验证和记帐,或传递用户信息到RADIUS服务器。 RADIUS执行身份验证和记帐; RADIUS协议规定了如何在NAS和RADIUS服务器之间传输用户信息和计费信息。 RADIUS服务器负责接收用户的连接请求,完成身份验证并返回将服务交付给用户所需的配置信息。 NAS。 通常,RADIUS协议的认证服务端口号是1645(早期实现)或1812,计费服务端口号是1646(早期实现)或1813。当我们将NAS设备和RADIUS服务器连接时,由于制造商可能不同,并且相应的服务器端口号也不同,则需要调整服务器端口号。例如,与其他制造商的radius协议的默认端口号是1645和1646。他们协商并调整为相同的端口号,以便连接成功。 4.1 RADIUS消息交互过程 RADIUS服务器对用户的身份验证过程通常需要使用NAS和其他设备的代理身份验证功能。 RADIUS客户端和RADIUS服务器通过共享密钥对彼此的消息进行身份验证,并且用户密码在网络上以密文形式传输,从而增强了安全性。 RADIUS协议结合了认证和授权过程,即响应消息中携带授权信息。操作流程图和步骤如下: RADIUS的典型实现过程 将客户端设置为使用RADIUS协议后,使用该终端的任何用户都需要向该客户端提供身份验证信息。该信息可能显示为自定义的提示,用户需要输入其用户名和密码。或者他们也可以选择例如点对点传输协议(Point-to-Point Protoco?),并通过身份验证包信息传递此身份验证。 基本的交互过程如下: 1)用户输入用户名和密码; 2)RADIUS客户端根据获取的用户名和密码向RADIUS服务器发送认证请求报文(Access-Request)。 3)RADIUS服务器将用户信息与用户信息进行比较和分析。如果认证成功,则通过认证响应报文(Access-Accept)将用户的权限信息发送给RADIUS客户端。如果验证失败,则返回Access-Reject响应数据包。 4)RADIUS客户端根据收到的身份验证结果访问/拒绝用户。如果可以访问该用户,则RADIUS客户端向RADIUS服务器发送计费请求报文,并且Status-Type的值为start;
当今,越来越多的业务应用运行于网络架构之上,保障网络的持续、高效、安全的运行,成为网络管理者面临的巨大挑战。 |
温馨提示:喜欢本站的话,请收藏一下本站!