配置 SAML 身份验证

安全断言标记语言 (SAML) 是一种基于 XML 的标准,用于在身份提供商 (IdP) 和服务提供商之间交换身份验证和授权。Citrix 网关支持 SAML 身份验证。

配置 SAML 身份验证时,您将创建以下设置:

  • IdP 证书名称。这是与 IdP 上的私钥对应的公钥。
  • 重定向 URL。这是身份验证 IdP 的 URL。未经身份验证的用户将被重定向到此 URL。
  • 用户字段。如果 IdP 发送的用户名格式不同于主题标签的 NameTid 标签,则可以使用此字段提取用户名。这是一个可选设置。
  • 签名证书名称。这是 Citrix 网关服务器的私钥,用于对 IdP 签名身份验证请求。如果未配置证书名称,则发送断言未签名或拒绝身份验证请求。
  • SAML 发行者名称。发送身份验证请求时使用此值。发行者字段中必须有一个唯一的名称,以表示发送断言的机构。这是一个可选字段。
  • 默认身份验证组。这是身份验证服务器上对用户进行身份验证的组。
  • 两个因素。此设置启用或禁用双重身份验证。
  • 拒绝未签名的断言。如果启用,Citrix Gateway 将拒绝用户身份验证,如果未配置签名证书名称。

思杰网关支持 HTTP 后绑定。在此绑定中,发送方回复用户的 200 OK,其中包含包含所需信息的表单自动发布。具体而言,该默认窗体必须包含两个名为 SAML 请求和 SAML 响应的隐藏字段,具体取决于窗体是请求还是响应。该表格还包括 ReleyState,即发送方用于发送依赖方未处理的任意信息的状态或信息。依赖方只是将信息发回,以便当发送方与 RelyState 一起获取断言时,发送方知道接下来该怎么做。Citrix 建议您对中继状态进行加密或模糊处理。

配置 Active Directory 联合身份验证服务 2.0

可以在联合服务器角色中使用的任何 Windows Server 2008 或 Windows Server 2012 计算机上配置 Active Directory 联合身份验证服务 (AD FS) 2.0。将 AD FS 服务器配置为使用 Citrix 网关时,需要使用 Windows Server 2008 或 Windows 服务器 2012 中的信赖方信任向导配置以下参数。

视窗服务器 2008 年参数:

  • 信赖方信托。您可以提供 Citrix 网关元数据文件位置https://vserver.fqdn.com/ns.metadata.xml,例如 vserver.fqdn.com 是 Citrix 网关虚拟服务器的完全限定域名 (FQDN)。您可以在绑定到虚拟服务器的服务器证书上找到 FQDN。
  • 授权规则。您可以允许或拒绝用户访问信赖方。

视窗服务器 2012 年参数:

  • 信赖方信托。您可以提供 Citrix 网关元数据文件位置https://vserver.fqdn.com/ns.metadata.xml,例如 vserver.fqdn.com 是 Citrix 网关虚拟服务器的完全限定域名 (FQDN)。您可以在绑定到虚拟服务器的服务器证书上找到 FQDN。

  • AD FS 简介。选择 AD FS 配置文件。

  • 证书。Citrix 网关不支持加密。您无需选择证书。

  • 启用对 SAML 2.0 Web SO 协议的支持。这样可以支持 SAML 2.0 SSO。您可以提供 Citrix 网关虚拟服务器 URL,例如https:netScaler.virtualServerName.com/cgi/samlauath

    此 URL 是 Citrix 网关设备上的断言使用者服务 URL。这是一个常量参数,Citrix 网关需要对此 URL 进行 SAML 响应。

  • 依赖方信任标识符。输入名称思杰网关。这是一个用于识别依赖方的 URL,例如https://netscalerGateway.virtualServerName.com/adfs/services/trust

  • 授权规则。您可以允许或拒绝用户访问信赖方。

  • 配置声明规则。您可以使用发布转换规则配置 LDAP 属性的值,并使用模板将 LDAP 属性发送为声明。然后,您可以配置 LDAP 设置,其中包括:

    • 电子邮件地址
    • 同一账户名称
    • 用户主体名称 (UPN)
    • 成员
  • 证书签名。您可以通过选择中继方的属性,然后添加证书来指定签名验证证书。

    如果签名证书小于 2048 位,则会显示一条警告消息。您可以忽略警告以继续。如果您正在配置测试部署,请禁用中继方上的证书吊销列表 (CRL)。如果不禁用检查,AD FS 将尝试 CRL 验证证书。

    您可以通过运行以下命令禁用 CRL:设置广告中继方信任-签名证书撤销检查无目标名称网络缩放器

配置设置后,请在完成中继方信任向导之前验证信赖方数据。您可以使用终端节点 URL 检查 Citrix 网关虚拟服务器证书,例如https://vserver.fqdn.com/cgi/samlauth

在中继方信任向导中完成设置配置后,选择配置的信任,然后编辑属性。您需要执行以下操作:

  • 将安全哈希算法设置为 SHA-1。

    注意:思杰仅支持 SHA-1。

  • 删除加密证书。不支持加密断言。

  • 编辑声明规则,包括以下内容:

    • 选择变换规则
    • 添加声明规则
    • 选择声明规则模板:将 LDAP 属性作为声明发送
    • 给出一个名字
    • 选择属性存储:Active Directory
    • <Active Directory parameters>选择 LDAP 属性:
    • 选择 “正在进行的声明规则” 作为 “名称 ID”

    注意:不支持属性名称 XML 标签。

  • 配置单次注销的注销 URL。声明规则是发送注销 URL。自定义规则应如下:

    pre codeblock => issue(Type = "logoutURL", Value = "https://<adfs.fqdn.com>/adfs/ls/", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified");

配置 AD FS 设置后,下载 AD FS 签名证书,然后在 Citrix 网关上创建证书密钥。然后,您可以使用证书和密钥在 Citrix 网关上配置 SAML 身份验证。

配置 SAML 双重身份验证

您可以配置 SAML 双重身份验证。使用 LDAP 身份验证配置 SAML 身份验证时,请使用以下准则:

  • 如果 SAML 是主身份验证类型,请在 LDAP 策略中禁用身份验证并配置组提取。然后,将 LDAP 策略绑定为辅助身份验证类型。
  • SAML 身份验证不使用密码,只使用用户名。此外,SAML 身份验证仅在身份验证成功时通知用户。如果 SAML 身份验证失败,则不会通知用户。由于未发送故障响应,SAML 必须是级联中的最后一个策略或唯一策略。
  • Citrix 建议您配置实际用户名而不是不透明字符串。
  • SAML 不能绑定为辅助身份验证类型。