本文档说明如何在Cisco Aironet接入点(AP)上启用TACACS Plus(TACACS+)服务,以便使用TACACS+服务器执行登录身份验证。
尝试进行此配置之前,请确保满足以下要求:
了解如何在Aironet AP上配置基本参数
了解如何配置TACACS+服务器(如思科安全访问控制服务器(ACS))
TACACS+概念知识
有关TACACS+如何工作的信息,请参阅配置RADIUS和TACACS+服务器的了解TACACS+部分。
本文档中的信息基于以下软件和硬件版本:
Aironet Cisco Aironet 1240/1140系列接入点
运行软件版本4.1的ACS
运行软件版本5.2的ACS
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本节介绍如何为基于TACACS+的登录身份验证配置Aironet AP和TACACS+服务器(ACS)。
此配置示例使用以下参数:
ACS的IP地址 — 172.16.1.1/255.255.0.0
AP的IP地址 — 172.16.1.30/255.255.0.0
在AP和TACACS+服务器上使用的共享密钥 — 示例
以下是本示例在ACS上配置的用户凭证:
用户名 — 用户1
密码 — Cisco
组 — 管理员
您需要配置TACACS+功能,以验证尝试通过Web界面或命令行界面(CLI)连接到AP的用户。 要完成此配置,必须执行以下任务:
注意:使用命令查找工具(仅限注册客户)可查找有关本文档中使用的命令的详细信息。
本文档使用以下网络设置:
第一步是设置TACACS+守护程序,以验证尝试访问AP的用户。您必须为TACACS+身份验证设置ACS并创建用户数据库。您可以使用任何TACACS+服务器。本示例将ACS用作TACACS+服务器。请完成以下步骤:
要将AP添加为身份验证、授权和记帐(AAA)客户端,请完成以下步骤:
在ACS GUI中,单击“Network Configuration(网络配置)”选项卡。
在 AAA Clients 下,单击 Add Entry。
在Add AAA Client(添加AAA客户端)窗口中,输入AP主机名、AP的IP地址和共享密钥。
此共享密钥必须与您在AP上配置的共享密钥相同。
从Authenticate Using下拉菜单中,选择TACACS+(Cisco IOS)。
单击Submit + Restart以保存配置。
示例如下:
本示例使用:
AAA客户端主机名接入点
地址172.16.1.30/16作为AAA客户端IP地址
共享密钥示例
要创建包含所有管理(管理员)用户的组,请完成以下步骤:
单击左侧菜单中的“Group Setup”。
系统将显示新窗口。
在“组设置”窗口中,从下拉菜单中选择要配置的组,然后单击“重命名组”。
此示例从下拉菜单中选择组6并重命名组AdminUsers。
单击“Submit”。
示例如下:
要将用户添加到TACACS+数据库,请完成以下步骤:
单击“User Setup(用户设置)”选项卡。
要创建新用户,请在“用户”字段中输入用户名,然后单击“添加/编辑”。
以下是创建User1的示例:
点击Add/Edit后,系统将显示此用户的Add/Edit窗口。
输入特定于此用户的凭据,然后单击Submit以保存配置。
您可以输入的凭据包括:
补充用户信息
用户设置
用户分配到的组
示例如下:
您可以看到此示例将用户User1添加到组AdminUsers。
注意:如果不创建特定组,则用户将分配到默认组。
要定义权限级别,请完成以下步骤:
单击“Group Setup(组设置)”选项卡。
选择之前分配给此用户的组,然后单击“编辑设置”。
本示例使用组AdminUsers。
在TACACS+ Settings(TACACS+设置)下,选中Shell(exec)复选框,并选中Privilege level 复选框,其值为15。
单击 Submit+ Restart。
注:必须为GUI和Telnet定义权限级别15才能作为级别15访问。否则,默认情况下,用户只能作为级别1访问。如果未定义权限级别,并且用户尝试在CLI上进入启用模式(使用Telnet),则AP显示以下错误消息:
AccessPoint>enable % Error in authentication
如果要向TACACS+数据库添加更多用户,请重复此步骤的步骤2至4。完成这些步骤后,TACACS+服务器即可验证尝试登录AP的用户。现在,您必须配置AP以进行TACACS+身份验证。
第一步是在ACS中将AP添加为AAA客户端,并为登录创建TACACS策略。
要将AP添加为AAA客户端,请完成以下步骤:
在ACS GUI中,单击“Network Resources(网络资源)” ,然后单击“Network Devices and AAA Clients(网络设备和AAA客户端)”。
在“Network Devices(网络设备)”下,单击“Create(创建)”。
在Name中输入AP的主机名,并提供有关AP的说明。
如果定义了这些类别,请选择位置和设备类型。
因为只配置了一个AP,所以单击Single IP Address。您可以通过单击IP范围来添加多个AP的IP地址范围。 然后,输入AP的IP地址。
在“Authentication Options”下,选中TACACS+框并输入“Shared Secret”。
示例如下:
下一步是创建登录用户名和密码:
单击“Users and Identity Stores(用户和身份库)” ,然后单击“Users(用户)”。
Click Create.
在Name下提供用户名并提供说明。
选择身份组(如果有)。
在“密码”文本框下输入密码,然后在“确认密码”下重新输入。
可以通过在“启用密码”下输入密码来修改启用密码。重新输入以确认。
示例如下:
要定义权限级别,请完成以下步骤:
单击Policy Elements > Authorizations and Permissions > Device Administration > Shell Profiles。
选中“允许访问”复选框,然后单击“复制”。
输入名称和说明。
选择Common Tasks(常见任务)选项卡,然后为Maximum Privilege(最大权限)选择15。
单击“Submit”。
要创建授权策略,请完成以下步骤:
单击Access Policies > Access Services > Default Device Admin > Authorization。
单击Create以创建新授权策略。
系统将显示一个新弹出窗口,以创建授权策略的规则。
为特定用户名和AAA客户端(AP)选择身份组、位置等(如果有)。
单击Select(为Shell配置文件选择)以选择创建的配置文件Autonomous AP。
完成此操作后,单击“保存更改”。
单击“Default Device Admin(默认设备管理)” ,然后单击“Allowed Protocols(允许的协议)”。
选中允许PAP/ASCII,然后单击提交。
单击Service Selection Rules,确保存在与TACACS匹配并指向Default Device Admin的规则。
您可以使用CLI或GUI在Aironet AP上启用TACACS+功能。本节介绍如何使用GUI配置AP以进行TACACS+登录身份验证。
要使用GUI在AP上配置TACACS+,请完成以下步骤:
要定义TACACS+服务器参数,请完成以下步骤:
从AP GUI中,选择Security > Server Manager。
安全性:系统将显示“服务器管理器”窗口。
在Corporate Servers区域,从Current Server List下拉菜单中选择TACACS+。
在此区域中,输入TACACS+服务器的IP地址、共享密钥和身份验证端口号。
单击 Apply。
示例如下:
注意:默认情况下,TACACS+使用TCP端口49。
注意:在ACS和AP上配置的共享密钥必须匹配。
选择Default Server Priorities > Admin Authentication(TACACS+),从Priority 1下拉菜单中选择您配置的TACACS+服务器IP地址,然后单击Apply。
示例如下:
选择Security > Admin Access,对于Administrator Authenticated by:,选择Authentication Server Only,然后单击Apply。
此选择可确保尝试登录AP的用户通过身份验证服务器进行身份验证。
示例如下:
以下是配置示例的CLI配置:
接入点 |
---|
AccessPoint#show running-config Current configuration : 2535 bytes ! version 12.3 no service pad service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname AccessPoint ! ! ip subnet-zero ! ! aaa new-model !--- Enable AAA. ! ! aaa group server radius rad_eap ! aaa group server radius rad_mac ! aaa group server radius rad_acct ! aaa group server radius rad_admin cache expiry 1 cache authorization profile admin_cache cache authentication profile admin_cache ! aaa group server tacacs+ tac_admin !--- Configure the server group tac_admin. server 172.16.1.1 !--- Add the TACACS+ server 172.16.1.1 to the server group. cache expiry 1 !--- Set the expiration time for the local cache as 24 hours. cache authorization profile admin_cache cache authentication profile admin_cache ! aaa group server radius rad_pmip ! aaa group server radius dummy ! aaa authentication login default group tac_admin !--- Define the AAA login authentication method list to use the TACACS+ server. aaa authentication login eap_methods group rad_eap aaa authentication login mac_methods local aaa authorization exec default group tac_admin !--- Use TACACS+ for privileged EXEC access authorization !--- if authentication was performed with use of TACACS+. aaa accounting network acct_methods start-stop group rad_acct aaa cache profile admin_cache all ! aaa session-id common ! ! username Cisco password 7 00271A150754 ! bridge irb ! ! interface Dot11Radio0 no ip address no ip route-cache shutdown speed basic-1.0 basic-2.0 basic-5.5 basic-11.0 station-role root bridge-group 1 bridge-group 1 subscriber-loop-control bridge-group 1 block-unknown-source no bridge-group 1 source-learning no bridge-group 1 unicast-flooding bridge-group 1 spanning-disabled ! interface Dot11Radio1 no ip address no ip route-cache shutdown speed station-role root bridge-group 1 bridge-group 1 subscriber-loop-control bridge-group 1 block-unknown-source no bridge-group 1 source-learning no bridge-group 1 unicast-flooding bridge-group 1 spanning-disabled ! interface FastEthernet0 no ip address no ip route-cache duplex auto speed auto bridge-group 1 no bridge-group 1 source-learning bridge-group 1 spanning-disabled ! interface BVI1 ip address 172.16.1.30 255.255.0.0 no ip route-cache ! ip http server ip http authentication aaa !--- Specify the authentication method of HTTP users as AAA. no ip http secure-server ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/ea ip radius source-interface BVI1 ! tacacs-server host 172.16.1.1 port 49 key 7 13200F13061C082F tacacs-server directed-request radius-server attribute 32 include-in-access-req format %h radius-server vsa send accounting ! control-plane ! bridge 1 route ip ! ! ! line con 0 transport preferred all transport output all line vty 0 4 transport preferred all transport input all transport output all line vty 5 15 transport preferred all transport input all transport output all ! end |
注意:您必须拥有Cisco IOS软件版本12.3(7)JA或更高版本,才能使此配置中的所有命令正常工作。早期的Cisco IOS软件版本可能没有所有这些命令可用。
使用本部分可确认配置能否正常运行。
命令输出解释程序(仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。
要验证配置,请尝试使用GUI或CLI登录AP。当您尝试访问AP时,AP会提示您输入用户名和密码。
当您提供用户凭证时,AP会将凭证转发到TACACS+服务器。TACACS+服务器根据其数据库中可用的信息验证凭证,并在身份验证成功时提供对AP的访问。您可以在ACS上选择Reports and Activity > Passed Authentication,并使用Passed Authentication报告来检查此用户是否成功进行了身份验证。示例如下:
您还可以使用show tacacs命令来验证TACACS+服务器的配置是否正确。示例如下:
AccessPoint#show tacacs Tacacs+ Server : 172.16.1.1/49 Socket opens: 348 Socket closes: 348 Socket aborts: 0 Socket errors: 0 Socket Timeouts: 0 Failed Connect Attempts: 0 Total Packets Sent: 525 Total Packets Recv: 525
您可以从ACS 5.2验证登录凭证的失败/传递尝试:
单击“监控和报告”>“启动监控和报告查看器”。
系统随即会打开一个新的弹出窗口,其中显示控制面板。
单击Authentications-TACACS-Today。这显示失败/通过尝试的详细信息。
您可以在AP上使用以下debug命令来排除配置故障:
注意:在使用debug命令之前,请参阅有关Debug命令的重要信息。
debug tacacs events — 此命令显示TACACS身份验证期间发生的事件的顺序。以下是此命令的输出示例:
*Mar 1 00:51:21.113: TPLUS: Queuing AAA Authentication request 0 for processing *Mar 1 00:51:21.113: TPLUS: processing authentication start request id 0 *Mar 1 00:51:21.113: TPLUS: Authentication start packet created for 0(User1) *Mar 1 00:51:21.114: TPLUS: Using server 172.16.1.1 *Mar 1 00:51:21.115: TPLUS(00000000)/0/NB_WAIT/C6DC40: Started 5 sec timeout *Mar 1 00:51:21.116: TPLUS(00000000)/0/NB_WAIT: socket event 2 *Mar 1 00:51:21.116: TPLUS(00000000)/0/NB_WAIT: wrote entire 25 bytes request *Mar 1 00:51:21.116: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:51:21.117: TPLUS(00000000)/0/READ: Would block while reading *Mar 1 00:51:21.120: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:51:21.120: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect 16 bytes data) *Mar 1 00:51:21.120: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:51:21.120: TPLUS(00000000)/0/READ: read entire 28 bytes response *Mar 1 00:51:21.121: TPLUS(00000000)/0/C6DC40: Processing the reply packet *Mar 1 00:51:21.121: TPLUS: Received authen response status GET_PASSWORD (8) *Mar 1 00:51:21.121: TPLUS: Queuing AAA Authentication request 0 for processing *Mar 1 00:51:21.121: TPLUS: processing authentication continue request id 0 *Mar 1 00:51:21.122: TPLUS: Authentication continue packet generated for 0 *Mar 1 00:51:21.122: TPLUS(00000000)/0/WRITE/C6DC40: Started 5 sec timeout *Mar 1 00:51:21.122: TPLUS(00000000)/0/WRITE: wrote entire 22 bytes request *Mar 1 00:51:21.178: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:51:21.178: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect 6 bytes data) *Mar 1 00:51:21.178: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:51:21.178: TPLUS(00000000)/0/READ: read entire 18 bytes response *Mar 1 00:51:21.179: TPLUS(00000000)/0/C6DC40: Processing the reply packet *Mar 1 00:51:21.179: TPLUS: Received authen response status PASS (2)
debug ip http authentication — 使用此命令排除HTTP身份验证问题。命令显示路由器尝试的身份验证方法和特定于身份验证的状态消息。
debug aaa authentication — 此命令显示有关AAA TACACS+身份验证的信息。
如果用户输入TACACS+服务器上不存在的用户名,则身份验证失败。以下是debug tacacs authentication命令输出,用于失败的身份验证:
*Mar 1 00:07:26.624: TPLUS: Queuing AAA Authentication request 0 for processing *Mar 1 00:07:26.624: TPLUS: processing authentication start request id 0 *Mar 1 00:07:26.624: TPLUS: Authentication start packet created for 0(User3) *Mar 1 00:07:26.624: TPLUS: Using server 172.16.1.1 *Mar 1 00:07:26.625: TPLUS(00000000)/0/NB_WAIT/A88784: Started 5 sec timeout *Mar 1 00:07:26.626: TPLUS(00000000)/0/NB_WAIT: socket event 2 *Mar 1 00:07:26.626: TPLUS(00000000)/0/NB_WAIT: wrote entire 25 bytes request *Mar 1 00:07:26.627: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:07:26.627: TPLUS(00000000)/0/READ: Would block while reading *Mar 1 00:07:26.631: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:07:26.632: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect 16 bytes data) *Mar 1 00:07:26.632: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:07:26.632: TPLUS(00000000)/0/READ: read entire 28 bytes response *Mar 1 00:07:26.632: TPLUS(00000000)/0/A88784: Processing the reply packet *Mar 1 00:07:26.632: TPLUS: Received authen response status GET_PASSWORD (8) *Mar 1 00:07:26.632: TPLUS: Queuing AAA Authentication request 0 for processing *Mar 1 00:07:26.633: TPLUS: processing authentication continue request id 0 *Mar 1 00:07:26.633: TPLUS: Authentication continue packet generated for 0 *Mar 1 00:07:26.634: TPLUS(00000000)/0/WRITE/A88784: Started 5 sec timeout *Mar 1 00:07:26.634: TPLUS(00000000)/0/WRITE: wrote entire 22 bytes request *Mar 1 00:07:26.688: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:07:26.688: TPLUS(00000000)/0/READ: read entire 12 header bytes (expect 6 bytes data) *Mar 1 00:07:26.689: TPLUS(00000000)/0/READ: socket event 1 *Mar 1 00:07:26.689: TPLUS(00000000)/0/READ: read entire 18 bytes response *Mar 1 00:07:26.689: TPLUS(00000000)/0/A88784: Processing the reply packet *Mar 1 00:07:26.689: TPLUS: Received authen response status FAIL (3)
您可以选择Reports and Activity > Failed Authentication,以查看ACS上的身份验证尝试失败。示例如下:
如果在AP上使用早于Cisco IOS软件版本12.3(7)JA的Cisco IOS软件版本,则每次尝试使用HTTP登录AP时都可能会遇到Bug。Cisco Bug ID为CSCeb52431(仅限注册客户)。
Cisco IOS软件HTTP/AAA实施要求对每个单独的HTTP连接进行独立身份验证。无线Cisco IOS软件GUI涉及在单个网页(例如Javascript和GIF)中引用数十个单独的文件。 因此,如果在无线Cisco IOS软件GUI中加载一个页面,则会有数十个和几十个单独的身份验证/授权请求命中AAA服务器。
对于HTTP身份验证,请使用RADIUS或本地身份验证。RADIUS服务器仍要接受多个身份验证请求。但RADIUS比TACACS+更具扩展性,因此它对性能的影响可能不那么恶劣。
如果必须使用TACACS+,并且您有Cisco ACS,请将single-connection关键字与tacacs-server命令一起使用。将此关键字与命令一起使用可节省ACS的大部分TCP连接设置/拆卸开销,并可能在一定程度上降低服务器的负载。
对于AP上的Cisco IOS软件版本12.3(7)JA及更高版本,软件包括修复。本节的其余部分将介绍修复方法。
使用AAA身份验证缓存功能以缓存TACACS+服务器返回的信息。身份验证缓存和配置文件功能允许AP缓存用户的身份验证/授权响应,以便后续的身份验证/授权请求无需发送到AAA服务器。要通过CLI启用此功能,请使用以下命令:
cache expiry cache authorization profile cache authentication profile aaa cache profile
有关此功能和命令的详细信息,请参阅管理接入点的配置身份验证缓存和配置文件部分。
要在GUI上启用此功能,请选择Security > Admin Access,然后选中Enable Authentication Server Caching复选框。由于本文档使用Cisco IOS软件版本12.3(7)JA,因此本文档使用修复,如配置所示。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
07-Sep-2012 |
初始版本 |