概念验证:使用 Microsoft Azure SSO 和 Citrix Secure Workspace Access 安全访问 SaaS 应用

概述

当用户访问 SaaS 应用程序中的机密内容时,组织必须能够在实施身份验证标准的同时简化用户登录操作。组织必须能够保护 SaaS 应用程序,即使它存在于数据中心的范围之外。Citrix Workspace 为组织提供了 SaaS 应用程序的增强安全控制

在这种情况下,用户使用 Active Directory 作为主用户目录向 Citrix Workspace 进行身份验证,然后启动由 Azure 管理的 SaaS 应用程序。

Active Directory 和 Okta SSO

如果将 Citrix Secure Workspace Access 服务分配给 Citrix 订阅,将应用增强的安全策略,从应用基于屏幕的水印、限制打印/下载操作、屏幕抓取限制、键盘模糊处理和保护用户免受不可信链接的侵害在 SaaS 应用程序之上。

以下动画显示了使用 Azure 提供的 SSO 且受 Citrix Secure Workspace Access 问保护的 SaaS 应用程序的用户。

Azure SSO 演示

此演示显示了一个 IDP 启动的 SSO 流程,用户可在其中从 Citrix Workspace 中启动应用程序。本 PoC 指南还支持 SP 启动的 SSO 流程,用户尝试直接从首选浏览器访问 SaaS 应用程序。

假设:

  • Azure 已配置为向 SaaS 应用程序提供 SSO
  • 用户可以成功登录 Azure 应用门户并启动 SaaS 应用

本概念验证指南演示了如何:

  1. 设置 Citrix Workspace
  2. 集成主用户目录
  3. 为 SaaS 应用程序合并单点登录
  4. 定义网站过滤策略
  5. 验证配置

设置 Citrix Workspace

设置环境的初始步骤是让 Citrix Workspace 为组织做好准备,其中包括

  1. 设置工作区 URL
  2. 启用适当的服务

设置工作区 URL

  1. 以管理员帐户身份连接到 Citrix Cloud 并登录
  2. 在 Citrix Workspace 中,从左上角菜单访问 工作区配置
  3. 访问选项卡中,输入组织的唯一 URL,然后选择“已启用”

工作区 URL

启用服务

在服务集成选项卡中,启用以下服务以支持对 SaaS 应用程序的安全访问使用案例

  1. 网关
  2. Secure Browser

工作区服务

验证

Citrix Workspace 需要花费一些时间来更新服务和 URL 设置。从浏览器中验证自定义 Workspace URL 是否处于活动状态。但是,在定义和配置主用户目录之前,登录才可用。

集成主用户目录

在用户向 Workspace 进行身份验证之前,必须先配置 主用户目录。主用户目录是用户需要的唯一身份,因为 Workspace 中的所有应用程序请求都使用单点登录到辅助身份。

组织可以使用以下任何一个主用户目录

  • Active Directory:要启用 Active Directory 身份验证,必须按照 Cloud Connector 安装 指南将 Cloud Connector 部署在与 Active Directory 域控制器相同的数据中心内。
  • 使用基于时间的一次性密码的 Active Directory:基于 Active Directory 的身份验证还可以包括使用基于时间的一次性密码 (TOTP) 的多因素身份验证。此 指南 详细说明了启用此身份验证选项所需的步骤。
  • Azure Active Directory:用户可以使用 Azure Active Directory 身份向 Citrix Workspace 进行身份验证。此 指南 提供了配置此选项的详细信息。
  • Citrix Gateway:组织可以利用本地 Citrix Gateway 充当 Citrix Workspace 的身份提供商。此 指南 提供了有关集成的详细信息。
  • Okta:组织可以使用 Okta 作为 Citrix Workspace 的主要用户目录。此 指南 提供了配置此选项的说明。

创建 SaaS 应用

要使用 Citrix Workspace 成功创建 SaaS,管理员需要执行以下操作

  • 配置 SaaS 应用程序
  • 授权 SaaS 应用

配置 SaaS 应用程序

使用 Azure 中配置的 SaaS 应用程序,SaaS 应用程序可以在 Citrix Workspace 中进行配置。

  • 在 Azure 中,选择 Azure Active Directory
  • 选择 企业应用

设置 SaaS 应用程序 01

  • 在列表中,选择 SaaS 应用程序,这将显示应用程序概述
  • 选择 属性

安装 SaaS 应用程序 02

  • 复制用 户访问 URL 并记住以备以后使用
  • 在 Citrix Cloud 中,从网关磁贴中选择 管理

设置 SaaS 应用程序 03

  • 选择 添加 Web/SaaS 应用
  • 在选择模板向导中,找到正确的模板。在此示例中,选择 人类

设置 SaaS 应用程序 04

  • 选择 下一步
  • 应用程序详细信息 屏幕中,将 URL 替换为从 Azure 复制的 用户访问 URL
  • URL末尾,添加以下内容:&whr=federated_domain 使用与用户的身份关联的 域(在用户的电子邮件中 @ 登录后的信息)替换 federated_domain。联合域条目通知 Azure 重定向到正确的联合域配置。联合域信息将在即将到来的部分在 Azure 中进行配置。

设置 SaaS 应用程序 05

  • 增强的安全策略使用 “相关域” 字段来确定要保护哪些 URL。将根据默认 URL 自动添加一个相关域。除了自动创建的域外,为 SaaS 应用的实际 URL 添加一个额外的域。
  • 选择 下一步
  • 增强安全性窗口中,为环境选择适当的安全策略

设置 SaaS 应用程序 06

  • 单点登录 窗口中,将 断言 URL 设置为 https://login.microsoftonline.com/login.srf
  • 受众 设置为 URN: 联盟:micro softOnline
  • 设置名 称 ID 格式 = 持久名称 ID=Active Directory GUID
  • 选中标有使用 指定 URL 启动应用程序(SP 启动)的框。通过身份验证后,用户将自动重定向到 SaaS 应用程序,而不是 Azure 应用门户。
  • 在高级属性下,添加 属性名称 =idpeMail属性格式 = 未指定属性值 = 电子邮
  • 注意: 只需为第一个应用程序完成。选择 下载 以获取 基于 CRT 的证书。
  • 注意: 只需为第一个应用程序完成。在 登录 URL旁边,选择 复制 按钮以捕获登录 URL。稍后会使用此 URL。
  • 注意: 只需为第一个应用程序完成。选择 SAML 元数据 链接

设置 SaaS 应用程序 07

  • 在 SAML 元数据文件中,查找 EntityId。复制整个 URL 并存储以备以后使用。捕获后,可以关闭 SAML 元数据文件。

设置 SaaS 应用程序 08

  • 选择 保存
  • 选择 完成 以完成 SaaS 应用程序的配置。

授权 SaaS 应用

  • 在 Citrix Cloud 中,从菜单中选择 资料库

授权 SaaS 应用程序 01

  • 找到 SaaS 应用程序并选择 管理订阅者
  • 添加有权启动应用程序的适应用户/组

授权 SaaS 应用程序 02

将 Azure 身份验证联合到 Citrix Workspace

要成功将 SaaS 应用程序与 Citrix Workspace 联合起来,管理员需要执行以下操作

  • 验证身份验证域
  • 配置域联合

验证身份验证域

要将身份验证联合到 Citrix Workspace,Azure 必须验证完全限定的域名。在 Azure 门户中,执行以下操作:

  • 访问 Azure Active Directory
  • 在导航窗口中选择 自定义域名
  • 选择 添加自定义域
  • 输入完全限定的域名

域验证 01

  • 选择 添加域
  • Azure 提供了要纳入域名注册商的记录。完成后,选择 验证

域验证 02

  • 完成后,域名将包含经过验证的标记

域验证 03

配置域联合

最终配置是让 Azure 使用 Citrix Workspace 作为已验证域的联合权威机构。必须使用 PowerShell 来配置联合身份验证。

  • 启动 PowerShell
  • 使用以下命令添加适当的模块
Install-Module AzureAD -Force
Import-Module AzureAD -Force
Install-Module MSOnline -Force
Import-module MSOnline -Force
<!--NeedCopy-->
  • 通过 PowerShell 连接到微软在线并进行身份验证
Connect-MSOLService
<!--NeedCopy-->
  • 通过运行以下 PowerShell 命令验证域当前是否设置为 Azure 中 托管
Get-MsolDomain
<!--NeedCopy-->

域联盟 01

  • 在 PowerShell 脚本中使用以下代码,通过更改变量以与您的环境保持一致,使此域 联合
 $dom = "workspaces.wwco.net" # The fully qualified domain name verified within Azure
 $fedBrandName = "CitrixWorkspaceSAMLIdP" # A name to help remember the configuration purpose
 $IssuerUri = "https://citrix.com/fdafdjk4" # The entityID taken from the Citrix Worksapce SAML Metadata file
 $logoffuri = "https://app.netscalergateway.net/cgi/logout" # Standard entry for all. Do not change
 $uri = "https://app.netscalergateway.net/ngs/dhhn4j3mf1kc/saml/login?APPID=8dd87428-460b-4358-a3c2-609451e8f5be" # The Login URL from the Citrix Workspace SaaS app configuration
 $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("e:\CitrixCloud.crt") # Path to the downloaded certificate file from Citrix Workspace
 $certData = [system.convert]::tobase64string($cert.rawdata)

 Set-MsolDomainAuthentication `
     -DomainName $dom `
     federationBrandName $fedBrandName `
     -Authentication Federated `
     -PassiveLogOnUri $uri `
     -LogOffUri $logoffuri `
     -SigningCertificate $certData `
     -IssuerUri $IssuerUri `
     -PreferredAuthenticationProtocol SAMLP
<!--NeedCopy-->
  • 运行以下 PowerShell 命令,验证域当前是否在 Azure 中设置为
Get-MsolDomain
<!--NeedCopy-->

域联盟 02

  • 通过运行以下 PowerShell 命令验证 Azure 中的联合身份验证设置
Get-MsolDomainFederationSettings -DomainName $dom
<!--NeedCopy-->

域联盟 03

注意:如果需要删除联合身份验证设置,请运行以下 PowerShell 命令

Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed
<!--NeedCopy-->

验证

IDP 发起的验证

  • 以用户身份登录 Citrix Workspace
  • 选择 SaaS 应用程序
  • 观察 URL 以通过 Azure 进行简短的重定向
  • SaaS 门户成功启动

SP 发起的验证

  • 启动浏览器
  • 转到公司定义的 SaaS 应用程序的 URL
  • 浏览器将重定向到 Okta 然后转到 Citrix Workspace 进行身份验证
  • 用户通过主用户目录进行身份验证后,SaaS 应用程序将启动,Okta 提供单点登录

定义网站过滤策略

Citrix Secure Workspace Access 服务在 SaaS 和 Web 应用程序中提供网站过滤,以帮助保护用户免受网络钓鱼攻击。下面显示了如何设置网站过滤策略。

  • 在 Citrix Cloud 中,在 Secure Workspace Access 磁贴中进行 管理

Citrix Secure Workspace Access 1

  • 如果遵循本指南,则完成 设置最终用户身份验证 步骤和 配置最终用户对 SaaS、Web 和虚拟应用的访问权限 步骤。选择配置内容访问
  • 选择编辑
  • 启用筛选网站类别 选项
  • 在 “ 阻止的类别 ” 框中,选择 添加
  • 选择要阻止用户访问的类别

Citrix Secure Workspace Access 2

  • 选择所有适用的类别后,选择 添加

Citrix Secure Workspace Access 3

  • 对允许的类别执行同样操作
  • 对重定向的类别执行同样的操作。这些类别重定向到安全浏览器实例
  • 如果需要,管理员可以按照用于定义类别的过程过滤特定 URL 的拒绝、允许和重定向的操作。网站 URL 优先于类别。

验证配置

IDP 发起的验证

  • 以用户身份登录 Citrix Workspace
  • 选择 SaaS 应用程序。如果禁用增强的安全性,应用程序将在本地浏览器中启动,否则将使用嵌入式浏览器
  • 用户自动登录应用
  • 应用适当的增强安全策略
  • 如果已配置,请在 SaaS 应用程序中选择被阻止、允许和重定向类别中的 URL
  • 如果已配置,请在 SaaS 应用程序中选择阻止、允许和重定向的 URL 中的 URL
  • SaaS 应用程序成功启动

SP 发起的验证

  • 启动浏览器
  • 转到 SaaS 应用程序网站并 登录。如果有执行 SSO 的选项,请选择该选项。
  • 浏览器将浏览器重定向到 Citrix Workspace 进行身份验证
  • 输入用户名。
  • 用户通过主用户目录进行身份验证后,如果禁用了增强的安全性,SaaS 应用程序将在本地浏览器中启动。如果启用了增强的安全性,则安全浏览器实例将启动 SaaS 应用程序。

保持登录

在默认配置中,Azure Active Directory 会在登录过程中显示一个对话框,允许用户保持登录状态。

持久登录 01

这是 Azure 设置,可以通过执行以下操作轻松更改:

  • 在 Azure 中,选择 Azure Active Directory
  • 选择 公司品牌
  • 选择已启用的语言环境
  • 在“编辑公司品牌”窗格中,在显示选项中选择以保持登录状态

持久登录 01

  • 选择 保存

故障排除

目录中不存在用户帐户

尝试启动 SaaS 应用程序时,用户可能会收到以下错误:“GUID” 目录中不存在用户帐户 “帐户名称”。

用户帐户疑难解答 01

以下是关于如何解决此问题的建议:

  • 验证用户是否有权使用 Azure Active Directory 中的 SaaS 应用
  • 验证主用户目录、Azure Active Directory 和 SaaS 应用程序之间错误中标识的电子邮件地址是否匹配。

联邦领域对象

在验证期间,用户可能会收到以下错误:

联合领域疑难解答 01

这通常是由于域未经验证或正确联合而导致的。查看 PoC 指南的以下部分:

增强的安全策略失败

用户可能会遇到增强的安全策略(水印、打印或剪贴板访问)失败。通常,发生这种情况是因为 SaaS 应用程序使用多个域名。在 SaaS 应用程序的应用程序配置设置中,有一个 相关域的条目。

安装 SaaS 应用程序 02

增强的安全策略将应用于这些相关域。要识别缺少的域名,管理员可以使用本地浏览器访问 SaaS 应用程序,然后执行以下操作:

  • 导航到策略失败的应用程序部分
  • 在谷歌 Chrome 和 Microsoft Edge(Chromium 版)中,选择浏览器右上角的三个点以显示菜单屏幕。
  • 选择 “ 更多工具”。
  • 选择 开发者工具
  • 在开发人员工具中,选择 “ 来源”。这为应用程序的该部分提供了访问域名列表。要为应用程序的这一部分启用增强安全策略,必须将这些域名输入到应用程序配置的 相关域 字段中。添加相关域名,例如下面的 *.domain.com

增强安全疑难解答 01

概念验证:使用 Microsoft Azure SSO 和 Citrix Secure Workspace Access 安全访问 SaaS 应用