摘 要 TACACS+是在TACACS(RFC 1492 Terminal Access Controller Access Control System)基础上进行了功能增强的安全协议。主要是通过Client-Server 模式与TACACS服务器通信来实现多种用户的AAA 功能,可用于终端用户的认证、授权和统计。本文介绍了TACACS+技术背景,并主要结合CSACS详细说明了TACACS+的应用。通过阅读本文,读者能够通过TACACS+协议进行服务器及网络设备的配置,并实现其应用。
关键词 TACACS+;AAA;认证;授权;审计
中***分类号TP39 文献标识码A 文章编号 1674-6708(2013)98-0229-02
1.背景
1.1 AAA概述
AAA代表Authentication、Authorization、Accounting,意为认证、授权、统计,其主要作用是提供了一个用来对认证授权和记账这三种安全功能进行配置的一致的框架,AAA的配置实际上是对网络安全的一种管理,这里的网络安全主要指访问控制。包括哪些用户可以访问网络服务器,具有访问权的用户可以得到哪些服务,如何对正在使用网络资源的用户进行统计。AAA的具体定义如下:
Authentication(认证):对用户的身份进行验证,决定是否允许该用户访问网络。
Authorization(授权):给不同的用户分配不同的权限,限制每个用户可使用的网络服务。
Accounting(统计/统计):记录用户使用网络资源的情况,对用户的行为进行统计和计费。
AAA从认证协议上分,主要有:
1)RADIUS:远程认证拨入用户服务,认证请求和授权请求是UDP 1812,统计请求UDP1813。RADIUS只对请求数据包加密,而传输数据包是以明文传递;
2)TACACS+:终端访问控制器访问控制系统,Cisco私有,使用TCP(49号端口)实现客户端和服务器的通信,加密所有数据包。
1.2 TACACS+概述
TACACS+(Terminal Access Controller Access Control System)是终端访问控制器访问控制系统。TACACS是一个身份验证方案,可用来对正在尝试接入信息服务器、网络和远程接入服务器的用户进行验证。TACACS最初是由美国***和BBN Planet Corp.开发的,后来又由Cisco对其进行了进一步开发。该协议有三个版本:原始的TACACS,XTACACS(扩展的TACACS)和TACACS+。前两个版本在RFC 1492(An Access Control Protocol,Sometimes Called TACACS,July 1993)中描述。TACACS+是最新版本,只要是在需要TACACS时都应该使用它。目前通常已不再维护TACACS和XTACACS。
TACACS是作为一个单独的第三方身份验证服务器运行的,该服务器提供身份验证服务。当用户尝试接入到一个安全系统时,该安全系统首先会提示用户输入名字和密码,然后该系统将此信息传递给TACACS服务器并请求身份验证服务。原始的TACACS是非常简单的,而Cisco对其进行了扩展,从而创建了TACACS+,后者在设计上是模块化的,在TACACS和XTACACS的基础上分离了认证、授权和记账功能。
TACACS+ 和 RADIUS是用来控制接入网络的两种安全协议。他们是提供AAA服务(认证、授权、统计)最主要的两个协议。RADIUS协议主要设计用于认证和记录远程用户接入到网络的功能,而TACACS+则主要用于管理员接入到网络设备,如交换机、路由器、防火墙等设备。TACACS+与RADIUS的最主要的不同点在于TACACS+分离了认证、授权和统计功能,而RADIUS则将认证和授权糅合在一起,RADIUS将授权的信息下发到认证回应报文里。
2 TACACS+应用
TACACS+的典型应用为终端用户的登陆管理控制,交换机作为TACACS+的客户端,将用户名和密码发给TACACS+服务器进行验证,验证通过并得到授权之后可以登录到交换机上进行操作。
根据AAA的三个主要功能来划分,我们也从这三方面来进行阐述,以比较常用的应用进行举例,案例中使用CSACS (简称ACS,以下同)作为TACACS+服务器。
2.1认证应用
在默认情况下,当管理账户需要登陆到交换机或路由器等设备时,这些设备将根据本地的用户数据库来验证输入的用户名和密码。如果输入的用户名和密码与本地数据库匹配,则登陆成功,否则,登陆失败。
除了使用本地账号数据库进行校验外,还可以为设备配置一个外部的TACACS+服务器,用来管理账户的认证。通过在TACACS+服务器上集中管理账号的方式,无需每一台都配置一堆管理设备的用户名和密码,极大地方便了管理员的工作量。
应用案例:Login登录时使用TACACS+进行认证。
TACACS+服务器配置:
Step1:添加设备,开启TACACS+认证功能选项,并输入通讯key
Step2: 创建shell profile授权(配置项中我们先不进行授权)
Step3: 创建command set授权(配置项中我们先不进行授权)
Step4:使用默认的设备管理接入服务,允许的协议必须勾选PAP/ASCII
Step5:创建授权策略
Step6:应用授权策略
Step7:添加一个测试用户进行效果验证
设备配置(以Cisco 2960为例)
1) 配置启用aaa;
2)配置tacacs+server信息,其中key是NAS与TACACS+服务器的共享密钥,必须与TACACS+服务器上配置的共享密钥一致:
Switch(config)# tacacs-server host 172.18.34.47
Switch(config)# tacacs-server key ruijie
3) 配置使用tacacs+的认证方法
Switch(config)# aaa authentication login tac group tacacs+ local
4) 在接口上应用配置认证方法
Switch(config)# line vty 0 4
Switch (config-line)# login authentication tac //此处的tac即上面定义的方法列表。
5) 通过以上配置就实现了配置login的tacacs+认证。
验证方法:
1)使用终端telnet到交换机,将会在窗口上显示需要输入用户名和密码;
2)输入ACS上正确的用户名和密码后登录成功,因为没有对它进行授权,则默认进入的是用户模式。
2.2授权应用
AAA支持本地授权、直接授权、if-authenticated授权和TACACS授权四种授权模式,并允许组合使用。
组合授权模式有先后顺序。例如authorization-mode tacacs local表示先使用TACACS授权,TACACS授权没有响应再使用本地授权。
应用案例:ACS支持Shell Profile与Command Set两种方式的授权,这里以Shell Profile为例进行说明
TACACS+服务器配置
1)Step 1:编辑shell profile配置文件授权;
2)其它配置参照login认证的配置。
设备配置
1) 配置使用tacacs+的授权方法:Switch(config)# aaa authorization exec tac group tacacs+;
2)在接口上应用配置认证方法: Switch(config)# line vty 0 4 ;Switch (config-line)# authorization exec tac //此处的tac即上面定义的方法列表;
3)其它配置不变,通过以上配置就实现了配置login的tacacs+认证。
验证方法:使用终端telnet到交换机,输入用户名和密码后会直接进入了特权模式,并自动执行了sh run命令
2.3统计应用
AAA支持六种计费模式:本地计费、不计费、RADIUS计费、TACACS计费、同时RADIUS、本地计费以及同时TACACS、本地计费。TACACS+的统计包含了EXEC统计、Command统计、Network统计、System统计、Connection统计等,我们主要以设备管理中最常用的EXEC统计和Command统计进行应用。
应用案例:exec统计;
TACACS+服务器配置;
无需额外配置;
设备配置。
1) 假设我们要对会话的起始和结束进行审计
Switch(config)# aaa accounting exec TAC start-stop group tacacs+
2) 在接口上应用配置认证方法
Switch(config)# line vty 0 4
Switch (config-line)# accounting exec tac //此处的tac即上面定义的方法列表
3)其它配置不变。
验证方法:
1)登录到设备即可,然后退出;
2)在TACACS+服务器上会记录会话的起始和结束。
3总结
TACACS+是一项比较实用的技术,做为一个身份验证方案,被广泛应用于设备的登陆及配置授权。由于其实现简单,有通用的标准,能够切实解决网络管理者的安全需求,被越来越多的人所关注。本文主要介绍了其典型及常见的应用,结合实际情况,还有哪些安全领域可以进行应用,有待进一步的挖掘。
参考文献
[1]RFC 1492 Terminal Access Controller Access Control System.
[2]RFC 2865 Remote Authentication Dial In User Service (RADIUS).
[3]Catalyst 2960 Switch Command。Cisco IOS Release 12.2(25)SEE.February 2006.
转载请注明出处学文网 » TACACS+技术应用