访问控制AAA认证
访问控制的管理方法一般分为两类,一个是集中访问控制,另一个是分布式访问控制,也就是非集中式访问控制
认证、授权和审计(AAA)管理是一个网站运营的基础,对于一个商业系统来说,鉴别是至关重要的,只有确认了用户身份,才能知道所提供的服务该向谁收费,同时也能防止非法用户的破坏,在确认用户的身份后,授予用户相应的权限,最后,用户在使用系统资源时,要有相应的硬件设备来统计用户所对资源的占用情况
整体的过程大致如下:
-
远程用户给网络接入服务器(NAS)发送自己的用户名和密码
-
NAS接受用户名密码,并将信息转交给验证服务器
-
验证服务器通过身份验证之后,将用户可用的网络连接参数信息返回给NAS
-
NAS确认并向用户提供连接服务,并将此连接写入验证服务器的日志
集中式AAA管理协议:
- 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的传输,简单的丢包机制,没有重传的规定等等
- 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+协议
- 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协议支持认证与授权分离,重授权可以根据需要进行