企业在选择访问控制方案的时候,往往会综合考虑访问控制方案的技术要求和部署使用成本,在安全要求不是很高的场合,企业往往会倾向于选择不需要添置额外验证设备的逻辑访问控制方案。因此,我们在日常工作中,接触更多的是各种基于密码验证的访问控制系统,在接下去的几个文章里,J0ker就打算介绍一下各种逻辑访问控制方案,首先J0ker将介绍集中式的访问控制方案。
验证(Authentication):确认用户的身份以及用户是否允许访问网络资源
图1、AAA服务的过程示意图
远程用户访问网络资源的AAA过程如下:
1、远程用户给网络访问服务器(NAS)发送自己的用户名和密码
2、NAS接收用户提供的用户名和密码信息
3、NAS将用户的用户名和密码信息转交给验证服务器
4、验证服务器通过用户的身份验证后,将用户可用的网络连接参数(带宽、可用时长等)、用户授权和协议信息返回给NAS
5、NAS确认并向用户提供连接服务,并将此次连接写入验证服务器的日志中。
验证过程:客户端和服务器之间的通讯应在验证后才能进行,以此来保证通讯双方的真实性和通讯内容的完整性。通讯中的敏感信息还应该事先进行加密,防止密码或其他的验证信息被拦截或泄漏。
灵活的验证手段:AAA服务器应该能够支持多种验证手段,如密码验证协议(PAP)、挑战-握手验证协议(CHAP)、标准Unix登录流程,或者Microsoft的Active Directory等,这样AAA服务器才能适应复杂的应用环境。为了增强拨号连接的访问安全性,AAA服务器也应该对呼叫号码识别(CLID)和回拨功能提供支持。
使用可扩展的协议:AAA服务器通常还应设计成能支持可扩展的协议,即使技术进步使新的协议进入市场,AAA服务器也可以在不影响现有协议的情况下对新协议提供支持。
TACACS:TACACS是终端访问控制器访问控制系统(Terminal Access Controller Access Control System)的缩写,TACACS最先使用在互联网的前身ARPAnet上,并由网络厂商Cisco完善了它的第二版XTACACS和第三版TACACS+。和Radius为网络服务的使用提供AAA服务不同,TACACS针对的是网络资源访问,另外,TACACS使用的通讯协议是TCP,这点也是和Radius不同的。TACACS服务集成了验证、授权和审计服务,它的验证功能支持CHAP、一次性密码等不同的验证协议,授权功能主要使用访问控制列表方式,而审计功能则可记录系统或会话级的日志。
DIAMETER:针对Radius应用面较窄、支持的设备和应用较少的缺点,IT业界推出了DIAMETER协议,我们可以认为DIAMETER协议是扩展的Radius协议。DIAMETER协议的最大特点是,它是一种基于节点的AAA服务,除了能够使用在传统的拨号服务上之外,还能使用在无线链接、移动电话或VPN等其他接入服务上。同时DIAMETER的验证、授权和审计功能都是独立的,网络厂商或企业可以根据自己的实际需要,使用DIAMETER标准的功能,或自己构建适合应用需要的功能支持。目前DIAMETER协议仍是一个RFC草案,有兴趣的朋友可以自行到 IETF的官方站点去查阅资料http://www.ietf.org/html.charters/aaa-charter.html.