欢迎来到公海710 Integrating Okta with Citrix NetScaler Gateway without Citrix Federated Authentication Service
Why Integrate Citrix NetScaler Gateway with Okta?
Okta is the leading independent provider of identity for the enterprise. The Okta Identity Cloud provides a suite of services which include:
Okta 的集成网络中有 6,000 多个应用程序,可与多个本地和基于云的应用程序进行深度、无缝集成。将 Citrix NetScaler Gateway 与 Okta 集成的两个主要驱动程序是利用 Okta 的单点登录 和自适应 MFAfeatures.
单点登录 通过从任何位置和设备更快地访问应用程序,有助于简化用户的体验。 Okta 还提供桌面单点登录 该解决方案允许用户在登录 Windows Active Directory (AD) 域时自动登录 Okta,从而帮助进一步改善用户体验。
自适应 MFA 为您的关键应用程序提供额外的安全层。它旨在利用诸如了解某人是谁、他们在哪里、他们正在使用什么设备等指标,并可以确定某些类型的高风险行为。
我们要做什么?
Citrix NetScaler Gateway 可以通过 与 Okta 集成作为识别提供商 (IdP)SAML 2.0 和半径。 本文将概述如何使用 Okta 配置这两种集成,以便在 NetScaler Gateway 上启用 SSO 和自适应 MFA。 Citrix 客户端将配置如下:
-
Citrix Receiver for Web
-
SAML 身份验证
-
Citrix 工作区 申请
-
RADIUS 身份验证
演示
下面的视频演示了集成完成后用户将体验到的体验。
Citrix Receiver for Web (SAML)
Citrix Workspace 应用程序 (RADIUS)
开始之前,有几点需要注意
While the latest version of the Citrix Workspace application supports SAML, the Service Provider initiated (SP-initiated) SAML login flow will only work within the Citrix Workspace app, when configuring the Okta SAML policy as an高级身份验证政策(使用身份验证配置文件)在网关虚拟服务器上。为了使下面描述的完整 SSO 解决方案能够在没有联合身份验证服务(FAS),我们需要将 Okta SAML 政策添加为基本身份验证政策。不幸的是,这破坏了 Workspace 应用程序中 SP 发起的 SAML 登录流程。目前尚不清楚 Citrix 是否计划改变这一点。查看 Citrix Workspace 应用程序的产品路线图,Okta 列在“开发中”部分下的身份提供商列表中。https://www.citrix.com/products/citrix-workspace/roadmap.html。 I’ll be looking forward to testing that integration once it’s released.
也就是说,如果您希望 Citrix Workspace 应用程序执行 SAML 身份验证,并且您同意用户在通过 Okta 进行身份验证后登录 Windows 登录提示,则可以使用以下配置配置 Okta SAML 策略:高级身份验证政策。否则,您需要实施 FAS 才能使用 Citrix Workspace 应用程序在 Citrix Virtual Apps and Desktops 环境中获得完整的 SSO 体验。同样,本文将介绍如何使用 Okta 的 RADIUS 解决方案来支持 Citrix Workspace 应用程序。
设置需要什么?
- Okta 生产或预览租户。
- 单点登录和自适应 MFAOkta 租户中许可的功能。
- Okta 管理员帐户。 (最好具有超级管理员权限)
- Okta 掌握了具有超级管理员权限的服务帐户。
- 已配置 Okta 和 Active Directory 集成。
- 已启用 MFA 政策。 (建议使用 Okta 验证)
- Okta 登录政策配置为启用“提示因素”。
- 这可以在组织级别或应用级别进行配置。
- 至少一台 Windows Server 2012 R2 或更高版本用作 Okta RADIUS 服务器。 (最佳实践是使用放置在负载均衡器后面的 2 个或更多服务器)
- 功能性 NetScaler Gateway 虚拟服务器。
- LDAP 政策。 (与服务器登录名属性设置为用户主体名称)
从总体上看,我们在此处配置的 SAML 身份验证登录流程将如下所示:

Configuration Steps
在 Okta 中配置 Citrix NetScaler 应用程序
使用管理员帐户登录您的 Okta Org,然后导航至Applications >应用.
点击添加应用按钮并搜索Citrix NetScaler 网关来自 Okta 集成网络 (OIN) 的应用程序。

点击添加.
In the应用程序标签字段,输入您希望用户在 Okta 信息中心查看应用时看到的名称。在登录网址字段,输入您的 NetScaler Gateway 的 URL。

命中Next.
在登录选项上,选择SAML 2.0。
遵守应用程序用户名格式字段。默认设置是Okta 用户名值。如果您的 Okta 部署与 Active Directory 集成,则默认情况下该值将设置为用户的 UPN。 Okta 将在 SAML 断言中发送此值,该断言将转发到 NetScaler Gateway 以进行 SAML 身份验证。由于网关上的 LDAP 服务器配置为使用 UPN,因此这也是必需的服务器登录名属性设置。
When logging in through Okta’s IdP sign on page, users can either specify their UPN or their SAMAccountName in the username field. Once successfully authenticated, Okta will forward over theOkta 用户名NetScaler Gateway 的 (UPN) 值。

命中Done.
当我们在 NetScaler Gateway 端配置 SAML 集成时,我们将回到此 Okta 应用程序,因此现在我们将完成 RADIUS 配置设置。
配置 Okta RADIUS 服务器和应用程序
Log on to the Server where you plan to install the RADIUS Agent.在服务器上,使用具有超级管理员权限的帐户登录您的 Okta Org,然后导航至Settings >下载。
下载Okta RADIUS 服务器代理

下载后,请按照概述的说明进行操作这里在服务器上安装代理。在安装过程中,记下 RADIUS共享秘密和半径端口您配置的。当系统要求您登录 Okta Org 时,请务必指定具有超级管理员权限的 Okta Mastered Service 帐户。
RADIUS 代理安装和配置完成后,使用管理员帐户登录您的 Okta Org,然后导航到Applications >应用.
点击添加应用按钮并搜索Citrix NetScaler (RADIUS)来自 OIN 的应用。点击添加.

如果您愿意,您可以在中为应用程序命名应用程序标签场,然后击中下一步。
更新UDP 端口和密钥fields to reflect the configuration settings set on the RADIUS Server application during the Agent installation.
离开应用程序用户名格式字段设置为Okta 用户名.

Hit完成完成后。
通过导航到新创建的 RADIUS 应用程序Applications >应用选项卡。单击登录选项卡。点击编辑关于高级 RADIUS 设置部分并选择以下选项

报告客户端 IP将把用户的客户端计算机 IP 发送到 Okta。
最后两个选项身份验证部分启用 Okta 的 RADIUS 自动推送功能。这将允许 Okta 在通过 RADIUS 登录时自动将 Okta 验证通知推送到用户的智能手机。这是新发布的功能。https://help.okta.com/en/prod/Content/Topics/integrations/radius-autopush.htm
在 Okta 中配置安全 Web 应用程序 (SWA) 模板应用
使用管理员帐户登录您的 Okta Org,然后导航至应用 >应用.
点击添加应用按钮并在搜索类型中模板并寻找模板应用.

点击添加
添加模板应用后,从上到下填写以下字段。
应用程序标签: 用于标记目的的 Okta 应用程序所需名称
**URL: <**Access Gateway URL>与/cgi/登录已附加。例如https://gateway.company.com/cgi/login
用户名参数:登录
密码参数:密码
可选参数名称:虚拟用户名
可选参数名称:虚拟密码
Optional parameter name:登录
可选参数名称:登录
注意:此处的配置将自动将经过身份验证的用户的用户名和密码发送到/cgi/登录NetScaler Gateway 上的页面。添加“虚拟”的区域实际上可以具有任何价值,但它们需要有一些东西。如果设置不正确,将导致格式错误的数据发送到/cgi/login页面,用户将遇到登录循环。
检查两个选项应用可见性阻止此应用程序图标显示在用户 Okta 仪表板中。

点击下一页
在登录方法屏幕,选择管理员设置的用户名、密码与用户的 Okta 密码相同。

点击完成。
Okta 端的最后一项配置是将用户分配给所有 3 个新创建的 Okta 应用 (Citrix NetScaler 网关, Citrix NetScaler (RADIUS),&SWA 模板应用).
Log into your Okta Org using the admin account, and navigate toApplications >应用.
当您点击某个应用程序时,您会直接进入作业选项卡。点击分配按钮,然后选择其中一个分配给人员或分配到组。 Best practice is to leverage your AD Groups.
同样,您需要为所有 3 个 Okta 应用进行相同的分配。

配置 NetScaler 设置
在 Citrix NetScaler Gateway for Okta 上配置 SAML
使用管理员帐户登录您的 Okta Org,然后导航至Applications >应用.
Select theCitrix NetScaler 网关您之前创建的应用程序,然后导航到登录部分。
向下滚动到SAML 2.0部分,然后选择查看设置说明按钮

大多数情况下,您可以按照提供的说明中列出的步骤在 NetScaler Gateway 上创建 SAML 服务器和策略。
需要采取以下额外步骤才能完全启用整体解决方案。
开启第 14 步您在其中配置 SAML 政策,而不是将表达式设置为ns_true,您需要设置以下表达式
REQ.HTTP.HEADER 用户代理不包含 CitrixReceiver
Note:这将仅允许 Citrix Receiver Web 客户端使用 SAML 策略。我们将强制 Citrix Workspace 应用程序使用 RADIUS 策略。
在 NetScaler Gateway 上完成 SAML 服务器配置之前,展开更多。导航至两个因素选项并将其切换到开启.

如果您运行的是更高版本的 Citrix Application Delivery Controller (ADC),您可以通过提供 SAML 服务器配置来简化 SAML 服务器的创建身份提供商元数据的网址Citrix NetScaler 网关Okta 中的应用

点击元数据链接将显示一个网址,可用于自动配置设置 SAML 服务器所需的多个组件。
只需复制地址栏中的网址,并将其添加到 SAML 服务器配置中即可。

如果您使用此方法,您仍然需要在 NetScaler Gateway 上的 SAML 服务器配置中配置以下信息
用户字段:姓名 ID
签名证书名称:Select the name of the certificate bound to your NetScaler Gateway VIP
发行人名称:从 Okta 的 Citrix NetScaler SAML 说明文档的变量部分复制并粘贴此值。
您需要确保签名算法设置为RSA-SHA265 和摘要法is set toSHA256

Citrix ADC 将出去并获取它需要的所有剩余数据。
在 Citrix NetScaler Gateway for Okta 上配置 RADIUS
登录 Citrix ADC 并导航至NetScaler Gateway > Polices > Authentication >半径。而在Policies选项卡,点击添加。
为该政策命名。然后就服务器场,命中添加
在服务器配置上,设置以下信息
名称:RADIUS 服务器的显示名称
IP 地址或服务器名称:安装 Okta RADIUS 代理的服务器。
端口:在中配置的端口详细信息Citrix NetScaler (RADIUS)Okta 应用程序和 RADIUS 代理。
密钥:在中配置的密钥详细信息Citrix NetScaler (RADIUS)Okta 应用程序和 RADIUS 代理。
点击测试连接按钮,并确认已成功连接。
超时(秒):设置为 60 秒。
命中创建。
For theExpression输入以下内容
REQ.HTTP.HEADER 用户代理包含 CitrixReceiver
注意:这将强制所有 Citrix Receiver/Workspace 客户端使用 RADIUS 策略进行身份验证

按OK
创建响应程序政策
使用具有管理应用权限的管理员帐户登录您的 Okta Org,然后导航至Applications >应用.
Select theSWA 模板应用在前面的步骤中使用模板应用构建的应用。单击一般选项卡,然后向下滚动到页面底部并查找嵌入链接字段**.** 复制此链接值。

登录 Citrix ADC 并导航到AppExpert > Responder >警察。击中添加.
为该政策命名。然后就Action场,命中添加
为操作命名。在类型字段,选择重定向。在表达式字段,粘贴嵌入链接您复制的 Okta SWA 应用程序。将链接放在引号之间

按创建
返回响应者政策,在表达式字段,输入以下内容
HTTP.REQ.URL.PATH_AND_QUERY.CONTAINS(“vpn/index.html”)&&HTTP.REQ.HEADER(“用户代理”).CONTAINS(“CitrixReceiver”).NOT。
注意:这将只允许 Receiver Web 客户端在 SAML 身份验证成功后重定向到 Okta SWA 应用程序。这允许应用程序自动将其用户名和 PW 传递到 NetScaler Gateway 上配置的 LDAP 服务器。我们不希望 Citrix Receiver/Workspace 客户端发生这种情况。这些将使用 RADIUS
注意:This Expression assumes you’re using the X1 Portal Theme on the NetScaler Virtual Server (VPN/index.html)。如果您使用不同的门户主题,则需要确保上述表达式中的红色文本包含相关的着陆页

配置 NetScaler Gateway 虚拟服务器
登录 Citrix ADC 并导航到NetScaler Gateway >虚拟服务器。编辑相关虚拟服务器。
如果有配置的话身份验证配置文件 或基本身份验证策略,删除它们。
删除所有先前配置的策略后,点击+旁边的符号基本身份验证。您将按以下顺序添加策略
SAML:
- 关于选择政策选项选择SAML,点击继续.
- 点击进入选择政策字段,然后选择 Okta SAML 策略。
- 按选择然后绑定。
- 添加另一项政策。
半径:
- 关于选择政策选项选择半径, hit继续.
- 点击进入选择政策字段,然后选择 Okta半径政策。
- 按选择然后绑定。
- 添加另一项政策。
LDAP:
- 关于选择政策选项选择LDAP,点击继续.
- 点击进入选择政策字段,然后选择您现有的LDAPPolicy.
- 按选择然后绑定

现在向下滚动到警察,然后点击+符号。
关于选择政策字段,选择回复者,然后点击继续。
点击进入选择政策字段,然后选择 Okta Responder 策略。按Selectthen绑定。

命中完成。
结论
完成上述所有步骤后,每当您的用户访问 NetScaler Gateway 服务器网址时,他们都会被重定向到 Okta 进行身份验证,他们将在其中登录并满足 MFA 挑战,如上面的演示视频所示。通过此集成,您可以使用 Okta 来保护并简化对 Citrix Virtual Apps and Desktops 的访问。
作者