Citrix ADC控制台的双因素认证
双因素身份验证是一种安全机制,Citrix ADC设备在两个身份验证器级别上对系统用户进行身份验证。只有在通过两级身份验证成功验证密码之后,设备才向用户授予访问权。如果用户在本地进行身份验证,则必须在Citrix ADC数据库中创建用户配置文件。当用户通过外部认证时,用户名和密码必须与在外部认证服务器上注册的用户身份匹配。
请注意
双因素认证功能仅从Citrix ADC 12.1构建51.16起生效。
双因素身份验证是如何工作的
考虑一个用户试图登录到Citrix ADC设备。请求的应用服务器将用户名和密码发送给第一个外部认证服务器(RADIUS、TACACS、LDAP或AD)。一旦验证了用户名和密码,就会提示用户进行第二级身份验证。用户现在可以提供第二个密码。只有当两个密码都正确时,才允许用户访问Citrix ADC设备。下图说明了Citrix ADC设备的双因素身份验证是如何工作的。
下面是为外部用户和系统用户配置双因素身份验证的不同用例。
您可以在Citrix ADC设备上以不同的方式配置双因素身份验证。以下是Citrix ADC设备上两因素身份验证的不同配置场景。
- 跨Citrix ADC、GUI、CLI、API和SSH的双因素认证(2FA)。
- 开启系统用户的外部认证,关闭系统用户的本地认证。
- 启用外部认证,系统用户采用基于策略的本地认证。
- 开启本地认证的系统用户,关闭外部认证。
- 开启系统用户的外部认证和本地认证功能。
- 对选定的LDAP用户启用外部认证
用例1:跨Citrix ADC、GUI、CLI、API和SSH接口的双因素认证(2FA)
双因素身份验证在所有Citrix ADC管理访问GUI、API和SSH时启用并可用。
用例2:LDAP、RADIUS、Active Directory、TACACS等外部认证服务器支持双因素认证
对于一级和二级用户的认证,可以在以下外部认证服务器上配置双因素认证。
- 半径
- LDAP
- 活动目录
- TACACS
用例3:系统用户启用外部认证,禁用本地认证
首先启用外部认证选项,关闭系统用户的本地认证。
使用命令行界面完成以下步骤:
- 为LDAP策略添加认证动作
- 为LDAP策略添加认证策略
- 为RADIUS策略添加认证动作
- 为RADIUS策略添加认证策略
- 添加身份验证登录模式
- 为RADIUS服务器添加和绑定认证策略标签
- 为LDAP策略绑定系统全局认证
- 在system参数中关闭本地认证
添加LDAP服务器的认证操作(一级认证)
在命令提示符下,输入:
添加认证ldapaction
例子:
add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password - ldapploginname name -groupAttrName name -subAttributeName name -ssoNameAttribute名称
添加LDAP服务器认证策略(一级认证)
在命令提示符下,输入:添加认证策略
例子:添加认证策略pol1 -rule true -action ldapact1
增加RADIUS服务器的认证动作(二级认证)
在命令提示符下,输入:
add authentication radiusaction
例子:
add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType
增加RADIUS服务器认证策略(二级认证)
在命令提示符下,输入:
添加认证策略
例子:
添加认证策略radpol11 -rule true -action radact11
添加身份验证登录模式
您可以为系统用户使用“SingleAuth.xml”登录模式来为Citrix ADC设备提供第二个密码。在命令提示符下,输入:
添加认证loginSchema <登录模式名> -authenticationSchema loginSchema /SingleAuth.xml
例子:
添加认证loginSchema radschema -authenticationSchema loginSchema /SingleAuth.xml
为RADIUS服务器添加和绑定认证策略标签
在命令提示符下,输入:
添加认证policylabel
绑定认证policylabel
例子:
add authentication policylabel label1 -type RBA_REQ -loginSchema radschema
bind authentication policylabel label1 -policyName rad_pol11 -priority 1
为LDAP策略绑定认证系统全局
在命令提示符下,输入:
bind system global ldappolicy -priority <优先级> -nextFactor <策略标签名>
例子:
绑定system global pol11 -priority 1 -nextFactor label11
在system参数中关闭本地认证
在命令提示符下,输入:
禁用系统参数-localauth
用例4:系统用户启用外部认证,附加本地认证策略
在此场景中,允许用户使用双因素身份验证登录设备,并在用户身份的第二级评估本地身份验证策略。
使用命令行界面完成以下步骤。
- 添加LDAP服务器的认证动作
- 为LDAP策略添加认证策略
- 添加本地认证策略
- 添加认证策略标签
- 将LDAP策略绑定为系统全局
- 在system参数中关闭本地认证
添加LDAP服务器的认证操作(一级认证)
在命令提示符下,输入:
添加认证ldapaction
例子:
add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password - ldapploginname name -groupAttrName name -subAttributeName name -ssoNameAttribute name -ssoNameAttribute name
添加LDAP服务器认证策略(一级认证)
在命令提示符下,输入:
添加认证策略
例子:
add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password - ldapploginname name -groupAttrName name -subAttributeName name -ssoNameAttribute名称
增加系统用户本地认证策略(二级认证)
在命令提示符下,输入:
add认证radiusaction
例子:
add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType
添加和绑定认证策略标签
在命令提示符下,输入:
添加认证policylabel
绑定认证policylabel
例子:
add authentication policylabel label1 -type RBA_REQ -loginSchema radschema
bind authentication policylabel label1 -policyName rad_pol11 -priority 1
在system参数中关闭本地认证
在命令提示符下,输入:
禁用系统参数-localauth
用例5:禁用外部认证,启用系统用户本地认证
如果用户没有配置“externalAuth”,则表示该用户在认证服务器上不存在。即使外部认证服务器上存在与用户名相同的用户,用户也不会通过外部认证服务器的认证。用户通过本地认证。
启用系统用户密码,关闭外部鉴权
在命令提示符下,输入以下命令:
添加system user
例子:
添加系统用户user1 password1 -externalAuth DISABLED
用例6:系统用户启用外部认证和本地认证
将设备配置为使用本地密码对系统用户进行身份验证。如果此认证失败,则在两级外部认证服务器上使用外部认证密码进行认证。
使用命令行界面进行配置,步骤如下:
- 添加LDAP服务器的认证动作
- 为LDAP策略添加认证策略
- 为RADIUS策略添加认证动作
- 为RADIUS策略添加认证策略
- 添加身份验证登录模式
- 添加认证策略标签
- 绑定登录模式的认证策略标签
- 为RADIUS策略绑定认证系统global
- 为LDAP策略绑定认证系统全局
添加LDAP服务器的认证动作
在命令提示符下,输入:
添加认证ldapaction
例子:
add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password - ldapploginname name -groupAttrName name -subAttributeName name -ssoNameAttribute名称
为LDAP策略添加认证策略
在命令提示符下,输入:
添加认证策略<策略名称>——rule true -action
例子:
添加认证策略pol1 -rule true -action ldapact1
增加RADIUS服务器的认证动作
在命令提示符下,输入:
add authentication radiusaction
例子:
add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType
增加RADIUS服务器的高级认证策略
在命令提示符下,输入:
添加认证策略<策略名称> -rule true -action
例子:
添加认证策略radpol11 -rule true -action radact11
添加身份验证登录模式
可以使用SingleAuth.xml登录模式显示登录页面,并在第二级认证中对系统用户进行认证。
在命令提示符下,输入:
添加认证loginSchema
例子:
添加认证loginSchema radschema -authenticationSchema loginSchema /SingleAuth.xml
为用户登录的RADIUS认证策略添加和绑定认证策略标签
在命令提示符下,输入:
添加认证policylabel
例子:
add authentication policylabel label1 -type RBA_REQ -loginSchema radschema
绑定认证policylabel
例子:
bind authentication policylabel label1 -policyName rad_pol11 -priority 1
绑定认证策略全局
在命令提示符下,输入:
bind system global [
例子:
bind system global radpol11 -priority 1 -nextFactor label11
用例7:只对选定的外部用户启用外部认证
根据LDAP操作中配置的搜索过滤器配置具有双因素身份验证的选择性外部用户,而其他系统用户使用单因素身份验证进行身份验证。
使用命令行界面进行配置,步骤如下:
- 添加LDAP服务器的认证动作
- 为LDAP策略添加认证策略
- 为RADIUS策略添加认证动作
- 为RADIUS策略添加认证策略
- 添加身份验证登录模式
- 添加认证策略标签
- 绑定登录模式的认证策略标签
- 为RADIUS策略绑定认证系统global
添加LDAP服务器的认证动作
在命令提示符下,输入:
添加认证ldapaction
例子:
add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base -ldapbindDn name -ldapbindDNpassword password - ldapploginname name -groupAttrName name -subAttributeName name -ssoNameAttribute名称
为LDAP策略添加认证策略
在命令提示符下,输入:
添加认证策略<策略名称>——rule true -action
例子:
添加认证策略pol1 -rule true -action ldapact1
增加RADIUS服务器的认证动作
在命令提示符下,输入:
add authentication radiusaction
例子:
add authentication radiusaction radact1 -serverip 1.1.1.1 -radkey 123 -radVendorID 1234 -radAttributeType
增加RADIUS服务器的高级认证策略
在命令提示符下,输入:
添加认证策略<策略名称> -rule true -action
例子:
添加认证策略radpol11 -rule true -action radact11
添加身份验证登录模式
可以使用SingleAuth.xml登录模式为设备提供登录页面,以便在第二级身份验证中对系统用户进行身份验证。
在命令提示符下,输入:
添加认证loginSchema
例子:
添加认证loginSchema radschema -authenticationSchema loginSchema /SingleAuth.xml
为用户登录的RADIUS认证策略添加和绑定认证策略标签
在命令提示符下,输入:
添加认证policylabel
例子:
add authentication policylabel label1 -type RBA_REQ -loginSchema radschema
绑定认证policylabel
例子:
bind authentication policylabel label1 -policyName rad_pol11 -priority
绑定认证策略全局
在命令提示符下,输入:
bind system global [
例子:
bind system global radpol11 -priority 1 -nextFactor label11
使用搜索过滤器配置组用户时不使用双因素身份验证:
- 添加LDAP服务器的认证动作
- 添加LDAP服务器认证策略
- 为LDAP服务器绑定认证系统全局
添加LDAP服务器的认证动作
在命令提示符下,输入:
添加认证ldapaction
例子:
add authentication ldapaction ldapact1 -serverip 1.1.1.1 -ldapbase base - ldapbinddn name - ldapbinddnpassword password - ldapploginname name - groupattrname name - subattributename name - searchFilter "memberOf=CN=grp4,CN=Users,DC=aaatm-test,DC=com"
添加LDAP服务器认证策略
在命令提示符下,输入:
添加认证策略<策略名称>——rule true -action
例子:
添加认证策略pol1 -rule true -action ldapact1
为LDAP策略绑定认证系统全局
在命令提示符下,输入:
bind system global ldappolicy -priority <优先级> -nextFactor <策略标签名>
例子:
绑定system global pol11 -priority 1 -nextFactor label11
显示定制的双因素身份验证提示消息
当您配置两个因素密码字段与SingleAuth.xml文件在/ flash / nsconfig / loginschema / loginschema
下面是SingleAuth.xml文件的片段,其中' SecondPassword: '是第二个密码字段名,提示用户输入第二个密码。
<?xml version = " 1.0 " encoding = " utf - 8 " ?> success more-info /nf/auth/doAuthentication.do /nf/auth/doLogoff.do Cancel login ExplicitForms-Username username singleauth_please_supply_either_domain\username_or_user@fully.qualified.domain false false .+ passwd ExplicitForms-Password password true false .+ none saveCredentials savecredentials false loginBtn none
通过使用Citrix ADC GUI配置双因素身份验证
- 登录到Citrix ADC设备。
- 去系统>身份验证>先进的政策>政策.
- 2 .单击“新建”,创建一级认证策略。
- 在创建身份验证策略页面,输入以下参数。
- 的名字。策略名称
- 动作类型。选择操作类型为LDAP、Active Directory、RADIUS、TACACS等
- 行动。与策略相关联的认证动作(配置文件)。您可以选择现有的身份验证操作,也可以单击加号并创建适当类型的操作。
- 表达式。提供高级策略表达。
- 点击创建然后关闭.
- 表达式。提供高级策略表达。
- 点击创建.
- 点击添加创建二级认证策略。
- 在创建身份验证策略页面,设置以下参数
- 的名字。策略名称
- 动作类型。选择操作类型为LDAP、Active Directory、RADIUS、TACACS等
- 行动。与策略相关联的认证动作(配置文件)。您可以选择现有的身份验证操作,也可以单击+图标创建适当类型的操作。
- 表达式。提供高级策略表达
- 点击创建然后关闭.
- 表达式。提供高级策略表达。
- 点击创建.
- 在身份验证策略页面,点击全球绑定.
- 在创建全局认证策略绑定页面中,选择一级认证策略,单击添加绑定.
- 在政策约束力界面,选择认证策略,并设置以下策略绑定参数。
- 下一个因素。选择二级认证策略标签。
点击绑定而且关闭.
- 点击完成.
- 登录到Citrix ADC设备进行二级身份验证。用户现在可以提供第二个密码。只有当两个密码都正确时,才允许用户访问Citrix ADC设备。
请注意
为第二个因素身份验证配置的TACACS不支持授权和计费,即使您在“tacacsAction”命令上启用了它。第二个因素仅用于身份验证目的。
同时,看到Citrix ADC nFactor认证中的双因素认证的话题。