从物理服务器卸载 Kerberos 身份验证
Citrix ADC 设备可以从服务器卸载身份验证任务。Citrix ADC 在将所有客户端请求转发到绑定到客户端的任何物理服务器之前,对所有客户端请求进行身份验证,而不是对客户端请求进行身份验证的物理服务器。用户身份验证基于 Active Directory 令牌。
Citrix ADC 与物理服务器之间没有身份验证,并且身份验证卸载对最终用户是透明的。初始登录到 Windows 计算机后,最终用户不必在弹出窗口或登录页面上输入任何其他身份验证信息。
在当前 Citrix ADC 设备版本中,Kerberos 身份验证仅适用于身份验证、授权和审核流量管理虚拟服务器。Citrix Gateway Advanced Edition 设备中的 SSL VPN 或 Citrix ADC 设备管理不支持 Kerberos 身份验证。
Kerberos 身份验证需要在 Citrix ADC 设备和客户端浏览器上进行配置。
在 Citrix ADC 设备上配置 Kerberos 身份验证的步骤
-
在 Active Directory 上创建用户帐户。创建用户帐户时,请验证“用户属性”部分中的以下选项:
- 请确保您没有选择下次登录时更改密码选项。
- 请务必选择密码不过期选项。
-
在 AD 服务器上的 CLI 命令提示符下,键入:
- ktpass -princ HTTP/kerberos.crete.lab.net@crete.lab.net -ptype KRB5_NT_PRINCIPAL -mapuser kerbuser@crete.lab.net -mapop set -pass <password> -out C:\kerbtabfile.txt
注意
请确保在单行上键入上述命令。上述命令的输出被写入到 C: Kerbtabfile.txt 文件中。
-
使用安全副本 (SCP) 客户端将 kerbtabfile.txt 文件上传到 Citrix ADC 设备的 /etc 目录。
-
运行以下命令将 DNS 服务器添加到 Citrix ADC 设备。
- 添加 DNS 名称服务器 1.2.3.4
Citrix ADC 设备无法在没有 DNS 服务器的情况下处理 Kerberos 请求。请确保使用在 Microsoft Windows 域中使用的相同 DNS 服务器。
-
切换到 Citrix ADC 的命令行界面。
-
运行以下命令创建 Kerberos 身份验证服务器:
- add authentication negotiateAction KerberosServer -domain “crete.lab.net” -domainUser kerbuser -domainUserPasswd <password> -keytab /var/mykcd.keytab
注意
如果键选项卡不可用,则可以指定参数:域、域用户和-域用户 Passwd。
-
运行以下命令创建协商策略:
add authentication negotiatePolicy Kerberos-Policy "REQ.IP.DESTIP == 192.168.17.200" KerberosServer<!--NeedCopy-->
-
运行以下命令以创建身份验证虚拟服务器。
add authentication vserver Kerb-Auth SSL 192.168.17.201 443 -AuthenticationDomain crete.lab.net<!--NeedCopy-->
-
运行以下命令将 Kerberos 策略绑定到身份验证虚拟服务器:
bind authentication vserver Kerb-Auth -policy Kerberos-Policy -priority 100<!--NeedCopy-->
-
运行以下命令将 SSL 证书绑定到身份验证虚拟服务器。您可以使用其中一个测试证书,您可以从 GUI Citrix ADC 设备安装该证书。运行以下命令以使用服务器测试证书示例证书。
bind ssl vserver Kerb-Auth -certkeyName ServerTestCert<!--NeedCopy-->
-
使用 IP 地址 192.168.17.200 创建 HTTP 负载平衡虚拟服务器。
确保从 NetScaler 9.3 版本的命令行界面创建虚拟服务器(如果它们的版本超过 9.3.47.8)。
-
运行以下命令来配置身份验证虚拟服务器:
set lb vserver <name>-authn401 ON -authnVsName Kerb-Auth<!--NeedCopy-->
-
在 Web 浏览器的地址栏中输入主机名 示例 。
Web 浏览器显示一个身份验证对话框,因为在浏览器中未设置 Kerberos 身份验证。
注意
Kerberos 身份验证需要客户端上的特定配置。确保客户端可以解析主机名,这会导致 Web 浏览器连接到 HTTP 虚拟服务器。
-
在客户端计算机的 Web 浏览器上配置 Kerberos。
- 要在 Internet Explorer 上进行 配置,请参阅为 Kerberos 身份验证配置 Internet Explorer。
- 要在 Mozilla Firefox 上进行 配置,请参阅为 Kerberos 身份验证配置互联网浏览器
-
验证是否可以在没有身份验证的情况下访问后端物理服务器。
为 Kerberos 身份验证配置 Internet 资源管理器
- 从工具菜单中选择 Internet 选项。
- 激活“安全”选项卡。
- 从“选择要查看更改安全设置的区域”部分选择“本地 Intranet”。
- 单击站点。
- 单击高级。
- 指定 URL, 示例 ,然后单击 添加。
- 重新启动 Internet Explorer。
配置 Mozilla Firefox 进行 Kerberos 身份验证
- 在浏览器的地址栏中输入 about:config。
- 单击警告免责声明。
- 在筛选器框中键入 Network.Negotiate-auth.trusted-uris。
-
双击 Network.Negotiate-auth.trusted-uris。示例屏幕如下所示。
- 在“输入字符串值”对话框中,指定 www.crete.lab.net。
- 重新启动火狐浏览器。