ADC

在 NetScaler 设备上配置 kerberos 身份验证

本主题提供了使用 CLI 和 GUI 在 NetScaler 设备上配置 Kerberos 身份验证的详细步骤。

在 CLI 上配置 Kerberos 身份验证

  1. 启用身份验证、授权和审核功能,以确保对设备上的流量进行身份验证。

    ns-cli-prompt> enable ns feature AAA

  2. 将密钥表文件添加到 NetScaler 设备。密钥表文件对于解密在 Kerberos 身份验证期间从客户端收到的密钥是必需的。单个 keytab 文件包含绑定到 NetScaler 设备上流量管理虚拟服务器的所有服务的身份验证详细信息。

    首先在 Active Directory 服务器上生成密钥表文件,然后将其传输到 NetScaler 设备。

    • 登录到 Active Directory 服务器,然后使用以下命令为 Kerberos 身份验证添加用户。

       net user <username> <password> /add
      

      注意

      在“用 户属性”部分中,确保未选择“下次登录时更改密码选项”,并且选择了“密码不会过期”选项。

    • 将 HTTP 服务映射到上述用户并导出 keytab 文件。例如,在 Active Directory 服务器上运行以下命令:

       ktpass /out keytabfile /princ HTTP/owa.newacp.com@NEWACP.COM /pass <user password> /mapuser newacp\\dummy /ptype KRB5\_NT\_PRINCIPAL
      

      注意

      如果多个服务需要身份验证,则可以映射多个服务。如果要映射更多服务,请对每个服务重复上述命令。您可以为输出文件指定相同的名称或不同的名称。

    • 使用 unix ftp 命令或您选择的任何其他文件传输实用程序将密钥表文件传输到 NetScaler 设备。将 Keytab 文件上载到 NetScaler 设备上的 /nsconfig/krb/ 目录。

  3. NetScaler 设备必须从完全限定的域名 (FQDN) 中获取域控制器的 IP 地址。因此,Citrix 建议使用 DNS 服务器配置 NetScaler。

    ns-cli-prompt> add dns nameserver <ip-address>

    注意

    或者,您可以添加静态主机条目或使用任何其他方法,以便 NetScaler 设备可以将域控制器的 FQDN 名称解析为 IP 地址。

  4. 配置身份验证操作,然后将其与身份验证策略关联。

    • 配置协商操作。此配置为用作 Kerberos 密钥分发中心 (KDC) 的 Active Directory 服务器创建操作(配置文件)。配置文件包含与该 AD KDC 服务器通信所需的所有配置数据。

      ns-cli-prompt> add authentication negotiateAction <name> -domain <domain name> -domainUser <domain user name> -domainUserPasswd <domain user password> -defaultAuthenticationGroup <default authentication group> -keytab <string> -NTLMPath <string>

      注意:对于域用户和域名配置,请转到客户端并使用 klist 命令,如以下示例所示:

      客户端:Client: username @ AAA.LOCAL

      服务器:TTP/onprem_idp.aaa.local @ AAA.LOCAL

      add authentication negotiateAction <name> -domain -domainUser <HTTP/onprem_idp.aaa.local>

    • 配置协商策略并将协商操作与此策略关联。

      ns-cli-prompt> add authentication negotiatePolicy <name> <rule> <reqAction>

  5. 创建身份验证虚拟服务器并将协商策略与其关联。

    • 创建身份验证虚拟服务器。

      ns-cli-prompt> add authentication vserver <name> SSL <ipAuthVserver> 443 -authenticationDomain <domainName>

    • 将协商策略绑定到身份验证虚拟服务器。

      ns-cli-prompt> bind authentication vserver <name> -policy <negotiatePolicyName>

  6. 将身份验证虚拟服务器与流量管理(负载平衡或内容交换)虚拟服务器关联。

    ns-cli-prompt> set lb vserver <name> -authn401 ON -authnVsName <string>

    注意

    类似的配置也可以在内容交换虚拟服务器上进行。

  7. 通过执行以下操作验证配置:

    • 使用 FQDN 访问流量管理虚拟服务器。例如, 示例

    • 在 CLI 上查看会话的详细信息。

      ns-cli-prompt> show aaa session

在 GUI 上配置 Kerberos 身份验证

  1. 启用身份验证、授权和审核功能。

    导航到“系统”>“置”,单击“配置基本功 能”,然后启用身份验证、授权和审核功能。

  2. 按照上述 CLI 过程的步骤 2 中的详细说明添加 keytab 文件。

  3. 添加 DNS 服务器。

    导航到 流量管理 > DNS > 名称服务器,然后指定 DNS 服务器的 IP 地址。

  4. 配置协 操作和策略。

    导航到“安全”>“AAA-应用程序流量”>“策略”>“身份验证”>“高级策略”>“策略”,然后创建以“协商”为操作类单击 添加 创建新的身份验证协商服务器,或单击 编辑 以配置现有详细信息。

  5. 将协商策略绑定到身份验证虚拟服务器。

    导航到 安全 > AAA-应用程序流量 > 虚拟服务器,然后将 协商 策略与身份验证虚拟服务器关联。

  6. 将身份验证虚拟服务器与流量管理(负载平衡或内容交换)虚拟服务器关联。

    导航到 流量管理 > 负载平衡 > 虚拟服务器,然后指定相关的身份验证设置。

    注意

    类似的配置也可以在内容交换虚拟服务器上进行。

  7. 验证上述 CLI 过程步骤 7 中详细介绍的配置。

在 NetScaler 设备上配置 kerberos 身份验证