简介
AAA(Authentication AuthorizationAccounting)身份验证是Cisco开发的一个提供网络安全的系统。
AAA系统的简称:
认证(Authentication):验证用户的身份与可使用的网络服务;
授权(Authorization):依据认证结果开放网络服务给用户;
计帐(Accounting):记录用户对各种网络服务的用量,并提供给计费系统。
实验
本实验将在ACSServer上安装Cisco的ACS软件,在交换机SW1上配置使用AAA,在PC上跨VLAN进行登录测试。
1.安装ACS与交换机基本配置:
在ACS Server(Windows Server 2003)上安装ACS:
交换机基本配置:
SW1(config)#vlan 1
SW1(config)#int f0/1
SW1(config-if)#switchport mode access
SW1(config-if)#switchport access vlan 1
SW1(config)#int f0/11
SW1(config-if)#switchport trunk encapsulation dot1q
SW1(config-if)#switchport mode trunk
SW1(config)#ip routing
SW1(config)#int vlan 1
SW1(config-if)#ip add 172.16.1.1 255.255.255.0
SW1(config-if)#no sh
SW1(config)#int vlan 2
SW1(config-if)#ip add 172.16.2.1 255.255.255.0
SW1(config-if)#no sh
SW2(config)#vlan 2
SW2(config)#int f0/2
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access vlan 2
SW2(config)#int f0/11
SW2(config-if)#switchport trunk encapsulation dot1q
SW2(config-if)#switchport mode trunk
SW2(config)#no ip routing
2.配置认证:
通常管理员是Telnet到交换机来配置交换机的,这里假设需要为不同管理员创建不同的用户。使用AAA认证后,管理员Telnet到交换机后输入用户名和密码,然后交换机会作为AAA的客户端在AAA服务器上进行认证并允许或者不允许用户Telnet。
在AAA服务器进行认证配置:
创建AAA客户端:
填写客户端信息:SW1为交换机上的hostname;172.16.1.1是交换机的管理Vlan 1的IP地址;SharedSecret是
SW1和ACS之间相互验证的密码;并选择使用TACACS服务器来进行认证。
创建用户:yly为用户名。
填写用户信息:password为用户的密码。
在AAA客户端(SW1)进行认证配置:
SW1(config)#aaanew-model//启用AAA认证
SW1(config)#tacacs-server host172.16.1.1//指明AAA服务器的IP地址
SW1(config)#tacacs-server keycisco//指明和AAA服务器相互认证时的密码
SW1(config)#aaa authentication loginTEST_LOGIN group tacacs+
//创建名为TEST_LOGIN的认证列表,该列表使用TACACS进行认证
SW1#test aaa group tacacs+ ylyciscolegacy//测试刚创建的用户是否正常
//测试正常
SW1(config)#line vty 04
SW1(config-line)#login authenticationTEST_LOGIN//使用前面创建的TEST_LOGIN认证列表对
Telnet或SSH用户进行认证
SW1(config)#aaa authentication enabledefaultenable//特权模式密码(enablepassword/secret)
为交换机本地读取
SW1(config)#enable secretcisco//配置交换机特权模式密码
说明:从管理上讲,应为不同用户设置不同的enable密码,但ACS不支持,这里使用了交换机本地enable密码。
实验调试:
从PC上Telnet交换机SW1进行测试:
以上说明用户能够使用AAA服务器上创建的用户正常地Telnet到交换机。
3.配置授权:
在第2步中,用户成功Telnet到交换机后,就可以随意对交换机进行操作了。可以配置授权,明确指明用户可以执行什么命令。下面以授权上边创建过的yly用户进行实验配置。
这里以假设yly用户可以进行以下操作进行授权的:
SW1#configure terminal
SW1(config)#router rip
SW1(config-router)#version 2
SW1(config-router)#network 172.16.0.0
在AAA服务器进行授权配置:
配置Default Group组:可以为每个用户单独进行授权,也可以为组进行授权,这里以为组进行授权;yly用户默
认属于Default Group组。
配置授权命令:勾选shell(exec),允许授权组进入exec模式(即特权模式#);Unmatched Cisco IOScommands为
deny,意思是凡是没有明确授权的命令不能执行;配置允许执行configure命令,仅可以带参数terminal。
配置另外的授权命令:network和version命令可以带任何参数。
在AAA客户端(SW1)进行授权配置:
SW1(config)#aaa authorization execTEST grouptacacs+//exec模式/#的授权列表为TEST
SW1(config)#aaa authorizationconfig-commands//配置模式/(config)#下的命令要进行授权
SW1(config)#aaa authorizationconfiguration TEST grouptacacs+//配置模式的授权列表为TEST
SW1(config)#aaa authorizationcommands 15 TEST grouptacacs+//等级为15的命令授权列表为TEST
SW1(config)#line vty 04
SW1(config-line)#authorization execTEST//进入exec模式使用TEST进行授权
SW1(config-line)#authorizationcommands 15TEST//执行等级为15的命令使用TEST进行授权
说明:
①在IOS中,不同命令有不同的默认等级,例如,disable的等级是1,show running、configureterminal和
router rip等命令的等级是15。
②用户登录后也有不同的默认等级,用户模式下是1,特权模式下是15,用户可以执行比自己等级低的命令;
使用“show privilege”命令可查看用户自己的等级。
③试验中配置只要求在exec模式下以及执行等级为15的命令使用列表TEST进行授权,这意味着等级为其它的命
令就不需要授权了,例如show version命令等。
实验调试:
从PC上Telnet交换机SW1进行测试:
4.配置审计:
审计就是记录用户所做的事情。
在AAA客户端(SW1)配置审计:
SW1(config)#aaa accounting execACC start-stop group tacacs+
SW1(config)#aaa accounting commands 0ACC start-stop group tacacs+
SW1(config)#aaa accounting commands 1ACC start-stop grouptacacs+
SW1(config)#aaa accounting commands 15 ACC start-stop grouptacacs+
//以上配置用户进入exec模式,命令等级为0、1和15的审计列表为ACC
SW1(config)#line vty 04
SW1(config-line)#accounting exec ACC
SW1(config-line)#accountingcommands 0 ACC
SW1(config-line)#accounting commands1 ACC
SW1(config-line)#accounting commands15 ACC
//以上配置用户进入exec模式,执行等级为0、1和15的命令都要审计
在AAA服务器查看审计信息: