简介
本文档介绍如何通过身份服务引擎(ISE)配置Firepower可扩展操作系统(FXOS)机箱的RADIUS身份验证和授权。
FXOS机箱包括以下用户角色:
- Administrator —对整个系统的完全读写访问权限。默认情况下,为默认管理员帐户分配此角色,且无法更改。
- 只读-对系统配置的只读访问权限,没有修改系统状态的权限。
- 操作-对NTP配置、智能许可的Smart Call Home配置和系统日志(包括系统日志服务器和故障)的读写访问权限。对系统的其余部分具有读取访问权限。
- AAA -对用户、角色和AAA配置的读写访问。对系统的其余部分具有读取访问权限。
通过CLI可看到以下内容:
fpr4120-TAC-A /security* # show role
角色:
角色名称权限
---------- ----
aaa aaa
admin admin
运营运营
只读只读
作者:Tony Remirez、Jose Soto、Cisco TAC工程师。
先决条件
要求
Cisco 建议您了解以下主题:
- Firepower可扩展操作系统(FXOS)知识
- ISE配置知识
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科Firepower 4120安全设备版本2.2
- 虚拟思科身份服务引擎2.2.0.470
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
配置
配置的目标是:
- 通过ISE对登录到FXOS基于Web的GUI和SSH的用户进行身份验证
- 通过ISE,根据用户角色授权用户登录FXOS的基于Web的GUI和SSH。
- 通过ISE验证FXOS上的身份验证和授权是否正常运行
网络图
配置
配置FXOS机箱
使用机箱管理器创建RADIUS提供程序
步骤1:导航到平台设置> AAA。
第二步:单击RADIUS选项卡。
第三步:对于要添加的每个RADIUS提供程序(最多16个提供程序)。
3.1.在“RADIUS提供程序”区域,单击添加。
3.2.打开“添加RADIUS提供程序”对话框后,输入所需的值。
3.3.单击确定关闭“添加RADIUS提供程序”对话框。
第四步:Click Save.
第五步:导航到系统>用户管理>设置。
第六步:在Default Authentication下,选择RADIUS。
使用CLI创建RADIUS提供程序
步骤1:要启用RADIUS身份验证,请运行以下命令。
fpr4120-TAC-A#范围安全
fpr4120-TAC-A /security # scope default-auth
fpr4120-TAC-A /security/default-auth # set realm radius
第二步:使用show detail命令可显示结果。
fpr4120-TAC-A /security/default-auth # show detail
默认身份验证:
管理领域:Radius
操作领域:Radius
Web会话刷新周期(秒):600
Web、ssh、telnet会话的会话超时(秒):600
Web、ssh、telnet会话的绝对会话超时(秒):3600
串行控制台会话超时(秒):600
串行控制台绝对会话超时(秒):3600
管理员身份验证服务器组:
操作身份验证服务器组:
使用第2个因素:否
第三步:要配置RADIUS服务器参数,请运行以下命令。
fpr4120-TAC-A#范围安全
fpr4120-TAC-A /security # scope radius
fpr4120-TAC-A /security/radius # enter server 10.88.244.50
fpr4120-TAC-A /security/radius/server # set descr "ISE Server"
fpr4120-TAC-A /security/radius/server* # set key
输入密钥:******
确认密钥:******
第四步:使用show detail命令可显示结果。
fpr4120-TAC-A /security/radius/server* # show detail
RADIUS 服务器:
主机名、FQDN或IP地址:10.88.244.50
描述:
订单:1
身份验证端口:1812
密钥:****
超时:5
配置ISE服务器
添加FXOS作为网络资源
步骤1:导航到管理>网络资源>网络设备。
第二步:点击添加
第三步:输入所需的值(名称、IP地址、设备类型和启用RADIUS并添加密钥),然后点击提交。
创建身份组和用户
步骤1:导航到管理>身份管理> Groups >用户身份组。
第二步:单击 Add。
第三步:输入Name的值并单击Submit。
第四步:对所有所需的用户角色重复步骤3。
第五步:导航到管理>身份管理>身份>用户。
第六步:单击 Add。
步骤 7.输入所需的值(名称、用户组和密码)。
步骤 8对所有所需用户重复步骤6。
为每个用户角色创建授权配置文件
步骤1:导航到策略>Policy元素>结果>授权>授权配置文件。
第二步:填写授权配置文件的所有属性。
2.1.配置配置文件名称。
2.2.在高级属性设置中,配置以下CISCO-AV-PAIR
cisco-av-pair=shell:roles="admin"
2.3.单击保存。
第三步:使用以下Cisco-AV-Pairs对其余用户角色重复步骤2
cisco-av-pair=shell:roles="aaa"
cisco-av-pair=shell:roles="operations"
cisco-av-pair=shell:roles="read-only"
创建身份验证策略
步骤1:导航到策略>身份验证>,点击要在其中创建规则的编辑旁边的箭头。
第二步:设置简单;可以更精细地完成,但在本例中,我们将使用设备类型:
名称:FXOS身份验证规则
如果选择new attribute/value:Device:Device Type Equals All Devices Types #FXOS
允许协议:默认网络访问
使用:内部用户
创建授权策略
步骤1:导航到策略>授权>,然后点击箭头网络以编辑要在其中创建规则的位置。
第二步:输入具有所需参数的授权规则值。
2.1.规则名称:Fxos <USER ROLE> Rule。
2.2.如果:用户身份组>选择<用户角色>。
2.3.和:创建新条件>设备:设备类型等于所有设备类型#FXOS。
2.4.权限:标准>选择用户角色配置文件
第三步:对所有用户角色重复步骤2。
第四步:单击页底部的Save。
验证
您现在可以测试每个用户并验证分配的用户角色。
FXOS机箱验证
- 通过Telnet或SSH连接到FXOS机箱,并使用ISE上创建的任何用户登录。
用户名:fxosadmin
密码:
fpr4120-TAC-A#范围安全
fpr4120-TAC-A /security # show remote-user detail
远程用户fxosaa:
描述:
用户角色:
名称:aaa
名称:只读
远程用户fxosadmin:
描述:
用户角色:
名称:admin
名称:只读
远程用户fxosoper:
描述:
用户角色:
名称:操作
名称:只读
远程用户fxosro:
描述:
用户角色:
名称:只读
根据输入的用户名,FXOS机箱CLI将仅显示为分配的用户角色授权的命令。
管理员用户角色。
fpr4120-TAC-A /security # ?
确认确认
clear-user-sessions清除用户会话
创建创建托管对象
删除删除托管对象
disable禁用服务
启用服务
输入输入托管对象
范围更改当前模式
set设置属性值
show Show system information
终止活动的cimc会话
fpr4120-TAC-A# connect fxos
fpr4120-TAC-A (fxos)# debug aaa aaa-requests
fpr4120-TAC-A (fxos)#
只读用户角色。
fpr4120-TAC-A /security # ?
范围更改当前模式
set设置属性值
show Show system information
fpr4120-TAC-A# connect fxos
fpr4120-TAC-A (fxos)# debug aaa aaa-requests
%拒绝授予该角色的权限
- 浏览至FXOS机箱IP地址并使用ISE上任何已创建的用户登录。
管理员用户角色。
只读用户角色。
注意:请注意,ADD按钮显示为灰色。
ISE 2.0验证
- 导航到操作> RADIUS >实时日志。您应该能够看到成功和失败的尝试。
故障排除
要调试AAA身份验证和授权,请在FXOS CLI中运行以下命令。
fpr4120-TAC-A# connect fxos
fpr4120-TAC-A (fxos)# debug aaa aaa-requests
fpr4120-TAC-A (fxos)# debug aaa event
fpr4120-TAC-A (fxos)# debug aaa errors
fpr4120-TAC-A (fxos)# term监控器
在身份验证尝试成功后,您将看到以下输出。
2018年1月20日17:18:02.410275 aaa:aaa_req_process for authentication。会话编号0
2018年1月20日17:18:02.410297 aaa: aaa_req_process:来自应用程序的常规AAA请求:login appln_subtype:默认
2018年1月20日17:18:02.410310 aaa: try_next_aaa_method
2018年1月20日17:18:02.410330 aaa:配置的方法总数为1,要尝试的当前索引为0
2018年1月20日17:18:02.410344 aaa: handle_req_using_method
2018年1月20日17:18:02.410356 aaa: AAA_METHOD_SERVER_GROUP
2018年1月20日17:18:02.410367 aaa: aaa_sg_method_handler group = radius
2018 Jan 20 17:18:02.410379 aaa:使用传递给此函数的sg_protocol
2018年1月20日17:18:02.410393 aaa:正在向RADIUS服务发送请求
2018年1月20日17:18:02.412944 aaa: mts_send_msg_to_prot_daemon:负载长度= 374
2018年1月20日17:18:02.412973 aaa:会话:0x8dfd68c已添加到会话表1
2018年1月20日17:18:02.412987 aaa:配置的方法组成功
2018年1月20日17:18:02.656425 aaa: aaa_process_fd_set
2018年1月20日17:18:02.656447 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018 Jan 20 17:18:02.656470 aaa: mts_message_response_handler: an mts response
2018年1月20日17:18:02.656483 aaa: prot_daemon_reponse_handler
2018年1月20日17:18:02.656497 aaa:会话:0x8dfd68c已从会话表0中删除
2018年1月20日17:18:02.656512 aaa: is_aaa_resp_status_success status = 1
2018年1月20日17:18:02.656525 aaa: is_aaa_resp_status_success is TRUE
2018年1月20日17:18:02.656538 aaa:aaa_send_client_response用于身份验证。 session->flags=21. aaa_resp->flags=0。
2018年1月20日17:18:02.656550 aaa: AAA_REQ_FLAG_NORMAL
2018年1月20日17:18:02.656577 aaa: mts_send_response成功
2018年1月20日17:18:02.700520 aaa: aaa_process_fd_set: aaa_accounting_q上的mtsclback
2018年1月20日17:18:02.700688 aaa:旧操作码:accounting_interim_update
2018年1月20日17:18:02.700702 aaa: aaa_create_local_acct_req: user=, session_id=, log=added user fxosro
2018年1月20日17:18:02.700725 aaa: aaa_req_process for accounting。会话编号0
2018年1月20日17:18:02.700738 aaa: MTS请求引用为空。本地请求
2018年1月20日17:18:02.700749 aaa:设置AAA_REQ_RESPONSE_NOT_NEEDED
2018年1月20日17:18:02.700762 aaa: aaa_req_process:来自应用程序的常规AAA请求:默认appln_subtype:默认
2018年1月20日17:18:02.700774 aaa: try_next_aaa_method
2018年1月20日17:18:02.700798 aaa:没有为默认配置方法
2018年1月20日17:18:02.700810 aaa:没有可用于此请求的配置
2018年1月20日17:18:02.700997 aaa: aaa_send_client_response for accounting. session->flags=254. aaa_resp->flags=0。
2018年1月20日17:18:02.701010 aaa:旧库记帐请求的响应将作为SUCCESS发送
2018年1月20日17:18:02.701021 aaa:此请求不需要响应
2018年1月20日17:18:02.701033 aaa: AAA_REQ_FLAG_LOCAL_RESP
2018年1月20日17:18:02.701044 aaa: aaa_cleanup_session
2018年1月20日17:18:02.701055 aaa: aaa_req应释放。
2018年1月20日17:18:02.701067 aaa:本地回退方法成功
2018年1月20日17:18:02.706922 aaa: aaa_process_fd_set
2018年1月20日17:18:02.706937 aaa: aaa_process_fd_set: aaa_accounting_q上的mtsclback
2018年1月20日17:18:02.706959 aaa:旧操作码:accounting_interim_update
2018年1月20日17:18:02.706972 aaa: aaa_create_local_acct_req: user=, session_id=, log=added user:fxosro to the role:read-only
在身份验证尝试失败后,您将看到以下输出。
2018年1月20日17:15:18.102130 aaa: aaa_process_fd_set
2018年1月20日17:15:18.102149 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018年1月20日17:15:18.102267 aaa: aaa_process_fd_set
2018年1月20日17:15:18.102281 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018年1月20日17:15:18.102363 aaa: aaa_process_fd_set
2018年1月20日17:15:18.102377 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018年1月20日17:15:18.102456 aaa: aaa_process_fd_set
2018年1月20日17:15:18.102468 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018年1月20日17:15:18.102489 aaa: mts_aaa_req_process
2018年1月20日17:15:18.102503 aaa:aaa_req_process for authentication。会话编号0
2018年1月20日17:15:18.102526 aaa: aaa_req_process:来自应用程序的常规AAA请求:login appln_subtype:默认
2018年1月20日17:15:18.102540 aaa: try_next_aaa_method
2018年1月20日17:15:18.102562 aaa:配置的方法总数为1,要尝试的当前索引为0
2018年1月20日17:15:18.102575 aaa: handle_req_using_method
2018年1月20日17:15:18.102586 aaa: AAA_METHOD_SERVER_GROUP
2018年1月20日17:15:18.102598 aaa: aaa_sg_method_handler group = radius
2018 Jan 20 17:15:18.102610 aaa:使用传递给此函数的sg_protocol
2018年1月20日17:15:18.102625 aaa:正在向RADIUS服务发送请求
2018年1月20日17:15:18.102658 aaa: mts_send_msg_to_prot_daemon:负载长度= 371
2018年1月20日17:15:18.102684 aaa:会话:0x8dfd68c已添加到会话表1
2018年1月20日17:15:18.102698 aaa:配置的方法组成功
2018年1月20日17:15:18.273682 aaa: aaa_process_fd_set
2018年1月20日17:15:18.273724 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018 Jan 20 17:15:18.273753 aaa: mts_message_response_handler: an mts response
2018年1月20日17:15:18.273768 aaa: prot_daemon_reponse_handler
2018年1月20日17:15:18.273783 aaa:会话:0x8dfd68c已从会话表0中删除
2018年1月20日17:15:18.273801 aaa: is_aaa_resp_status_success status = 2
2018年1月20日17:15:18.273815 aaa: is_aaa_resp_status_success is TRUE
2018年1月20日17:15:18.273829 aaa:aaa_send_client_response用于身份验证。 session->flags=21. aaa_resp->flags=0。
2018年1月20日17:15:18.273843 aaa: AAA_REQ_FLAG_NORMAL
2018年1月20日17:15:18.273877 aaa: mts_send_response成功
2018年1月20日17:15:18.273902 aaa: aaa_cleanup_session
2018年1月20日17:15:18.273916 aaa:mts_drop of request msg
2018年1月20日17:15:18.273935 aaa: aaa_req应释放。
2018年1月20日17:15:18.280416 aaa: aaa_process_fd_set
2018年1月20日17:15:18.280443 aaa: aaa_process_fd_set: mtsclback on aaa_q
2018 Jan 20 17:15:18.280454 aaa: aaa_enable_info_config: GET_REQ for aaa login错误消息
2018年1月20日17:15:18.280460 aaa:返回配置操作的值:未知安全项
相关信息
启用TACACS/RADIUS身份验证时,FX-OS cli上的Ethanalyzer命令将提示输入密码的密码。此行为是由Bug导致的。
Bug id: CSCvg87518