参考体系结构:联合身份验证服务

概述

这行业已经开始超越传统的单因素身份验证,通过更好的凭证方法来实现对内部资源的远程访问,从而提高安全性。各组织正在采用现代身份验证方法,主要是基于SAML(安全断言标记语言),以实现对内部服务的安全访问。

现代身份验证是一种身份管理框架,可提供更安全的用户身份验证和授权。使用现代身份验证管理用户身份为管理员提供了许多不同的工具,可提供更安全的身份这些身份验证方法包括ADFS, Azure Active Directory, Okta,谷歌,Ping-Federate等服务。与传统密码和安全令牌相比,这些方法提供了更广泛的多因素选项(文本,呼叫,pin)。

除了消除使用旧式单因素身份验证时的密码缺陷之外,SAML身份验证还使管理员能够为每个用户管理他们需要访问的所有应用程序的单个凭据集。当用户离开组织时,它管理员必须仅撤销一个凭据集。无需登录每个单独的应用程序即可吊销凭证。

什么是saml

SAML是一个基于XML的行业标准框架,用于在身份提供商和服务提供商之间交换身份验证和授权数据。

Federated-Authentication-Service-Image-1

要识别saml提供商:

  • 服务提供商(sp)是提供服务的实体,通常以应用程序的形式
  • 身份提供商(IdP)是提供用户身份的实体,包括对用户进行身份验证和授权的能力。

身份验证是验证用户身份和凭据(密码、双重身份验证和多因素)的过程。

授权是告诉服务提供商向经过身份验证的用户授予什么访问权限的过程。

Saml断言

Saml断言是身份提供商发出的加密签名XML文档,发送给包含用户授权的服务提供商。Saml断言有三种不同类型:

  • 份验证——身份验证断言证明用户的身份识别,并提供用户登录的时间以及他们使用的身份验证方法(Kerberos,多因素等)。

  • 性-归因断言传递saml用户属性(提供用户信息的特定数据片段,例如upn)。

  • 授权决策-授权决策断言说明用户是否有权使用该服务,或者身份提供商因密码失败或缺乏服务权限而拒绝了他们的请求。

Saml完全更改了用户登录以访问服务的身份验证方法。将应用程序或服务配置为通过SAML进行身份验证后,服务提供商和配置的身份提供商之间的身份验证交换将发生。身份验证过程验证用户的身份和权限,然后授予或拒绝该用户对服务的访问权限。为使saml身份验证正常运行,每个身份提供商和服务提供商都需要商定类似且准确的配置。

必须强调的是,saml不支持在身份提供商和服务提供商之间发送用户的密码。Saml的工作原理是在身份提供商和服务提供商之间传递有关用户,登录断言和属性的信息。用户通过身份提供商登录一次。然后,当用户尝试访问这些内部应用程序服务时,身份提供商会将saml断言传递给服务提供商。

联合身份验证服务

现代身份验证框架对Citrix环境带来了技术挑战。Citrix工作区具有各种身份提供程序可供选择,同时 Windows VDA 本身不支持 SAML。虚拟交付代理 (VDA) 接受用户名/密码、Kerberos 和证书作为登录的身份验证方法。

使用SAML身份验证、Citrix网关和店面无权访问用户的密码。它只有saml断言,因此无法在会话启动期间对vda执行单点登录。使用saml令牌,它会破坏vda的单点登录(sso),并再次提示用户输入凭据。

Citrix引入了联合身份验证服务(fas),以便在会话启动期间通过颁发虚拟智能卡用户证书登录的共识来在使用SAML身份验证时实现单点登录。Citrix FAS与Microsoft Active Directory和证书服务集成,以代表Active Directory用户自动颁发智能卡类证书。Citrix FAS使用类似的API,允许管理员配置物理智能卡以颁发虚拟智能卡类用户证书。

Federated-Authentication-Service-Image-2

Citrix FAS将与工作区/店面和VDA集成,以有效地将SAML断言换成用户证书。该颁发的证书作为会话启动过程的一部分插入,从而实现的共识的单点登录并避免向用户显示额外的身份验证提示。Windows和Linux VDA的工作负载均支持Citrix FAS部署。

Fas安装和注意事项

Citrix云连接器

对于Citrix云部署,云连接器支持资源位置(FAS服务器所在的位置)与Citrix云之间的通信。建议每个资源位置使用两个或更多云连接器。确保云连接器可以在相应资源位置与活动目录域控制器和虚拟交付代理进行通信。

Fas服务器

支持Citrix FAS在所有最新的Windows服务器版本上进行安装。但是,Windows和Linux VDA的工作负载都支持Citrix FAS部署。建议在不包含任何其他Citrix组件的专用服务器上安装FAS服务。为每个数据中心或资源位置安装两台或更多fas服务器。请参阅Citrix FAS安装和配置文档。

有关可扩展性和高可用性的信息,请参阅文档Citrix联合身份验证服务可扩展性和Citrix知识库文章CTX225721。当我们从本地迁移到Citrix云时,可以利用和配置在本地环境中部署的现有FAS服务器,以通过云连接器与Citrix云进行通信。

FAS服务器应安装在安全的内部网段中,因为它需要访问Active Directory域控制器,证书服务和注册机构证书以及私钥。请参阅高级配置文档,查看证书、网络和其他安全注意事项。

证书服务

如果尚未部署微软证书颁发机构(CA)服务,则必须根据组织的安全规范在企业模式下设计和部署微软证书颁发机构(CA)服务。为避免与其他软件的互操作性问题,FAS提供了三个Citrix FAS证书模板供自己使用。其中一个证书模板是用于智能卡登录Citrix VDA。另外两个证书模板将授权fas作为证书注册机构。这些模板必须在有权管理企业林的管理员帐户的帮助下部署和注册到活动目录。

活动目录

建议为Active Directory设置服务器2012功能级别。域控制器必须安装域控制器身份验证证书和模板 (CTX218941)。域控制器上的证书必须支持智能卡身份验证。

每个Active Directory部署都不同于其他部署,因此可能需要额外的步骤才能使FAS解决方案在您的环境中运行。请参阅Citrix博客了解多林选择性身份验证,为部署选择合适的体系结构。建议在生产环境中实施解决方案之前,先在实验室环境中仔细测试解决方案。

将所有三个FAS证书模板上载到活动目录,然后将CA服务器配置为使用新模板颁发证书。其中一个证书模板是用于智能卡登录Citrix VDA。另外两个证书模板将授权fas作为证书注册机构。

将Citrix FAS组策略ADMX模板安装到域控制器上的策略定义文件夹中。创建组策略对象(gpo)并使用fas服务器的DNS地址配置gpo。此GPO必须适用于FAS服务器,StoreFront服务器以及具有相应域的每个VDA。在创建计算机目录和交付组之前,请确保FAS组策略配置已正确应用于店面和共识。

对于所有共识,店面服务器(如果存在)和FAS服务器,GPO列表中FAS服务器的DNS地址顺序必须保持一致。Vda使用gpo列表来查找为虚拟应用程序或桌面启动选择的fas服务器。

会话中证书支持

默认情况下,vda不允许在登录后访问证书。如有必要,请使用组策略模板为会话中证书配置系统。Gpo中的会话期间证书选项控制登录vda后是否可以使用证书。仅当用户在进行身份验证后需要访问证书时,才选择此选项。

如果选择会话中选项,则会在登录后将证书放在用户的个人证书存储区中以供应用程序使用。例如,在VDA会话中对Web服务器进行TLS身份验证,该证书由浏览器使用。如果未选择此选项,则证书仅用于登录或重新连接,并且用户在验证后无权访问证书。

Citrix交付控制器

Citrix交付控制器必须最低版本为7.15,且VDA必须至少为7.15版本。通过在下发控制器上运行Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $truePowerShell cmdlet,在交付控制器和店面服务器之间建立信任至关重要。

Citrix店面

Citrix强烈建议为本地部署安装最新版本的StoreFront服务器。StoreFront服务器必须最低版本为3.12。确保请求票证的店面服务器和虚拟交付代理(VDA)兑换票证具有相同的FAS DNS地址配置。

Citrix FAS的概念架构

联合身份验证服务(FAS)是与Microsoft Active Directory和证书颁发机构(CA)集成的Citrix组件,允许用户在Citrix环境中无缝进行身份验证。它带来了更舒适的替代登录方法,因此,用户不再需要在VDA会话启动期间提供凭据,从而实现单点登录。

3.6对于本地环境,从店面开始,可以将SAML身份验证与多个外部身份提供商一起使用,并与Citrix FAS集成,使用户能够从Citrix网关或直接通过店面进行身份验证。

Citrix于2020年6月通过Citrix云实现了联合身份验证服务的公开GA版本。Citrix工作区现在完全支持 Citrix FAS,以在使用联合身份提供程序(如 Azure AD 和 Okta 身份提供商)时实现 VDA 的单点登录。

适用于本地部署的思杰FAS

使用本地环境进行Citrix FAS部署的概念体系结构如下。让我们回顾此部署中每个层的设计框架,了解它如何为您的组织提供完整的解决方案。

Federated-Authentication-Service-Image-3

用户层:用户使用Citrix工作区应用程序或浏览器通过Citrix网关里克斯网关访问Citrix环境。思杰工作空间应用程序可用于Windows, Mac, Android和iOS。外部用户还可以通过网页浏览器使用HTML5版本的工作区应用程序,他们无法在设备上安装工作区应用程序。

访问层:此层解释了Citrix Gateway和StoreFront的部署。Citrix网关部署在DMZ网络中以启用对远程用户的访问,店面服务器部署在公司网络中供内部用户使用。Citrix管理员在Citrix Gateway上配置了SAML身份验证策略。

要在店面应用商店上启用联合身份验证服务集成,请以管理员帐户身份在创建的新应用商店上运行PowerShell cmdlet;如果用户通过店面访问且不涉及网关,则需要执行此步骤。有关PowerShell cmdlet的更多信息,请参阅Citrix文档。配置Vda登录提供程序设置会告诉店面向FAS和VDA请求证书以便在会话启动期间检索证书以便对VDA进行身份验证。配置后,此配置将应用于针对该应用商店启动的所有会话。

使用Citrix网关时,请使用Citrix网关和回调URL的详细信息配置店面,因为登录证据是通过回调传输的。将登录类型配置为"智能卡"有助于本机客户端执行saml身份验证。”将凭据验证完全委托给网关”的设置使 StoreFront 服务器能够将用户身份验证委派给网关,这允许从 Citrix Gateway 进行直通 SAML 身份验证。IT 管理员创建了包含受信任的 FAS 服务器列表的 FAS 组策略对象,并应用于 AD 域中 FAS 服务器、VDA 和 StoreFront 服务器驻留的 OU。

使用saml身份验证时,实际身份验证将在身份提供程序中进行。SAML身份提供程序可以是任何东西,例如ADFS, Azure广告,Okta,谷歌或平身份。让我们考虑将Active Directory联合服务(ADFS)视为身份提供程序,以便这种概念体系结构继续前进。

ADFS为希望访问安全企业和联合合作伙伴组织中的应用程序的最终用户提供了简化,安全的身份联合和单点登录(SSO)功能。ADFS与组织的Active Directory域和证书服务紧密集成。

从现在开始,它表示SAML服务提供商是Citrix网关或店面。SAML身份提供程序是域中存在的微软ADFS配置为从内部和外部网络访问它以进行身份验证。

让我们讨论资源枚举和会话启动过程以及所有层末端的fas身份验证工作流程。

控制层:交付控制器,SQL数据库,Studio和许可是在控制层中部署和管理的核心组件。管理员已将托管连接配置为与虚拟机管理程序进行通信以配置和管理虚拟机。使用Citrix Studio创建计算机目录和交付组,并启用对所需用户组的访问权限。Citrix Director可帮助管理员监控整个Citrix环境。

对于Citrix FAS部署,在交付控制器上,将TrustRequestssenttothExmlServicePort设置为" true ",以信任StoreFront服务器发送的XML请求。它支持"直通"身份验证和通过Citrix Gateway路由的连接。店面服务器使用XML与交付控制器进行通信,并枚举经过身份验证的用户的资源。用户将看到StoreFront页面,其中列出了他们有权使用的应用程序和桌面。

资源层:资源层是所有用户工作负载(VDA)驻留在Citrix环境中的地方。在Citrix工作室的帮助下并使用主映像模板、管理员使用Windows Server操作系统部署了虚拟应用程序服务器。管理员使用Citrix供应(pv)为任务工作人员创建了服务器的共识。使用机器创建服务(MCS),管理员在虚拟机管理程序上使用Windows 10为电力工人部署了虚拟桌面,在虚拟机管理程序上使用红帽企业版发行版为Linux用户部署了虚拟Linux桌面。

随这些虚拟机一起安装的虚拟交付代理已注册到交付控制器;管理员在桌面和应用程序中创建了计算机目录和交付组,以便使用广告安全组的用户能够访问。Citrix HDX策略是使用Citrix工作室为交付组创建和分配的,以优化和保护HDX连接。

对于Citrix FAS部署,网络管理员已为VDA配置了防火墙规则,以便在会话启动期间与Citrix FAS服务器进行通信以获取用户证书。Citrix管理员验证包含受信任的FAS服务器的组策略已与共识和店面服务器驻留在广告中的Active Directory OU链接和启用。

平台层:此层讨论为本地部署托管控制层组件和用户工作负载所需的硬件平台。Citrix管理员在服务器硬件上安装了虚拟机管理程序软件,并为控制基础架构和用户工作负载部署了所需的虚拟机网络管理员已为所有Citrix组件启用防火墙规则,以便在环境中相互通信。存储管理员帮助为Citrix环境配置和分配足够的存储空间。

操作层:对于此概念性部署,让我们专注于操作层下的FAS服务器部署。

对于Citrix服务器FAS部署,Citrix管理员在虚拟机管理程序上部署了两个新窗口的虚拟机并安装了FAS组件。Fas管理控制台是作为Fas安装的一部分进行安装的。首次使用管理控制台时,它会引导您完成部署证书模板,设置证书颁发机构以及授权FAS使用该证书颁发机构的过程。

在证书颁发机构旁边,FAS使用特定于Windows证书颁发机构的DCOM呼叫。不能使用第三方或公共证书颁发机构。可以在fas控制台中指定多个ca详细信息以实现高可用性。中央证书颁发机构可以通过跨林注册来支持多个域。同样,店面,FAS和VDA都通过Kerberos相互进行身份验证,因此,必须位于同一个域或彼此之间具有双向信任的域中。

此外,还需要配置用户规则,该规则授权根据店面的指示颁发证书以供VDA登录和会话中使用。每个规则将指定受信任请求证书的店面服务器,这些服务器可以请求的用户集,以及可使用它们的共识计算机集。请参阅Citrix文档,其中更详细地解释了该过程。

Fas具有注册机构证书,允许它代表您的域用户自主颁发证书。因此,制定和实施安全策略来保护fas服务器并限制其权限至关重要。

在会话启动期间,生成用户证书是该过程中最昂贵的部分。Fas必须为用户动态生成新证书。它可以稍微延长登录过程并增加fas服务器上的CPU负载。但是,fas服务器可以缓存允许用户登录的证书,几乎与使用显式密码身份验证一样快。当在fas服务器内预生成用户证书时,用户的登录时间会显著缩短。有关要遵循的详细步骤,请参阅Citrix文档

Citrix FAS的会话启动过程

让我们讨论将FAS与Citrix网关和店面转VDA配合使用时的身份验证流程:

Federated-Authentication-Service-Image-4

当用户登录Citrix网关(服务提供商)时,它会通过生成SAML登录请求进行响应,然后重定向到ADFS(身份提供程序)登录页面。用户在adfs单点登录页面上输入凭据。ADFS使用Active Directory对用户进行身份验证,并将SAML请求解析为SAML响应。带有签名令牌的编码SAML响应移交给服务提供商(Citrix Gateway)。

Citrix Gateway使用IdP证书验证SAML响应。它提取saml断言以查找用户的身份(用户主体名称)以及授予他们访问权限的授权。然后它将传递给StoreFront进行验证和资源枚举。店面服务器再次使用可信网关验证和验证断言,网址该网关使用回调配置。FAS登录证据功能提供由Citrix网关和店面传递给FAS的登录证据。FAS可以验证证据,以确保令牌是由可信身份提供商(IdP)颁发的。有关登录证据的更多详细信息,请参阅Citrix文档

现在,店面的登录数据提供程序服务会联系联系联合身份验证服务,并要求为经过身份验证的用户生成证书。FAS连接到活动目录以验证用户,然后与Active Directory证书服务(adc)对话并向用户提交证书请求。

证书颁发机构为经过身份验证的用户颁发有效证书。Fas持有用户证书及其属性。此证书不与StoreFront共享。但是,StoreFront被告知该用户是有效的,FAS已为此身份验证用户注册了证书。

现在,店面服务器使用XML与交付控制器进行通信,并枚举经过身份验证的用户的资源。用户将看到StoreFront页面,其中列出了他们有权使用的所有应用程序和桌面。

当用户在其工作区应用程序中启动虚拟应用程序或桌面时,请求将发送到店面以获取ICA文件。StoreFront联系交付控制器,VDA并询问本次会话的。交付控制器验证请求并选择的共识,共识可以接受此用户会话并与店面共享的共识和安全票权威(STA)详细信息以生成ICA文件。除此之外,店面服务器还从GPO列表中选择一个FAS服务器,然后联系选定的FAS服务器以获取授予对用户证书的访问权限的票证,该证书现在存储在FAS服务器上。店面会将此FAS令牌附加到ICA文件中,然后发送回工作区应用程序。

Federated-Authentication-Service-Image-5

工作区应用程序通过提供STA票证来验证和授予与共识的通信,建立与Citrix网关的启动会话。Sta票证通过交付控制器进行验证,然后将其传递给vda进行会话启动。在此期间,vda向fas提供了fas票证,以便与fas服务器进行验证。Vda凭据插件联系从gpo列表中选择的fas服务器。Fas服务器验证令牌并颁发有效的用户证书。成功验证用户证书后,将实现单点登录,并启动vda会话并向用户显示。

适用于Citrix Cloud部署的Citrix FAS

使用Citrix Cloud环境进行FAS部署的概念体系结构如下所示。让我们回顾每个层的设计框架以及此部署的fas工作流程,以了解它如何为组织提供完整的解决方案。

Federated-Authentication-Service-Image-6

用户层:用户(也称云中为Citrix的订阅者)可以使用云工作空间URL访问Citrix环境。用户将获得云中Citrix的工作区URL,以便通过安装在其终端节点上的浏览器或工作区应用程序进行连接。

接入层:Citrix Workspace或网关服务是用户访问Citrix环境的前端或入口点。管理员可以使用云门户更改工作空间URL和身份验证选项。安装云连接器可以将客户的Active Directory域扩展到Citrix Cloud。工作区中的身份验证配置允许管理员为用户选择身份验证源,以便用户登录和访问Citrix资源。

让我们假设微软Azure Active Directory (AAD)作为此概念体系结构继续前进的身份验证源。Citrix云包括一个Azure广告应用程序,允许客户将其Citrix云订阅与Azure广告关联。有关如何将Azure Active Directory与Citrix云连接的更多信息,请参阅Citrix文档。启用Azure广告身份验证后,应使用Citrix云中的库来管理向用户和组提供访问权限。

启用了工作空间身份验证配置页面,新选项”使用联合身份验证服务配置身份验证。默认情况下,fas处于禁用状态。管理员通过使用"启用fas "按钮启用fas身份验证。”

Federated-Authentication-Service-Image-7

当用户开始使用工作区URL访问环境时,用户将根据配置重定向到相应的身份提供程序。在这种情况下,用户将被重定向到Azure提供的登录页面。用户输入有效的Azure广告凭据,然后浏览器将重定向回Citrix工作区,并显示资源页面,其中显示分配给用户的应用程序和桌面。

会话启动过程以及fas身份验证工作流程将在所有层的末尾进行讨论。

控制层:对于Citrix云环境,交付控制器,SQL数据库,工作室,导演和许可是控制层中的核心组件,在Citrix DaaS激活期间由Citrix在云端部署。管理员已将资源位置和托管连接配置为与本地虚拟机管理程序进行通信。计算机目录是使用云工作室门户创建的,Citrix董事可帮助监控环境。

管理员在Citrix工作区上启用FAS身份验证后,它会在Citrix云上启用额外的FASµ-服务以与本地FAS服务器进行通信。部署在资源位置的FAS服务器通过出站SSL连接连接云FASµ类型。

资源层:此层指的是所有用户工作负载都驻留在此部署中的资源位置。作为将本地用户工作负载与Citrix云集成的起点,管理员安装了Citrix云连接器,允许本地组件和Citrix云服务之间的通信。

在资源位置安装的vda已向云交付控制器注册。管理员创建计算机目录和交付组。Citrix HDX策略是使用Citrix工作室为交付组创建和分配的,以优化和保护HDX连接。

平台层:此层讨论托管用户工作负载和资源位置所需的其他组件所需的硬件平台。Citrix管理员已在服务器硬件上安装了虚拟机管理程序软件,并为用户工作负载和其他组件(如FAS服务器)部署了所需的虚拟机。网络管理员已为所有Citrix组件启用防火墙规则,以便在环境中相互通信。存储管理员帮助为Citrix环境配置和分配足够的存储空间。

操作层:管理用户工作负载所需的工具和组件(例如文件服务器,Citrix服务器的电话,RDS许可证服务器,Citrix应用程序分层服务器和FAS服务器)都在操作层下进行了涵盖。

管理员已部署文件服务器群集和工作空间环境管理器服务来配置VDA的用户配置文件。管理员为用户配置文件和文件夹重定向创建了专用文件共享和NFS共享。Citrix管理员还应用了资源管理策略来优化VDA代理上的CPU和内存利用率。它管理员已将远程桌面服务(RDS)客户端访问许可证服务器配置为虚拟应用程序工作负载颁发RDS许可证。

要将活动目录用户和组与Azure广告同步,管理员已安装所需数量的Azure广告连接服务器并使用其Azure订阅进行配置。对于Citrix FAS部署,Citrix管理员已部署了两个新的Windows VM,并按照安装过程安装和配置Citrix FAS服务。

使用具有提升权限的FAS管理控制台,管理员通过部署证书模板,设置证书颁发机构和授权FAS使用证书颁发机构的过程配置了FAS服务器。有关详细步骤,请参阅Citrix文档

Federated-Authentication-Service-Image-8

此外,有必要配置用户规则,该规则授权为vda登录颁发证书。每个规则将指定受信任请求证书的店面服务器,这些服务器可以请求的用户集,以及可使用它们的共识计算机集。但是,在Citrix Cloud中使用规则时,StoreFront访问权限将被忽略。当我们使用现有的FAS服务器时,FAS安装程序会检测到现有的设置,并在这些选项旁边标记为绿色。

同样的规则可用于Citrix Cloud和本地StoreFront部署。当本地StoreFront使用规则时,仍会应用StoreFront访问权限。请参阅Citrix文档,其中更详细地解释了该过程。

将Citrix FAS组策略ADMX模板安装到域控制器上的策略定义文件夹中。使用fas服务器的DNS地址创建和配置gpo。此GPO必须适用于FAS服务器,StoreFront服务器以及具有相应域的每个VDA。在创建计算机目录和交付组之前,请确保FAS组策略配置已正确应用于店面和共识。

作为在Citrix云上配置FAS服务器并将本地FAS服务器与Citrix云连接的最后一步,管理员选择了”连接到Citrix云”选项。使用Citrix Cloud登录后,管理员将选择客户帐户和资源位置。现在,Citrix Cloud注册FAS服务器并将其显示在资源位置页面上。

Federated-Authentication-Service-Image-9

将Citrix FAS与Citrix Cloud结合使用时的会话启动过程

当用户开始使用工作区URL访问环境时,用户将被重定向到基于Azure的登录页面。用户在Azure单点登录页面上输入有效的Azure凭据。Azure对用户进行身份验证并将用户重定向回Citrix Workspace页面。Citrix Workspace枚举了资源并将其呈现给用户的资源页面。

当用户在其工作空间中启动虚拟应用程序或桌面时,系统会发送请求以获取ICA文件。控制器从资源位置选择可用的vda。Citrix云选择与两位于同一资源位置的FAS服务器,以获取使用证书颁发机构提供的用户证书授予VDA访问权的票证,该证书现存储在FAS服务器上。Citrix Workspace将此FAS令牌附加到ICA文件中,然后发送回用户系统。

Federated-Authentication-Service-Image-10

工作区应用程序使用ICA文件与VDA建立连接,为了对订阅者进行身份验证,VDA将连接到FAS并出示票证。Vda凭据插件联系fas服务器并验证令牌。现在,fas服务器向vda提供有效的用户证书。成功验证用户证书后,将实现单点登录,并为用户启动vda会话。

使用案例 #1

Citrix Service Provider (CSP)设计了允许多个客户访问的混合Citrix Virtual Apps and台式机环境。考虑到未来的增长,csp还需要考虑招募更多新客户。设计规范建议为每位客户提供不同的身份提供商,避免创建域信任。

Citrix服务提供者经常将客户带入其Citrix虚拟应用程序和桌面环境,该解决方案要求Citrix网关根据UPN后缀选择性地提供不同的SAML身份提供商。例如,客户一个配置为使用Azure广告,客户- b配置为使用Active Directory联合身份验证服务(ADFS)等。为每个客户配置不同的身份提供商,需要使用Citrix FAS向Citrix VDA提供单点登录的环境。

Federated-Authentication-Service-Image-11

请参阅Citrix博客,其中包含配置环境的详细步骤。让我们讨论每位客户的工作流程和会话启动流程。重要的配置发生在Citrix网关上,利用Citrix ADC AAA, nFactor和Citrix网关会话策略来满足多个客户用户请求。

  1. 当用户登录Citrix网关(服务提供商)时,将根据UPN后缀识别用户,然后重定向到相应的身份提供程序登录页面。用户输入凭据,现在身份提供商会对用户进行身份验证,并使用saml令牌作为响应进行响应。带有签名令牌的编码SAML响应移交给服务提供商Citrix网关,在那里安装了来自身份提供商的根CA证书来验证令牌。

  2. Citrix Gateway使用IdP证书验证SAML响应。它提取saml断言以查找用户的身份(用户主体名称)以及授予他们访问权限的授权。然后它将传递给StoreFront进行验证和资源枚举。

  3. 现在,店面的登录数据提供程序服务会联系联系联合身份验证服务,并要求为经过身份验证的用户生成证书。FAS连接到Active Directory以验证用户及其影子帐户。然后它会与Active Directory证书服务(AD CS)对话并向用户提交证书请求。证书颁发机构为经过身份验证的用户颁发有效证书。

  4. 当用户在其工作区应用程序中启动虚拟应用程序或桌面时,请求将发送到店面以获取ICA文件。StoreFront验证请求并联系交付控制器,VDA询问此会话的。交付控制器验证请求并与店面共享的共识和安全票权威(STA)详细信息以生成ICA文件。除此之外,店面服务器还从GPO列表中选择一个FAS服务器,然后联系选定的FAS服务器以获取授予对用户证书的访问权限的票证,该证书现在存储在FAS服务器上。店面会将此FAS令牌附加到ICA文件中,然后发送回工作区应用程序。

  5. 工作区应用程序通过提供STA票证来验证和授予通信,启动连接以启动与Citrix网关的会话。验证后,连接将传递到vda以启动会话。在身份验证期间,vda会向vda提供fas票证,以便针对fas服务器进行验证。Vda凭据插件联系从gpo列表中选择的fas服务器。Fas服务器验证令牌并颁发有效的用户证书。成功验证用户证书后,将实现单点登录,并启动vda会话。

使用案例 #2

A公司最近收购了b公司。因此,公司希望授予公司B员工对其现有Citrix虚拟应用程序和桌面环境的访问权限。为简化两个公司域之间的身份验证,管理员通过实施外部SAML身份提供程序解决方案(如Azure Active Directory)在域之间建立了联合SAML身份验证允许用户无缝登录到另一家公司的广告环境以访问资源。在这两家公司中,用户都可以使用特定于公司的凭据,其中在公司的使用影子帐户并映射影子帐户来访问资源。

Federated-Authentication-Service-Image-12

要登录Citrix的共识,每个用户都必须在VDA信任的域中拥有Active Directory帐户。对于联合用户,我们需要为a公司域中的每个联合身份用户创建影子帐户。这些影子帐户需要与SAML IdP提供的SAML属性(通常是电子邮件地址)匹配的UPN。如果SAML IdP提供的电子邮件地址与公司域的隐喻后缀不匹配,我们需要添加与活动目录域和信任管理单元上SAML IdP提供的电子邮件后缀匹配的隐喻后缀。

  1. Compy-B用户访问网关URL,然后用户将被重定向到SAML身份提供程序。在这种情况下,它是Azure活动目录。A公司和B公司域都同步到单个Azure AD租户。

  2. 用户输入B公司凭据以对AAD进行身份验证,然后使用SAML令牌重定向回网关。

  3. 网关解析saml令牌,然后使用此saml令牌使用影子帐户验证用户的身份。然后它将传递给StoreFront进行资源枚举。

  4. 现在,店面的登录数据提供程序服务将联系联合身份验证服务,并要求为经过身份验证的影子帐户用户生成证书。FAS连接到Active Directory以验证用户(影子帐户)。然后它会与Active Directory证书服务(AD CS)对话并向用户提交证书请求。证书颁发机构为经过身份验证的用户颁发有效证书。

  5. StoreFront创建了资源页面,并将其发回给用户。

  6. 当用户在其工作区应用程序中启动虚拟应用程序或桌面时,请求将发送到店面以获取ICA文件。StoreFront验证请求并联系交付控制器,VDA询问此会话的。交付控制器验证请求并与店面共享的共识和安全票权威(STA)详细信息以生成ICA文件。除此之外,店面服务器还从GPO列表中选择一个FAS服务器,然后联系选定的FAS服务器以获取授予对用户证书的访问权限的票证,该证书现在存储在FAS服务器上。店面会将此FAS令牌附加到ICA文件中,然后发送回工作区应用程序。

  7. 工作区应用程序通过提供STA票证来验证和授予通信,启动连接以启动与Citrix网关的会话。验证后,连接将传递到vda以启动会话。在身份验证期间,vda会向vda提供fas票证,以便针对fas服务器进行验证。Vda凭据插件联系从gpo列表中选择的fas服务器。Fas服务器验证令牌并颁发有效的用户证书。成功验证用户证书后,将实现单点登录,并启动vda会话。

使用案例 #3

现有企业Citrix客户希望迁移其现有的旧Citrix环境,作为技术更新和升级计划的一部分。迁移计划规定必须将Citrix环境的控制基础架构移动到Citrix Cloud。为了部署用户工作负载,他们计划利用区域数据中心和Azure云提供的现有硬件,这有助于他们更好地管理用户和资源分配。此外,客户选择利用部署在每个区域数据中心的现有Citrix网关来实现最佳HDX连接。最后,对于身份验证,客户选择使用Azure Active Directory,因为他们计划将域控制器迁移到Azure Active Directory域服务。

根据迁移计划,域管理员已安装并配置广告连接,以便将用户和组与Azure Active Directory同步,然后再与Azure AD域服务同步。客户购买了Citrix Cloud订阅。因此,控制基础架构组件由Citrix部署和管理。Citrix管理员已将Azure广告配置为用户的身份验证方法,并通过在每个区域数据中心安装云连接器来创建资源位置。

要利用安装在每个区域的现有Citrix网关、管理员在Citrix云上配置了“网关”选项,指向本地网关,这有助于通过本地网关启动用户的HDX连接。管理员在各自数据中心的现有硬件上部署了所需的用户工作负载,而VDA现在已注册到Citrix云控制器。域管理员已经创建了区域范围的AD安全组,用于向Citrix资源进行用户置备。Citrix管理员使用特定于区域的广告安全组启用了对Citrix云门户上库页面上的资源的访问,这允许用户从同一区域访问其已发布的桌面和应用程序。

为了在使用Azure广告对Citrix工作区进行身份验证时实现的共识的单点登录,客户决定使用Citrix FAS解决方案。Citrix管理员已安装所需数量的FAS服务器,并将其配置为与Citrix云中每个资源位置上的Citrix云FAS服务进行通信。包含与相应区域的FAS服务器列表的组策略在欧级别链接,因此VDA从同一数据中心获取FAS服务器列表。

Federated-Authentication-Service-Image-13

现在,让我们回顾用户的会话启动工作流程:

  1. 当用户开始使用工作区URL访问环境时,用户将被重定向到基于Azure的登录页面。用户在Azure单点登录页面上输入有效的Azure凭据。Azure会对用户进行身份验证并将用户重定向回Citrix工作区。

  2. Citrix Workspace与云控制器连接,枚举分配给用户的资源并将其呈现给用户。

  3. 用户在其工作空间中启动虚拟应用程序或桌面,然后发送请求以获取ICA文件。云控制器从为此用户映射资源的资源位置中选择可用的VDA。Citrix Cloud选择同一资源位置中的FAS服务器以获取授予VDA访问权限的票证。Fas服务器正在向证书颁发机构请求用户证书,该证书现存储在Fas服务器上。Citrix工作区将此 FAS 令牌和 Cloud Connector 作为 STA 附加到 ICA 文件中,然后发送回用户系统。

  4. 工作区应用程序解析ICA文件并为与共识的HDX连接建立到本地网关的连接。

  5. Citrix网关使用带有云连接器的STA票证验证连接,并将连接传递到的共识。

  6. 为了对用户进行身份验证,vda将从gpo列表中连接到fas服务器。Vda凭据插件联系fas服务器并验证令牌。现在,fas服务器向vda提供有效的用户证书。

  7. 成功验证用户证书后,将实现单点登录,并为用户启动vda会话。

使用案例 #4

Citrix的一位新客户希望部署Citrix虚拟应用程序环境,以便能够访问未通过互联网公开的内部资源,例如内部网门户和交换邮箱。为确保环境的高可用性,客户选择在主动/主动设计中将环境部署在两个位置。关键服务器在每个位置都是冗余的,以避免组件级别的故障。365年客户希望将微软用于多因素身份验证,将Citrix环境的条件访问用于身份验证。客户的主要目标是向可以从任何数据中心访问虚拟应用程序的用户提供访问权限。

根据设计,客户已在每个位置部署了专用的虚拟应用程序和桌面站点,包括3个店面服务器,3个交付控制器,始终在线的SQL服务器,3个pv服务器,许可证和导演服务器。每个位置都有一对Citrix ADC,用于GSLB,网关和负载均衡器配置。由于客户想要使用Azure广告身份验证,因此需要在每个位置部署一对Citrix FAS服务器。

环境是根据设计和客户要求进行配置的。

  1. 已在站点之间配置了全局服务器负载平衡(gslb),以便平衡负载并将用户路由到可用站点。

  2. StoreFront服务器使用Citrix ADC网关进行负载平衡。

  3. 店面服务器被配置为与两个位置的交付控制器进行通信,因此,用户可以访问数据中心1或2中的资源。

  4. 建议将店面服务器的GPO配置为仅指向本地数据中心中的FAS服务器,以优化证书请求过程。

在此客户环境中,店面枚举来自两个数据中心的资源,需要将VDA配置为能够了解来自两个数据中心的所有FAS服务器。VDA可以从收到店面请求的FAS服务器中检索证书(该服务器可能位于其他数据中心)。StoreFront服务器只能与同一数据中心中的两台FAS服务器进行通信。列出FAS服务器的GPO策略将使用空白来确保店面服务器获取右侧索引中的FAS服务器列表,如下图所示。

Federated-Authentication-Service-Image-14

配置此项时,必须考虑gpo的这些"索引"对齐方式。店面和共识上的FAS服务器列表必须保持一致,就像交付控制器列表一样,VDA不接受来自交付控制器的启动请求,但它不知道。

使用Citrix FAS,VDA可以从列出的FAS服务器中检索证书。另一个考虑因素是,店面和VDA注册表中FAS服务器的顺序必须匹配,因为FAS服务器会根据它们在注册表中的列出顺序分配索引号。有时,需要在应用于店面服务器组的注册表/策略中留空条目,以确保索引在店面和共识之间匹配。

Federated-Authentication-Service-Image-15

现在,让我们回顾用户的会话启动工作流程:

  1. 当用户开始访问环境时,用户请求会根据GSLB与登录到数据中心1或Datacenter-2。

  2. 网关将用户重定向到基于Azure的登录页面。用户在Azure单点登录页面上输入有效的Azure凭据。Azure对用户进行身份验证并将用户重定向回网关。

  3. Citrix网关与店面服务器连接,枚举分配给用户的资源并将其呈现给用户。

  4. 用户启动虚拟应用程序,然后发送请求以获取ica文件。StoreFront与交付控制器连接,VDA它从用户映射以访问资源的交付组中选择可用。店面通过GPO选择同一位置的FAS服务器以获取授予VDA访问权限的票证。Fas服务器正在向证书颁发机构请求用户证书,该证书现存储在Fas服务器上。店面将此FAS令牌和交付控制器作为STA附加到ICA文件中,然后发送回用户系统。

  5. 工作区应用程序解析ica文件并建立与本地网关的连接,以便HDX连接到vda。

  6. Citrix Gateway使用STA票证与交付控制器验证连接,并将连接传递到VDA。

  7. 为了对用户进行身份验证,vda将从gpo列表中连接到fas服务器。Vda凭据插件联系fas服务器并验证令牌。现在,fas服务器向vda提供有效的用户证书。成功验证用户证书后,将实现单点登录,并为用户启动vda会话。

摘要

Citrix联合身份验证服务可帮助客户希望消除旧密码凭据方法并转向SAML等现代身份验证方法的所有部署。最后一点,Citrix FAS是一项至关重要的服务。因此,在部署之前,这是公司安全团队批准的东西。审查并实施fas服务所需的安全控制措施。

来源

此参考体系结构的目标是帮助您规划自己的实施。为了简化这项工作,我们想为您提供源图,您可以在自己的详细设计和实施指南中进行调整:源图

引用

Citrix FAS安装和配置

Citrix FAS可扩展性和HA文档

联合身份验证服务高可用性和扩展性-ctx225721

高级fas配置

域控制器验证证书和模板

多林选择性身份验证

适用于Citrix FAS的PowerShell Cmdlet

Citrix FAS的防火墙规则

用户规则配置

预生成用户证书

登录证据

将Azure Active Directory与Citrix Cloud连接

部署fas证书模板

参考体系结构:联合身份验证服务