欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

访问控制AAA认证

程序员文章站 2024-02-14 12:47:34
...

访问控制的管理方法一般分为两类,一个是集中访问控制,另一个是分布式访问控制,也就是非集中式访问控制

认证、授权和审计(AAA)管理是一个网站运营的基础,对于一个商业系统来说,鉴别是至关重要的,只有确认了用户身份,才能知道所提供的服务该向谁收费,同时也能防止非法用户的破坏,在确认用户的身份后,授予用户相应的权限,最后,用户在使用系统资源时,要有相应的硬件设备来统计用户所对资源的占用情况

整体的过程大致如下:

  1. 远程用户给网络接入服务器(NAS)发送自己的用户名和密码

  2. NAS接受用户名密码,并将信息转交给验证服务器

  3. 验证服务器通过身份验证之后,将用户可用的网络连接参数信息返回给NAS

  4. NAS确认并向用户提供连接服务,并将此连接写入验证服务器的日志

集中式AAA管理协议:

  1. RADIUS协议:

a) 拨号用户远程认证服务是一个通用的认证审计协议,RADIUS协议具有广泛的适应性,支持绝大多数网络,因此ISP和企业远程接入互联网或内部网络都将RADIUS协议作为主要的协议

b) RADIUS协议除了支持主机外还支持ADSL,DSL,无线接入点,VPN交换机或路由器的网络端口等

c) RADIUS协议是一个客户端服务器协议,它运行在应用层,使用UDP协议,身份认证和授权使用1812端口,审计使用1813端口

d) RADIUS服务器是通常是运行在专门用于RADIUS验证的服务器之上的一个后台进程

e) RADIUS客户端并不一定安装在最终用户的主机上,而是主要安装在直接为用户提供服务各类服务器上,对于RADIUS授权而言,相当于RADIUS服务器取代了提供服务的主机本身具有的身份验证和授权功能

f) RADIUS协议的三个基本功能:

                i.     对需要访问网络的用户或设备进行身份验证

               ii.     对已通过身份验证的用户或设备授予资源访问的权限

             iii.     对已授权的访问进行审计

g) 当用户发送的访问请求到NAS的时候,使用RADIUS客户端发送访问请求消息到RADIUS服务器,该消息中包含了用户的用户名密码等身份验证信息,RADIUS服务器根据这些信息从用户身份数据库中查找相应的信息,并将身份验证的结果以消息的形式发送给RADIUS客户端

h) RADIUS服务器在进行验证的过程中,除了使用一些常规的验证的方法之外,还会使用类似IP地址之类的辅助验证方式

i) 尽管身份验证和授权属于两个步骤,并且执行的先后存在差别,但是在实际的RADIUS运作中,它们是一起执行的,一旦身份确认,授权的参数会同时返回给RADIUS客户端

j) RADIUS服务器往往返回三种消息,第一,访问接受,第二访问拒绝,第三访问挑战,访问挑战指的是需要进行更深层次的安全验证,比如输入二级密码,验证码等等

k) RADIUS的审计:RADIUS的审计是独立于身份验证和授权服务的,审计服务通过一个独立的UDP端口进行通信

l) RADIUS协议简单明确,现在的ADSL上网,ISP对用户接入网络的计费基本上都是使用的RADIUS协议,但是该协议本身是存在缺陷的,比如基于UDP的传输,简单的丢包机制,没有重传的规定等等

  1. TACACS协议

a) TACACS协议指的是终端访问控制器访问控制系统,这是对于UNIX网络的一个比较老的基于UDP的认证协议,它允许远程访问服务器传送用户登录密码给认证服务器,认证服务器决定该用户是否可以登录系统

b) TACACS协议经历了三代,TACACS,XTACACS(扩展TACACS),TACACS+,TACACS协议将认证授权的过程结合起来,XTACACS协议将认证授权和审计功能分开,TACACS+是一种采用扩展的双重用户认证的XTACACS,TACACS使用固定的密码进行认证,而TACACS+允许用户使用动态密码

c) TACACS+和RADIUS协议在现有的网络里已经取代了早期的协议,TACACS+使用传输控制协议(TCP),而RADIUS使用用户数据报协议(UDP),一些管理员使用TACACS+协议,因为TCP更可靠

d) RADIUS协议使用UDP协议进行包的传输,仅在客户端与服务器之间进行加密,组合认证与授权服务,认证完了返回授权的结果,在认证时使用适用于所有的AAA活动的单质响应

e) TACACS+协议使用TCP协议进行包传输,会加密所有的流量,使用AAA*结构,将授权,认证,审计三个过程分割开来,对每一个AAA进程使用多质响应,每个AAA活动必须都要认证

f) 如果进行简单的用户名密码验证,那么使用RADIUS就是一个合适的协议,如果需要更复杂的认证步骤,而且需要对更加复杂的授权活动实施更严格的控制那么使用TACACS+协议

  1. Diameter协议

a) Diameter协议是RADIUS协议的升级版,Diameter协议支持移动IP,NAS请求和移动代理的认证、授权和审计工作,协议的实现与RADIUS类似,但是采用TCP协议,支持分布式审计,是目前来说最适合未来移动通信系统的AAA协议

b) Diameter分为多个层次结构

                i.     Diameter的基础协议:基础协议为移动IP,网络接入服务NAS等应用提供最基本的服务,如用户会话,审计等,具有能力协商、差错通知等功能

               ii.     Diameter的NAS协议:顾名思义嘛,就是为网络接入服务提供的协议,由NAS客户机处理用户的接入请求,将收到的客户认证信息转送给NAS服务器,服务器对客户进行鉴别,将结果发给客户机,客户机通过响应将结果发送给用户,并根据结果对用户进行处理

             iii.     Diameter的EAP协议,EAP就是可扩展鉴别协议,提供了一个各种鉴别方法的标准机制,实质上是一种框架,一种帧格式,可以容纳各种鉴别信息

               iv.     Diameter的CMS协议,CMS就是密码消息语法,实现了协议数据从客户端到服务端的加密

                v.     Diameter的MIP协议,这个协议就好比手机收费的漫游费,该协议允许用户漫游到外部域,并在经过鉴权之后接受外部域和代理之间的服务

c) Diameter协议采用了端到端模式,任何一端都可以发送消息或发起审计,Diameter协议支持应用层确认,并定义了失败恢复算法和相关的状态机,能够立即检测出传输错误,RADIUS协议服务器不能主动发起消息,只有客户端可以发送认证请求,Diameter协议指定了两种消息类型(重认证请求和重认证应答消息),使得服务器可以随时根据需要来主动发起重认证,Diameter协议支持认证与授权分离,重授权可以根据需要进行

相关标签: java java

上一篇: aaa

下一篇: aaa