转自:http://www.360doc.com/content/12/0611/17/8797027_217495523.shtml作者:luobo2012

近来,有些同学会问到关于AAA认证的问题,以及cisco ACS如何使用,那么今天我们就主要来讲一下关于这方面的知识。
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+相关项目)

17676
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认证就讲到这里。

详解Cisco ACS AAA认证-1(转)的更多相关文章

  1. Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)_python

    我们可以利用urllib来抓取远程的数据进行保存哦,以下是python3 抓取网页资源的多种方法,有需要的可以参考借鉴. 1.最简单 import urllib.request response = ...

  2. FastAPI(59)- 详解使用 OAuth2PasswordBearer + JWT 认证

    JWT JSON Web Tokens 它是一个将 JSON 对象编码为密集且没有空格的长字符串的标准 使用 JWT token 和安全密码 hash 使应用程序真正安全 JWT 小栗子 eyJhbG ...

  3. 详解Django的CSRF认证

    1.csrf原理 csrf要求发送post,put或delete请求的时候,是先以get方式发送请求,服务端响应时会分配一个随机字符串给客户端,客户端第二次发送post,put或delete请求时携带 ...

  4. Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)

    出自  http://www.jb51.net/article/93125.htm

  5. 详解cisco访问控制列表ACL

    一:访问控制列表概述   ·访问控制列表(ACL)是应用在路由器接口的指令列表.这些指令列表用来告诉路由器哪些数据包可以通过,哪些数据包需要拒绝.   ·工作原理:它读取第三及第四层包头中的信息,如源 ...

  6. 转:SSL 握手协议详解

    SSL 握手协议详解 RSA作为身份认证,ECDHE来交换加密密钥,AES/DES等作为加密. 如果RSA来加解密,那么身份认证后,直接用认证后的RSA公钥解密.不需要再额外交换加密密钥了. 相关报文 ...

  7. Flask-Login详解

    Flask-Login详解 关于Flask登录认证的详细过程请参见拙作<<使用Flask实现用户登陆认证的详细过程>>一文,而本文则偏重于详细介绍Flask-Login的原理, ...

  8. CDA考试 ▏2017 CDA L1备考资源习题详解-统计基础部分

    CDA考试 ▏2017 CDA L1备考资源习题详解-统计基础部分 <CDA LEVEL 1描述性分析典型例题讲解> 主讲人:CDA命题组委会 傅老师 ▏2017 CDA L1备考资源习题 ...

  9. Linux的加密认证功能以及openssl详解

    一.详细介绍加密.解密技术 现在的加密/解密技术主要有三种:对称加密,非对称加密,和单向加密 这三种加密解密技术的组合就是现在电子商务的基础,它们三个有各自最适合的领域,而且所要完成的功能也是不同的, ...

随机推荐

  1. php知识结构

    PHP的运行环境 连环境都搞不起来,就是你有多么喜欢PHP,那也是白搭,开始我们大多会使用集成环境软件例如xampp,wamp.随着知识的增加慢慢要学会自己搭建运行环境,例如 Linux(Ubuntu ...

  2. 第三节MapStruct翻译--Defining a mapper

    第三节MapStruct--Defining a mapper 在这一章节你将学到如何用mapstruct和它的一些必要的操作选项来定义一个bean mapper. 3.1 Basic mapping ...

  3. spark-submit脚本分析

    执行任务 ./spark-submit \ --class cn.com.dtmobile.spark.DebugTest \ --master yarn \ --deploy-mode client ...

  4. python 导入数据包的几种方法

    1.直接导入整个数据包:improt 数据包 参考代码: # -*- coding:utf-8 -*- # 导入random数据包 import random # 引用random数据包中的randi ...

  5. springMVC:SSM整合

    环境要求 环境: IDEA MySQL 5.7.19 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识: 数 ...

  6. (转) Windows如何区分鼠标双击和两次单击

    Windows如何区分鼠标双击和两次单击 http://lbsloveldm.blog.hexun.com/12212875_d.html 在Windows平台上,鼠标左键的按下.松开.快速的两次点击 ...

  7. EUI库 - 自动布局

      自适应流式布局 width="100%" top left right horizontalCenter=0 失效验证机制 这些异步过程都封装好了,我们只需要关注那一对方法:  ...

  8. java.sql.Date转换

    ---恢复内容开始--- JAVA 处理时间 - java.sql.Date.java.util.Date与数据库中的Date字段的转换方法,以及util包下的Date类与字符串的相互转换 在java ...

  9. OnPaint中画图遇到的问题

    在OnPaint函数中有CPaintDC dc1(this);这句话,在画图时,千万不要把它去掉,否则会造成消息队列阻塞.例如定时器.Invalidate()等都会失效. 造成这种现象的原因是: CP ...

  10. sql server 日期时间数据类型

    1.日期和时间数据类型 (1)在sqlserver 2008之前,SQL Server 支持datetime 和 smalldatetime 两种日期时间数据类型.这两种数据类型日期和时间是不可分割的 ...