详解Cisco ACS AAA认证

AAA代表Authentication、Authorization、Accounting,意为认证、授权、记帐,其主要目的是管理哪些用户可以访问服务器,具有访问权的用户可以得到哪些服务,如何对正在使用网络资源的用户进行记帐。
1、 认证:验证用户是否可以获得访问权限——“你是谁?”
2、 授权:授权用户可以使用哪些资源——“你能干什么?”
3、 记帐:记录用户使用网络资源的情况——“你干了些什么?”
好的,简单的了解理论知识后,接下来我们还是以实验的方式来进行讲解:
为网络提供AAA服务的,主要有TACACS+和RADIUS协议,我们主要介绍是TACACS+协议,因为它运行在TCP协议基础之上,更适合大型网络,特别是融合型网络
一、 实验拓扑介绍

该实验主要完成R1路由通过ACS服务器实现AAA认证,包括验证、授权和记帐,同时还包括PPP验证和计时通过cisco ACS实验
二、 安装cisco ACS
1、 硬软件要求
硬件:Pentium IV 处理器, 1.8 GHz 或者更高
操作系统:Windows 2000 Server
Windows 2000 Advanced Server (Service Pack 4)
Windows Server 2003, Enterprise Edition or Standard
Edition (Service Pack 1)
内存:最小1GB
虚拟内存:最小1GB
硬盘空间:最小1GB可用空间,实际大小根据日志文件的增长,复制和备份的需求而定。
浏览器:Microsoft Internet Explorer 6 或者更高版本
JAVA运行环境:Sun JRE 1.4.2_04 或更高版本
网络要求:
在CISCO IOS 设备上为了全面的支持TACACS+ 和 RADIUS,AAA 客户端必须运行Cisco IOS 11.1 或者更高的版本。
非CISCO IOS 设备上必须用TACACS+,RADIUS或者两者一起配置。
运行ACS的主机必须能ping通所有的AAA客户端。
2、 安装方法(我们用的版本是4.0版本)
打开ACS安装程序文件夹,选中setup 双击。进入安装向导,根据提示进行安装,基本为默认设置
3、 安装完成后的访问
在运行ACS的主机上,通过桌面上的ACS Admin 网页图标,可以访问ACS的web格式的管理台。也可以通过网页浏览器输入地址:http://127.0.0.1:2002 来访问ACS。
注:
 Windows Xp不支持cisco ACS,在此笔者是在虚机中的windows2003sever下安装的
 ACS安装完成后,一定要安装JAVA平台,否则该ACS将不能正常使用,笔者在此安装的是jre-6u12-windows-i586-p-s.exe,版本为JRE 版本 1.6.0_12 Java HotSpot(TM)
三、 ACS的配置
1、 设置ACS管理员帐号
Step 1>点击ACS界面左边的Administration control 按钮 ,然后点击Administrator control界面中的Add Administrator

Step 2>点击Add administrator 后出现此账户的诸多选项,逐一填写后点击Submit

Step3>设置了管理员后就可以通过web界面登录到ACS服务器对ACS进行配置
如:http://10.10.10.110:2002
2、 ACS网络设置(添加Tacacs+客户端
Step1>点击ACS界面的Network Configuration按钮 ,出现网络配置界面,然后点击Add Entry,

Step2>添加Tacacs+客户端(ACS中必须指定Tacacs+客户端的名字、IP地址、key)

3、 Tacacs+设置
Step1>点击ACS界面左边Interface configuration 按钮 ,选择TACACS+ (Cisco IOS)

Step2>根据个人具体应用,在Tacacs+相关项目中打勾(如果没有将tacacs+相关项目选中,则在用户组/用户属性中将不会出现tacacs+相关项目)


4、 设备端tacacs+服务器的指定
在cisco设备端用以下命令指定ACS tacacs+服务器
R1(config)# tacacs-server host 10.10.10.110
R1(config)# tacacs-server directed-request
R1(config)# tacacs-server key xinhua
5、 添加用户组
Step1>在ACS界面左边点击Group Setup

Step2>在下拉列表中选取某个组,给这个组重命名,接着选择Edit setting进入组的属性配置
Step3>在组的enable option 中的Max privilege for any AAA Client设置组的级别
6、 添加用户
Step1>在ACS界面的左边点击user setup 按钮

Step2>在user方框中填写用户名,然后点击ADD/Edit
Step3>在出现的用户属性中逐一填写

Step4>选择用户属于哪个用户组

Step5>选择用户属于的级别(可以定义单个用户级别,也可以和所属的用户组级别一样)

Step6>设置用户的enable 密码

好的,到这里基本配置就算是配完了,接下来我们来演示一下AAA功能的实现
四、 ACS功能设置
1、 ACS认证
a) 在设备端定义tacacs+服务器地址以及key
R1(config)# tacacs-server host 10.10.10.110
R1(config)# tacacs-server directed-request
R1(config)# tacacs-server key xinhua
b) 在ACS端定义设备的IP地址(参考ACS基本配置)
c) 在ACS上面建立用户名和用户组
d) 在设备端配置AAA认证
R1(config)# enable secret 123 ‘定义enable密码
R1(config)# username abc password 456 ‘定义本地数据库
R1(config)# aaa new-model ‘启用AAA认证
R1(config)# aaa authentication login default group tacacs+ local ‘设置登陆验证默认为采用先ACS服务器再本地验证(当ACS服务器不可达才用本地数据库验证)
R1(config)# aaa authentication enable default group tacacs+ enable ‘设置enable进入特权模式默认为采用先ACS服务器再本地enable设置的密码
R1(config)# line vty 0 4
R1(config)# login authentication default ‘设置telnet登陆采用前面定义的default
e) 验证
 telnet登陆:telnet 10.10.10.100,输入ACS服务器的用户名和密码,登陆成功,用本地数据库用户名和密码登陆失败(因为根据前面设置,R1首先会去ACS服务器进行验证,当ACS服务器不可达时,才会用本地数据库验证)

我们可以试着断开ACS与路由的连接,然后再进行登陆,这时则必须用本地数据库验证,也就是用户名为abc 密码为456
 enable进入特权测试

此时输入特权模式密码为ACS服务器上的密码,而非本地路由的enable密码
2、 ACS授权
ACS中可以通过设置用户组/用户的级别privilege来实现不同用户登录设备后可用的命令的不同,也可以通过使用ACS的命令授权来实现不同用户登录设备的可用命令条目,以下介绍ACS的命令授权
Step1>在ACS的界面左边的share profile components按钮

Step2>点击shell command authorization sets

Step3>点击Add添加命令集
页面下方有两个方框,左边填写命令的前缀,右边填写命令的后缀,命令后缀填写的语法格式是:permit/deny ***,如本例当中只允许使用show version命令

Step4>将命令集运用到用户组或者用户,在用户组属性当中进行设置,如下图,然后点击submit+restart

Step6>设备端配置
R1(config)# aaa new-model
R1(config)# aaa authorization commands 1 default group tacacs+ local ‘指定级别1能够使用的EXEC命令
R1(config)# aaa authorization commands 15 default group tacacs+ local ‘指定级别15能够使用的EXEC命令
R1(config)# line vty 0 4
R1(config)# authorization commands 1 default ‘应用到telnet登陆进程
R1(config)# authorization commands 15 default
Step7>测试

由于根据前面授权设置,在特权15级别下只能使用show version命令,故其它命令均不能使用
另外,我们也可以在用户组属性中设置该组能够使用特权的最高级别,如下图

3、 ACS审计
Step1>设备端配置
R1(config)# aaa new-model
R1(config)# aaa accounting exec default start-stop group tacacs+
R1(config)# lin vty 0 4
R1(config)# accounting exec default
Step2>点击ACS界面左边的reports and activity按钮,然后选择TACACS+ Accounting可以具体浏览某一天的记录

Step3>如果要记录用户所用的命令,设备端配置为:
R1(config)# aaa new-model
R1(config)# aaa accounting commands 0 default start-stop group tacacs+
R1(config)# aaa accounting commands 1 default start-stop group tacacs+
R1(config)# aaa accounting commands 15 default start-stop group tacacs+
R1(config)# line vty 0 4
R1(config)# accounting commands 0 default
R1(config)# accounting commands 1 default
R1(config)# accounting commands 15 default
Step4>然后点击report and activity中的TACACS+ Administration,可以浏览某天某用户的所有命令

4、 ppp验证与计时
Step1>验证设备端配置
R1:
R1(config)# aaa authentication ppp jxxh group tacacs+
R1(config)# int s0/0
R1(config-if)# encapsulation ppp
R1(config-if)# ppp authentication pap jxxh
R1(config-if)# ppp pap sent-username r1 password 123
R2:
R2(config)#username r1 password 123
R2(config)# int s1
R2(config-if)# encapsulation ppp
R2(config-if)# ppp authentication pap
R2(config-if)# ppp pap sent-username test password test
在本例PPP验证中,R1采用的是ACS服务器验证,R2依然采用的是本地数据库验证
Step2>计时设备端配置
R1(config)# aaa accounting network jxppp start-stop group tacacs+
R1(config)# int s0/0
R1(config-if)# ppp accounting jxppp
配完后,点击ACS界面左边的reports and activity按钮,然后选择TACACS+ Accounting可以查看ppp连接时间和断开时间

好的,关于cisco acs AAA认证就讲到这里。

发表评论

电子邮件地址不会被公开。 必填项已用*标注