ACS基本配置-权限等级管理
推荐
原创
©著作权归作者所有:来自51CTO博客作者chris_lee的原创作品,请联系作者获取转载授权,否则将追究法律责任
1, ACS基本配置
ACS的安装这里不讲了,网上google一下就有很多。这里主要讲一下ACS的基本配置,以便于远程管理访问。
ACS正确安装后应该可以通过
[url]http://ip:2002/[/url]远程访问,当然要确保中间是否有防火墙等策略。然后就是通过正确的帐号和密码进行登录管理。下面是建立ACS管理帐户的图示。
a,本地登录ACS界面,点击左边的“Administration Control”按钮,进入下一个界面;
b,点击“Add Administrator”,进入配置界面;
c,根据提示填写,一般选择全部权限,方便管理,当然如果有特殊管理帐户,可以分给不同权限,比如说只能管理某些group等;
d,然后“Submit”,就可以通过这个账户进行远程管理了。
2, ACS访问原理
ACS主要是应用于运行Cisco IOS软件的思科网络设备,当然,ACS也全部或部分地适用于不运行Cisco IOS软件的各种其他思科网络设备。这其中包括:
· Cisco Catalyst交换机(运行Cisco Catalyst操作系统[CatOS])
· Cisco PIX防火墙
· Cisco ××× 3000系列集中器
不运行Cisco IOS软件的思科设备(如运行CatOS的Cisco Catalyst交换机、运行Cisco PIX操作系统的Cisco PIX防火墙或Cisco ××× 3000集中器)可能也支持启用特权、TACACS+(验证、授权和记帐[AAA])命令授权或以上两者。随着对集中管理控制和审计的需求的增加,本文作者预计目前不支持TACACS+命令授权的其他思科网络设备将得以改进,支持TACACS+命令授权。为最快了解思科设备的支持水平,请查看有关设备的最新文档。
运行Cisco IOS软件的思科设备提供了两个网络设备管理解决方案:
· 启用权利(Enable priviledges)
· AAA命令授权
Cisco IOS软件有16个特权级别,即0到15(其他思科设备可能支持数目更少的特权级别;例如,Cisco ××× 3000集中器支持两个级别)。在缺省配置下,初次连接到设备命令行后,用户的特权级别就设置为1。为改变缺省特权级别,您必须运行启用命令,提供用户的启用口令和请求的新特权级别。如果口令正确,即可授予新特权级别。请注意可能会针对设备上每个权利级别而执行的命令被本地存储于那一设备配置中。表1为思科供货时Cisco IOS设备的缺省特权级别。这些等级缺省是有命令集的,比如说等级1只有一些基本的show命令等,而等级15是全部命令的集合。其他诸于2~14共13个等级的命令集是要用户自己在认证设备本地定义的。
表1 缺省级别
特权级别 |
说明 |
0 |
包括disable, enable, exit, help和logout命令 |
1 |
包括router>提示值时的所有用户级命令 |
15 |
包括router#提示值时的所有启用级命令 |
可修改这些级别并定义新级别,如图1所示。
图1 启用命令特权级别示例
每个设备上都有静态本地口令与特权级别相关联,这样有一个重要的内在缺陷:每个用户的启用口令必须在用户需访问的每个设备上进行配置。
为缓解这种情况提出的管理可扩展性问题,TACACS+可从中央位置提供特权级别授权控制。TACACS+服务器通常允许各用户有自己的启用口令并获得特定特权级别。这样即可从单一中央位置禁用用户或改变其特权级别,而不会影响其他管理员。
因为特权级别需在网络中每个设备上正确配置,以便管理员能在其管理的设备上有一致的体验,这就引发了另一个主要的问题。而不幸的是,使用TACACS+实现的启用特权级别控制的集中化,并不能解决这一规模管理可扩展性问题。为解决此问题,可在TACACS+服务器中定位命令授权。凭借此设置,设备上键入的任意命令都首先会针对当前特权级别进行检查,如果检查通过,它就会提交给TACACS+服务器进一步检查。图2为此设备用来判断是否用户得到执行命令行授权的逻辑。注意图中的红框标注,标明先要经过本地的登记命令认证,然后再通过ACS的认证。下面授权部分还会具体讲到。
图2 设备逻辑,用户被TACACS+验证;失败;用户登出;壳式授权…;用户输入Cisco IOS命令行;命令是否允许…;下一命令;授权命令行…;设备执行命令行。
作为通用T+壳式服务授权(priv-lvl=)的一部分,TACACS+能在用户登录设备时预定义用户获得的初始特权。这使管理员能在连接至设备时就能立即获得特权级别15。
3, 认证配置
3.1, 添加AAA客户端
a,点击左边“Network Configuration”,进入分组管理后,点击“Add Entry”,进入如下界面,按提示输入。这里要主要的是“key”,这个必须与客户端配置一致,才能进行通信。然后点击“Submit+Restart”即可。
b,客户端上面配置如下即可:
aaa new-model
tacacs-server host a.b.c.d
tacacs-server directed-request
tacacs-server key ****** |
3.2, 添加用户组
ACS可以通过设置分组,来管理同一权限等级以及可管理设备等。其他配置可以都为缺省,但是TACACS+ Settings那一栏里面需要选中红框标注部分,等级可以按照自己定义。然后点击下面的“Submit+Restart”即可。可以看到图示中接下来有一个Shell Command Authorization Set,下面会具体讲到这一块功能。
3.3, 添加用户成员
a,点击“User Setup”,添加用户名,点击“Add/Edit”,进入下一个界面;
b,输入密码,选择正确的用户组,点击“Submit”即可。
aaa authentication login default group tacacs+ enable
aaa authentication enable default group tacacs+ enable |
4, 授权配置
这里主要讲一下命令集设置。
a,点击左边“Shared Profile Components”,继续点击“Shell Command Authorization Sets”,进入下一个界面;
b,Add一个set后,出现如下界面:
注解如下:当选中“Deny”时表示不匹配框中命令的全部拒绝,后面勾选“Permit Unmatched Args”表示不匹配框中命令的全部允许。然后这个框中的命令格式为permit/deny ***。比如说要允许show run这个命令,须点选Deny,然后在框中add命令show,然后在右框中输入permit run或者勾选“Permit Unmatched Args”。需要注意的是左边框中的命令必须在AAA客户端本地有命令集,也就是应证了ACS的授权处理过程:先匹配本地命令集,再匹配ACS的命令集。
c,将这个命令集绑定到用户组或者用户,如下图,点击“Submit+Restart”即可。
d,客户端配置
aaa authorization console
aaa authorization config-commands
aaa authorization exec default group tacacs+ none
aaa authorization commands 1 default group tacacs+ none
aaa authorization commands 15 default group tacacs+ none
privilege interface level 10 shutdown
privilege interface level 10 no
privilege interface level 10 sw
privilege interface level 10 switchport
privilege interface level 10 switchport mode access
privilege configure level 10 interface
privilege exec level 10 configure
privilege exec level 10 show run |
对命令的注解:
l aaa authorization console这是个隐藏!!表示对从console口登陆的用户也用AAA服务器进行授权。如果不配置这条命令,无论你是否在line console 0 配置 authorization exec default或者 authorization command 15 default 等等,交换机都不会对console用户输入的任何命令发到AAA服务器进行授权的检查!也就是说,根本不能对console用户进行任何命令的限制,只要用户名和密码正确,在console口就可以作任何事。基本上在IOS 12.0(9)之前的版本里,没有这个命令。
l aaa authorization config-commands 这个命令表示对 (config)# 全局模式下输入的命令也进行授权检查。否则,只会对“>”用户模式和“#”特权模式下的命令进行授权的检查。如果是这样,只要你允许某个用户在特权模式下运行 “config t”,那么他就可以在全局模式下运行任何命令。显然,很多时候我们需要允许用户进入全局模式下进行配置,但是又只能允许他运行某些命令。这就必须要在交换机上配置这条命令。
l 配置中的“default”是关键字,默认系统的认证,授权,计费都是用“default”列表。当然你可以配置其他的名字,如aaa authorization exec TELNET group tacacs+ none…然后在你想要应用的端口应用他们:
line vty 0 15
login authentication TELNET
l Privilege命令是指在本地建立等级10的命令集,有了这些才可能在ACS上面做相应的配置。
5, 记账配置
记账配置比较简单,如下:
aaa accounting exec default start-stop group tacacs+
aaa accounting commands 10 default start-stop group tacacs+
aaa accounting network default start-stop group tacacs+
aaa accounting system default start-stop group tacacs+ |
命令注解:
Exec表示执行config后的命令都记录;
Command 10的表示针对这个级别进行记录;
Network表示网络上面的协议进行记录;
System表示系统的记录。
在ACS上面的体现如下:点击左边的“Reports and Activity”,然后点击Reports里面的选项会看到如下的记录等。
That’s all,thanks.
当然这只是一个简单文档,详细配置还需要进一步研究测试,但是弄好了上面的配置就很能满足分权限集中管理的需求了。
6, 权限等级应用实例
网络管理员角色需求:
Ø 定义一个只读权限帐号,等级为level5;
Ø 定义一个能修改interface的权限帐号,等级为level10.
根据上面阐述,权限等级2~14等级必须在IOS上面配置必要的命令集配置,所以在交换机配置命令集如下:
//AAA配置
aaa new-model
aaa authentication login default group tacacs+ local none
aaa authorization config-commands //针对(config)#下命令集中授权
aaa authorization exec default group tacacs+ local none
aaa authorization commands 1 default group tacacs+ local none
aaa authorization commands 5 default group tacacs+ local none
aaa authorization commands 10 default group tacacs+ local none
aaa authorization commands 15 default group tacacs+ local none
aaa accounting exec default start-stop group tacacs+
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 5 default start-stop group tacacs+
aaa accounting commands 10 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+ |
//权限等级命令集配置
privilege exec level 5 show start
privilege exec level 10 configure
privilege exec level 10 write
privilege configure level 10 interface
privilege interface level 10 shutdown
privilege interface level 10 switchport access vlan
tacacs-server host a.b.c.d
tacacs-server directed-request
tacacs-server key ****** |
ACS上面进行如下配置:
上面这个图表示这个权限的用户不能执行int g0/1和int g0/2的命令,但可以执行int g0/3等。
其他配置请参考上面阐述。