WLC-9800(config)# aaa group server radius RADIUS-Group
WLC-9800(config-sg-radius)# server name ISE-lab
第三步:创建指向RADIUS服务器组的AAA身份验证登录方法。
在GUI中:
仍在GUI页面上https://<WLC-IP>/webui/#/aaa,导航至AAA Method List > Authentication选项卡,然后创建身份验证方法,如此图中所示。
与往常一样,使用Add按钮创建身份验证方法时,系统会显示配置弹出窗口,类似于下图中所示的窗口。
在此弹出窗口中,为方法提供一个名称。选择Type(作为登录),将在上一步中创建的组服务器添加到Assigned Server Groups列表中。对于Group Type字段,可以进行几种配置。
- 如果您选择Group Type作为local,则WLC首先检查用户凭证是否存在于本地,然后回退到服务器组。
- 如果您选择Group Type作为组并且不选中Fall back to local选项,则WLC仅检查服务器组的用户凭证。
- 如果您选择Group Type作为组并选中Fallback to local选项,则WLC将根据服务器组检查用户凭证,并且仅在服务器未响应时查询本地数据库。如果服务器发送reject消息,则将对用户进行身份验证,即使它可能存在于本地数据库中。
从CLI:
如果您希望只有在首先在本地未找到用户凭证的情况下才使用服务器组检查用户凭证,请使用:
WLC-9800(config)#aaa authentication login radius-authe-method local group RADIUS-Group
如果您希望仅对服务器组检查用户凭证,请使用:
WLC-9800(config)#aaa authentication login radius-authe-method group RADIUS-Group
如果要对服务器组检查用户凭证,并且最后不响应本地条目,请使用:
WLC-9800(config)#aaa authentication login radius-authe-method group RADIUS-Group local
在此示例设置中,有些用户仅在本机创建,而有些用户仅在ISE服务器上创建,因此,请使用第一个选项。
第四步:创建指向RADIUS服务器组的AAA授权exec方法。
在GUI中:
用户还必须获得授权才能获得访问权限。仍然可以从GUI Page Configuration > Security > AAA中,导航到AAA Method List > Authorization选项卡,然后创建授权方法,如此图中所示。
授权方法创建
当您使用Add按钮添加新授权方法时,会显示与所描述授权方法配置类似的弹出窗口。
在此配置弹出窗口中,为授权方法提供一个名称,选择Type作为exec,并使用与步骤3中用于身份验证方法的组类型顺序相同的组类型。
从CLI:
对于身份验证方法,首先分配授权以根据本地条目检查用户,然后根据服务器组中的条目检查用户。
WLC-9800(config)#aaa authorization exec radius-autho-method local group RADIUS-Group
第五步:将方法分配给HTTP配置和用于Telnet/SSH的VTY线路。
在GUI中:
创建的身份验证和授权方法可用于HTTP和/或Telnet/SSH用户连接,从AAA Advanced > AAA Interface选项卡可以配置该连接,但该选项卡仍可从GUI WLC页(可在https://<WLC-IP>/webui/#/aaa中访问)访问,如下图所示:
用于GUI身份验证的CLI:
WLC-9800(config)#ip http authentication aaa login-authentication radius-authe-method
WLC-9800(config)#ip http authentication aaa exec-authorization radius-autho-method
Telnet/SSH身份验证的CLI:
WLC-9800(config)#line vty 0 15 WLC-9800(config-line)#login authentication radius-authe-method
WLC-9800(config-line)#authorization exec radius-autho-method
请注意,当对HTTP配置执行更改时,最好重新启动HTTP和HTTPS服务。可以使用以下命令实现此目的:
WLC-9800(config)#no ip http server WLC-9800(config)#no ip http secure-server WLC-9800(config)#ip http server WLC-9800(config)#ip http secure-server
为RADIUS配置ISE
步骤1:将WLC配置为RADIUS的网络设备。
在GUI中:
要声明上一节中使用的WLC是ISE中的RADIUS网络设备,请导航到Administration > Network Ressources > Network Devices(默认)并打开Network devices(网络设备)选项卡,如下一图所示。
要添加网络设备,请使用Add按钮,该按钮将打开新的网络设备配置表。
在新窗口中,为网络设备提供一个名称,并添加其IP地址。选择RADIUS身份验证设置并配置与WLC上使用的RADIUS共享密钥相同的RADIUS共享密钥。
第二步:创建授权结果,以返回权限。
在GUI中:
要获得管理员访问权限,adminuser的权限级别必须为15,以允许访问exec提示外壳。另一方面,helpdeskuser则不需要exec提示符外壳访问,因此可以分配权限级别低于15。要为用户分配适当的权限级别,可以使用授权配置文件。这些可以从ISE GUI Page Policy > Policy Elements > Results选项卡下的Authorization > Authorization Profiles配置(如下图所示)。
要配置新的授权配置文件,请使用Add按钮,这将打开新的授权配置文件配置表。要配置分配给adminuser的配置文件,此表单必须尤其如下所示。
显示的配置将权限级别15授予与其关联的任何用户。如前所述,这是在下一步中创建的adminuser的预期行为。但是,helpdeskuser的权限级别必须较低,因此必须创建第二个策略元素。
helpdeskuser的策略元素与上面创建的策略元素相似,不同之处在于字符串必shell:priv-lvl=15 须更改为shell:priv-lvl=X,并将X替换为所需的权限级别。在本例中,使用1。
第三步:在ISE上创建用户组。
从 GUI:
通过Administration > Identity Management > Groups GUI Page的User Identity Groups选项卡创建ISE用户组,如屏幕截图所示。
要创建新用户,请使用Add按钮,该按钮将打开新的用户身份组配置表单,如下所示。
提供创建的组的名称。创建上面讨论的两个用户组,即admin-group 和helpdesk-group。
第四步:在ISE上创建用户。
从 GUI:
ISE用户通过Administration > Identity Management > Identities GUI Page的用户选项卡创建,如屏幕截图所示。
要创建新用户,请使用Add按钮打开新的网络访问用户配置表,如下所示。
向用户提供凭证,即用于在WLC上进行身份验证的用户名和密码。并且,确保用户的状态为Enabled。最后,在表单末尾的User Groups下拉菜单中,将用户添加到其相关组(已在步骤4.中创建)。
创建上面讨论的两个用户,即adminuser和helpdeskuser。
第五步:对用户进行身份验证。
在GUI中:
在此场景中,ISE的默认策略集的身份验证策略(已预配置)允许默认网络访问。此策略设置可在ISE GUI页面的Policy > Policy Sets中查看,如下图所示。因此,没有必要对其进行更改。
第六步:授权用户。
在GUI中:
登录尝试通过身份验证策略后,需要对其进行授权,并且ISE需要返回之前创建的授权配置文件(允许接受,以及权限级别)。
在本示例中,根据设备IP地址(即WLC IP地址)过滤登录尝试,并根据用户所属的组区分要授予的权限级别。另一个有效的方法是根据用户的用户名过滤用户,因为在本例中,每个组仅包含一个用户。
完成此步骤后,为adminuser 和helpdesk用户配置的凭证可用于在WLC中通过GUI或通过Telnet/SSH进行身份验证。
配置TACACS+ WLC
步骤1:声明TACACS+服务器。
在GUI中:
首先,在WLC上创建Tacacs+服务器ISE。 可以在https://<WLC-IP>/webui/#/aaa中访问的GUI WLC页面的选项卡Servers/Groups > TACACS+ > Servers中完成此操作,或者导航到Configuration > Security > AAA(如下图所示)。
要在WLC上添加TACACS服务器,请点击上图中的红色帧的Add按钮。这将打开所描述的弹出窗口。
弹出窗口打开时,请提供服务器名称(不必与ISE系统名称匹配)、IP地址、共享密钥、使用的端口和超时。
在此弹出窗口中,必须提供:
- 服务器名称(请注意,不必与ISE系统名称匹配)
- 服务器IP地址
- WLC和TACACS+服务器之间的共享密钥
可以配置其他参数,例如用于身份验证和记账的端口,但这些不是强制性的,保留为本文档的默认设置。
从CLI:
WLC-9800(config)#tacacs server ISE-lab WLC-9800(config-server-tacacs)#address ipv4 10.48.39.134 WLC-9800(config-server-tacacs)#key Cisco123
第二步:将TACACS+服务器映射到服务器组。
在GUI中:
如果您有多个可用于身份验证的TACACS+服务器,建议将这些服务器映射到同一服务器组。然后,WLC负责对服务器组中的服务器之间的不同身份验证进行负载均衡。TACACS+服务器组通过第1步中提到的GUI页面(如图所示)的Servers/Groups > TACACS > Server Groups选项卡配置。
对于服务器的创建,当您单击先前图像(如图所示)中的Add按钮时,会出现一个弹出窗口。
在弹出窗口中,为组指定名称,并将所需服务器移至Assigned Servers列表。
从CLI:
WLC-9800(config)#aaa group server tacacs+ TACACS-Group WLC-9800(config-sg-tacacs+)#server name ISE-lab
第三步:创建指向TACACS+服务器组的AAA身份验证登录方法。
在GUI中:
仍在GUI页面上https://<WLC-IP>/webui/#/aaa,导航至AAA Method List > Authentication选项卡,然后创建身份验证方法(如图所示)。
与往常一样,使用Add按钮创建身份验证方法时,系统会显示配置弹出窗口,类似于下图中所示的窗口。
在此弹出窗口中,为方法提供一个名称,选择Type作为login,并将上一步中创建的组服务器添加到Assigned Server Groups列表。对于Group Type字段,可以进行几种配置。
- 如果您选择Group Type作为local,则WLC首先检查用户凭证是否存在于本地,然后回退到服务器组。
- 如果您选择Group Type作为组并且不选中Fall back to local选项,则WLC仅检查服务器组的用户凭证。
- 如果您选择Group Type作为组并选中Fallback to local选项,则WLC将根据服务器组检查用户凭证,并且仅在服务器未响应时查询本地数据库。如果服务器发送reject消息,则将对用户进行身份验证,即使它可能存在于本地数据库中。
从CLI:
如果您希望只有在首先在本地未找到用户凭证的情况下才使用服务器组检查用户凭证,请使用:
WLC-9800(config)#aaa authentication login tacacs-authe-method local group TACACS-Group
如果您希望仅对服务器组检查用户凭据,请使用:
WLC-9800(config)#aaa authentication login tacacs-authe-method group TACACS-Group
如果要对服务器组检查用户凭证,并且如果最后未使用本地条目进行响应,请使用:
WLC-9800(config)#aaa authentication login tacacs-authe-method group TACACS-Group local
在此示例设置中,有些用户仅在本机创建,而有些用户仅在ISE服务器上创建,因此使用第一个选项。
第四步:创建指向TACACS+服务器组的AAA授权exec方法。
在GUI中:
用户还必须获得授权才能获得访问权限。 Configuration > Security > AAA
仍在GUI页面上,导航至AAA Method List > Authorization选项卡,然后创建授权方法(如图所示)。
当您使用Add按钮添加新授权方法时,会显示与所描述授权方法配置类似的弹出窗口。
在此配置弹出窗口中,为授权方法提供一个名称,选择Type作为exec,并使用与上一步中用于身份验证方法的组类型顺序相同的组类型顺序。
从CLI:
WLC-9800(config)#aaa authorization exec tacacs-autho-method local group TACACS-Group
第五步:将方法分配给HTTP配置和用于Telnet/SSH的VTY线路。
在GUI中:
创建的身份验证和授权方法可用于HTTP和/或Telnet/SSH用户连接,该连接可在AAA Advanced > AAA Interface选项卡上配置的,仍可从GUI WLC页(可在https://<WLC-IP>/webui/#/aaa中访问)访问,如图所示。
从CLI:
对于GUI身份验证:
WLC-9800(config)#ip http authentication aaa login-authentication tacacs-authe-method
WLC-9800(config)#ip http authentication aaa exec-authorization tacacs-autho-method
对于Telnet/SSH身份验证:
WLC-9800(config)#line vty 0 15
WLC-9800(config-line)#login authentication tacacs-authe-method
WLC-9800(config-line)#authorization exec tacacs-autho-method
请注意,当对HTTP配置执行更改时,最好重新启动HTTP和HTTPS服务。这可以通过这些命令来实现。
WLC-9800(config)#no ip http server
WLC-9800(config)#no ip http secure-server
WLC-9800(config)#ip http server
WLC-9800(config)#ip http secure-server
TACACS+ ISE配置
步骤1:将WLC配置为TACACS+的网络设备。
在GUI中:
要声明上一节中使用的WLC是ISE中的RADIUS网络设备,请导航到Administration > Network Resources > Network Devices,然后打开“网络设备”选项卡,如此图中所示。
在本示例中,已为RADIUS身份验证添加了WLC(请参阅配置RADIUS ISE部分的步骤1)。因此,只需修改其配置即可配置TACACS身份验证,当您在网络设备列表中选择WLC并点击Edit按钮即可完成此任务。此时会打开网络设备配置表,如下图所示。
打开新窗口后,向下滚动到TACACS Authentication Settings部分,启用这些设置,并添加在Configure TACACS+ WLC部分的步骤1中输入的共享密钥。
第二步:启用节点的设备管理功能。
注意:要将ISE用作TACACS+服务器,您必须具有设备管理许可证包以及基础许可证或移动许可证。
在GUI中:
安装设备管理许可证后,必须启用节点的设备管理功能,才能将ISE用作TACACS+服务器。为此,请编辑所用ISE部署节点的配置(可在Administrator > Deployment下找到),然后单击其名称或借助Edit按钮执行此操作。
打开节点配置窗口后,选中Policy Service部分下的Enable Device Admin Service选项,如此图中所示。
第三步:创建TACACS配置文件,以返回权限。
在GUI中:
要获得管理员访问权限,adminuser的权限级别必须为15,以允许访问exec提示外壳。另一方面,helpdeskuser则不需要exec提示符外壳访问,因此可以分配权限级别低于15。要为用户分配适当的权限级别,可以使用授权配置文件。可以从ISE GUI页面Work Centers > Device Administration > Policy Elements在Results > TACACS Profiles选项卡下配置,如下图所示。
要配置新的TACACS配置文件,请使用Add按钮,该按钮会打开新的配置文件配置表,类似于图中所示的表单。要配置分配给adminuser(即,外壳权限级别为15)的配置文件,此表单尤其必须如下所示。
对helpdesk配置文件重复此操作。最后,Default Privilege和Maximum Privilege均设置为1。
第四步:在ISE上创建用户组。
这类似于本文档配置RADIUS ISE部分的步骤3。
第五步:在ISE上创建用户。
这类似于本文档配置RADIUS ISE部分的步骤4。
第六步:创建设备管理策略集。
在GUI中:
对于RADIUS访问,用户创建后,仍需要在ISE上定义其身份验证和授权策略,以便授予他们适当的访问权限。TACACS身份验证使用设备管理策略集实现这一目的,可以通过Work Centers > Device Administration > Device Admin Policy Sets GUI Page进行配置,如下所示。
要创建设备管理策略集,请使用上一映像中以红色框框显示的添加按钮,这会将项目添加到策略集列表。为新创建的组提供一个名称、必须应用该名称的条件以及允许的协议/服务器序列(此处,Default Device Admin足够)。使用Save按钮完成策略集的添加,并使用其右侧的箭头访问其配置页(如图所示)。
此示例中的特定策略集“WLC TACACS Authentication”过滤IP地址与示例C9800 WLC IP地址相等的请求。
作为身份验证策略,Default Rule已保留,因为它满足使用案例的需要。已设置两个授权规则:
- 当用户属于已定义的组
admin-group时,将触发第一个值。它允许所有命令(通过默认Permit_all规则)并分配权限15(通过定义的IOS_Admin TACACS配置文件)。
- 当用户属于定义的组
helpdesk-group时,触发第二个。 它允许所有命令(通过默认规Permit_all 则)并分配权限1(通过定义的IOS_HelpdeskTACACS配置文件)。
完成此步骤后,为adminuser和helpdesk用户配置的凭证可用于在WLC中通过GUI或Telnet/SSH进行身份验证。
故障排除
如果您的RADIUS服务器期望发送服务类型RADIUS属性,则可以在WLC上添加:
radius-server attribute 6 on-for-login-auth
通过WLC CLI排除WLC GUI或CLI RADIUS/TACACS+访问故障
为了对通过TACACS+访问WLC GUI或CLI进行故障排除,请发出debug tacacs命令以及terminal monitor one,并在尝试登录后查看实时输出。
例如,成功登录后注销adminuser用户将生成以下输出。
WLC-9800#terminal monitor
WLC-9800#debug tacacs
TACACS access control debugging is on
WLC-9800#
Dec 8 11:38:34.684: TPLUS: Queuing AAA Authentication request 15465 for processing
Dec 8 11:38:34.684: TPLUS(00003C69) login timer started 1020 sec timeout Dec 8 11:38:34.684: TPLUS: processing authentication start request id 15465 Dec 8 11:38:34.685: TPLUS: Authentication start packet created for 15465(adminuser) Dec 8 11:38:34.685: TPLUS: Using server 10.48.39.134 Dec 8 11:38:34.685: TPLUS(00003C69)/0/NB_WAIT/7FD29013CA68: Started 5 sec timeout Dec 8 11:38:34.687: TPLUS(00003C69)/0/NB_WAIT: socket event 2 Dec 8 11:38:34.688: TPLUS(00003C69)/0/NB_WAIT: wrote entire 45 bytes request Dec 8 11:38:34.688: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:34.688: TPLUS(00003C69)/0/READ: Would block while reading Dec 8 11:38:34.701: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:34.701: TPLUS(00003C69)/0/READ: read entire 12 header bytes (expect 15 bytes data) Dec 8 11:38:34.701: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:34.701: TPLUS(00003C69)/0/READ: read entire 27 bytes response Dec 8 11:38:34.701: TPLUS(00003C69)/0/7FD29013CA68: Processing the reply packet Dec 8 11:38:34.701: TPLUS: Received authen response status GET_PASSWORD (8) Dec 8 11:38:38.156: TPLUS: Queuing AAA Authentication request 15465 for processing Dec 8 11:38:38.156: TPLUS(00003C69) login timer started 1020 sec timeout Dec 8 11:38:38.156: TPLUS: processing authentication continue request id 15465 Dec 8 11:38:38.156: TPLUS: Authentication continue packet generated for 15465 Dec 8 11:38:38.156: TPLUS(00003C69)/0/WRITE/7FD3796079D8: Started 5 sec timeout Dec 8 11:38:38.156: TPLUS(00003C69)/0/WRITE: wrote entire 29 bytes request Dec 8 11:38:38.183: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:38.183: TPLUS(00003C69)/0/READ: read entire 12 header bytes (expect 6 bytes data) Dec 8 11:38:38.183: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:38.183: TPLUS(00003C69)/0/READ: read entire 18 bytes response Dec 8 11:38:38.183: TPLUS(00003C69)/0/7FD3796079D8: Processing the reply packet Dec 8 11:38:38.183: TPLUS: Received authen response status PASS (2) Dec 8 11:38:38.184: %SEC_LOGIN-5-LOGIN_SUCCESS: Login Success [user: adminuser] [Source: 10.61.80.151] [localport: 22] at 12:38:38 CET Thu Dec 8 2022 Dec 8 11:38:38.259: TPLUS: Queuing AAA Authorization request 15465 for processing Dec 8 11:38:38.260: TPLUS(00003C69) login timer started 1020 sec timeout Dec 8 11:38:38.260: TPLUS: processing authorization request id 15465 Dec 8 11:38:38.260: TPLUS: Protocol set to None .....Skipping Dec 8 11:38:38.260: TPLUS: Sending AV service=shell Dec 8 11:38:38.260: TPLUS: Sending AV cmd* Dec 8 11:38:38.260: TPLUS: Authorization request created for 15465(adminuser) Dec 8 11:38:38.260: TPLUS: using previously set server 10.48.39.134 from group TACACS-Group Dec 8 11:38:38.260: TPLUS(00003C69)/0/NB_WAIT/7FD3796079D8: Started 5 sec timeout Dec 8 11:38:38.260: TPLUS(00003C69)/0/NB_WAIT: socket event 2 Dec 8 11:38:38.260: TPLUS(00003C69)/0/NB_WAIT: wrote entire 64 bytes request Dec 8 11:38:38.260: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:38.260: TPLUS(00003C69)/0/READ: Would block while reading Dec 8 11:38:38.285: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:38.285: TPLUS(00003C69)/0/READ: read entire 12 header bytes (expect 18 bytes data) Dec 8 11:38:38.285: TPLUS(00003C69)/0/READ: socket event 1 Dec 8 11:38:38.285: TPLUS(00003C69)/0/READ: read entire 30 bytes response Dec 8 11:38:38.285: TPLUS(00003C69)/0/7FD3796079D8: Processing the reply packet Dec 8 11:38:38.285: TPLUS: Processed AV priv-lvl=15 Dec 8 11:38:38.285: TPLUS: received authorization response for 15465: PASS Dec 8 11:38:44.225: %SYS-6-LOGOUT: User adminuser has exited tty session 7(10.61.80.151) Dec 8 11:38:44.225:Socket I/O cleanup message sent to TACACS TPLUS Proc:SOCKET IO CLEANUP EVENT Dec 8 11:38:44.226: %HA_EM-6-LOG: catchall: logout Dec 8 11:39:18.689: %SYS-6-LOGOUT: User admin has exited tty session 5(10.61.80.151) Dec 8 11:39:18.690:Socket I/O cleanup message sent to TACACS TPLUS Proc:SOCKET IO CLEANUP EVENT
从这些日志中可以看到,TACACS+服务器返回了正确的权限(即AV priv-lvl=15)。
当您执行RADIUS身份验证时,显示与RADIUS流量相关的类似调试输出。
相反,命令debug aaa authentication和debug aaa authorization将显示WLC在用户尝试登录时选择的方法列表。
通过ISE GUI排除WLC GUI或CLI TACACS+访问故障
从第Operations > TACACS > Live Logs页起,可以查看通过TACACS+进行的直到最近24小时内的每个用户身份验证。要展开TACACS+授权或身份验证的详细信息,请使用与此事件相关的Details按钮。
展开时,helpdeskuser的身份验证成功尝试如下所示:
从这里,您可以看到用户helpdeskuser已借助身份验证策略成功通过身份验证WLC-9800到网络设备WLC TACACS Authentication > Default。此外,授权配置文件IOS Helpdesk已分配给此用户,并已授予权限级别1。