Citrix ADC

协商身份验证

与其他类型的身份验证策略一样,协商身份验证策略由表达式和操作组成。创建身份验证策略后,将其绑定到身份验证虚拟服务器并为其分配优先级。绑定它时,您还将其指定为主策略或辅助策略。

除了标准身份验证功能外,“协商操作”命令现在可以从 keytab 文件中提取用户信息,而不是要求您手动输入该信息。如果键选项卡具有多个 SPN,则身份验证、授权和审核会选择正确的 SPN。您可以在命令行或使用配置实用程序配置此功能。

注意

这些说明假定您已经熟悉 LDAP 协议,并已配置您选择的 LDAP 身份验证服务器。

使用命令行界面配置身份验证、授权和审核以从 keytab 文件中提取用户信息

在命令提示符下,键入相应的命令:

add authentication negotiateAction <name> {-domain <string>} {-domainUser <string>} {-domainUserPasswd } [-defaultAuthenticationGroup <string>] [-keytab <string>] [-NTLMPath <string>]

set authentication negotiateAction <name> {-domain <string>} {-domainUser <string>} {-domainUserPasswd} [-defaultAuthenticationGroup <string>] [-keytab <string>] [-NTLMPath <string>]

Parameter description

  • name -要使用的协商操作的名称。
  • domain - 代表 Citrix ADC 的服务主体的域名。
  • domainUser - 与 Citrix ADC 主体映射的帐户的用户名。当 keytab 文件不可用时,这可以与域名和密码一起提供。如果用户名与 keytab 文件一起提供,则将搜索该 keytab 文件以查找此用户的凭据。最大长度:127
  • domainUserPasswd -映射到 Citrix ADC 委托人的帐户的密码。
  • defaultauthenticationGroup -除了提取的组之外,这是身份验证成功时选择的默认组。最大长度:63
  • keytab -用于解密提交给 Citrix ADC 的 Kerberos 票证的 keytab 文件的路径。如果 keytab 不可用,则可以在协商操作配置中指定域/用户名/密码。最大长度:127
  • NTLMPath -启用 NTLM 身份验证的站点的路径,包括服务器的 FQDN。当客户端回退到 NTLM 时,将使用此选项。最大长度:127

使用配置实用程序配置身份验证、授权和审核以从 keytab 文件中提取用户信息

注意

在配置实用程序中,使用术语服务器而不是操作,但指的是相同的任务。

  1. 导航到安全 > AAA-应用程序流量 > 身份验证 > 高级策略 > 操作 > 协商操作
  2. 在详细信息窗格中的“服务器”选项卡上,执行以下操作之一:

    • 如果要创建新的协商操作,请单击添加
    • 如果要修改现有协商操作,请在数据窗格中选择该操作,然后单击编辑
  3. 如果要创建新的协商操作,请在“名称”文本框中键入新操作的名称。名称的长度可以从 1 到 127 个字符,并且可以包括大写和小写字母、数字以及连字符 (-) 和下划线 (_) 字符。如果您正在修改现有的协商操作,请跳过此步骤。名称是只读的;您不能更改它。
  4. 在“协商”下,如果“使用密钥选项卡文件”复选框尚未选中,请选中它。
  5. 在 Keytab 文件路径文本框中,键入要使用的 keytab 文件的完整路径和文件名。
  6. 在“默认身份验证组”文本框中,键入要为此用户设置为默认值的身份验证组。
  7. 单击“创建”或“确定”以保存您的更改。

何时使用高级加密进行 Kerberos 身份验证需要注意的事项

  • 使用 keytab 时的示例配置: add authentication negotiateAction neg_act_aes256 -keytab “/nsconfig/krb/lbvs_aes256.keytab”
  • 如果 keytab 具有多种加密类型,请使用以下命令。该命令还捕获域用户参数:add authentication negotiateAction neg_act_keytab_all -keytab “/nsconfig/krb/lbvs_all.keytab” -domainUser “HTTP/lbvs.aaa.local”
  • 使用用户凭据时使用以下命令: add authentication negotiateAction neg_act_user -domain AAA.LOCAL -domainUser “HTTP/lbvs.aaa.local” -domainUserPasswd <password>
  • 确保提供了正确的 domainUser 信息。您可以在 AD 中查找用户登录名。