基于GNS3的AAA服务器的授权
续上篇的AAA服务的登入认证,本篇讲一个续集,AAA服务的授权,用于控制登录AAA账号密码登录的权限。还是在GNS3做,方便模拟本地物理网卡。
授权配置命令
授权:
R2(config)#aaa authorization exec Admin group ccie local //定义一个名为admin的用户对ccie组的授权,Admin为自己命名,下面的也一样,可不为一致。
R2(config)#aaa authorization commands 1 Admin group ccie
R2(config)#aaa authorization commands 15 Admin group ccie
R2(config)#aaa authorization config-commands //对命令进行审计
R2(config)#line vty 0 4
R2(config-line)#login authentication ccie
R2(config-line)#authorization exec Admin
R2(config-line)#authorization commands 1 Admin
R2(config-line)#authorization commands 15 Admin //调用
实例举例
不说废话,这种还是直接上操作。
要求: R2远程登录R1时,R1使用AAA服务器对R2的登录 进行认证并授权以下命令且3A服务器无法工作时(即R1与ACS链路断掉),回退本地认证。
show version
show privilege
configure terminal
interface
路由器配置:
首先,先配置好IP地址,保证网络的连通性,这里不再介绍,包括桥接物理网卡。
其次,对路由器配置认证与及授权,认证的话和上次配置的差不多,配置线下保护,设置策略以及调用。而授权的的看下面配置。
认证:
R2(config)#aaa new-model //开启3A认证
R2(config)#aaa authentication login noacs line none //启用线下保护
R2(config)#line console 0 //进入console口
R2(config-line)#password cisco //设置console密码
R2(config-line)#login authentication cheng //调用3A线下保护策略
R2(config)#aaa group server tacacs+ cjc //定义3A tacacs+ 服务器组名字为lsj
R2(config-sg-radius)#server-private key cisco //指定3A服务器地址并配置路由器与3A之间的预共享密钥为cisco
R2(config)#aaa authentication login cjc group ccie //定义一个3A登录认证策略。名字为ccie使用group ccie 内的3A服务器认证或本地用户数据库认证。
授权:
R2(config)#aaa authorization exec Admin group ccie
R2(config)#aaa authorization commands 1 Admin group ccie
R2(config)#aaa authorization commands 15 Admin group ccie
R2(config)#aaa authorization config-commands
R2(config)#line vty 0 4
R2(config-line)#login authentication ccie
R2(config-line)#authorization exec Admin
R2(config-line)#authorization commands 1 Admin
R2(config-line)#authorization commands 15 Admin
R2(config)#username ccie privilege 15 password cisco
ACS服务器web配置
配置路由器,开始在web页面对AAA服务器操作,建议使用世界之窗浏览器,其他浏览器个人测试过Google,360,IE,或多或少存在BUG,导致无法达到效果。
新建设备组,这里新建一个inside作为内部区域。
新建网络设置类型
新建NSA设备,添加NAS设备。名字为R2.地址为10.1.1.2使用tacacs+协议与共享密钥为cisco.确定保存
新建认证用户信息,用户名为cjc,密码自定义,这里是cisco123,确定保存。
新建shell Profil,自定义名字,授权级别默认15级别,最大15级别。确认保存
新建command 策略,定义策略名字。定义授权命令,参数,添加。确认保存
新建服务选择规则。定义名字、协议、服务。注意若是多个的话需将其以上最上方。这里只有一个,所以无需移动。
设置认证条件。
设置授权条件和授权内容。
测试认证以及授权,让R2telnetR1。输出AAA的认证用户和密码。(cjc cisco123)
结果直接进入特权模式,即认证与授权成功。
补充内容:
以题意的需求,我们这里涉及到一个回退的知识点,就是当AAA失效的话,那么回退到使用本地认证来登录,是不是有点像虚拟机的快照,以及我们做割接的回退一个道理,而不是当AAA一失效,直接导致链路设备不可控制。而这样的话配置很简单,只需再对应配置的认证和授权命令最后加上local。所以上述的命令都加上local,下面我们先来看一下现象。
链路完整的情况下,telnet正常,调用AAA的用户及密码认证。
将R1与acs服务器的链路down掉,再来查看,发现很明显无法通过AAA登录了,这时候telnet,也只会去访问AAA的认证,不会考虑到本地的认证。(这是配置里还未加入local)很显然,此时我们以及丧失对设备的控制权。
将R2上配置的认证以及授权加上对应的local,再来查看。
aaa authentication login cjc group ccie local
aaa authorization exec Admin group ccie local
aaa authorization commands 1 Admin 1 group local
aaa authorization commands 15 Admin group local
这里我们再添加一个新的本地登录用户和密码
username cjc privilege 15 password cjc
可以发现,我们使用AAA的账户和密码是无法登录进去的,而使用本地账号就能够登录了,实现AAA故障返回本地登录的效果。
最后
AAA的授权到这就结束了,通过页面去控制去设置不仅仅是用户账号和密码,也能够控制组属以及给对应的权限。不仅使我们通信更加安全,也更加具体实施化。感谢支持,若有问题可留言讨论。