Citrix ADC

OAuth身份验证

身份验证、授权和审核流量管理功能支持OAuth和OpenID Connect(OIDC)身份验证。它授权和认证用户访问托管在谷歌、Facebook和Twitter等应用程序上的服务。

点需要注意

  • Citrix ADC高级版和更高版本的解决方案需要工作。
  • Citrix ADC设备必须是12.1或更高版本,才能使用OIDC作为OAuth IdP工作。
  • Citrix ADC设备上的OAuth适用于所有符合“OpenID connect 2.0”的SAML IDP。

可以使用SAML和OIDC将Citrix ADC设备配置为服务提供商(SP)或身份提供商(IdP)。以前,配置为IdP的Citrix ADC设备仅支持SAML协议。从Citrix ADC 12.1版开始,Citrix ADC还支持OIDC。

OIDC是OAuth授权/委托的扩展。Citrix ADC设备支持与其他身份验证机制相同的OAuth和OIDC协议。OIDC是OAuth的一个附加组件,因为它提供了一种从授权服务器获取用户信息的方法,而OAuth只获取一个令牌,而无法收集用户信息。

身份验证机制促进了OpenID令牌的内联验证。可以将Citrix ADC设备配置为获取证书并验证令牌上的签名。

使用OAuth和OIDC机制的一个主要优点是,用户信息不会发送到托管的应用程序。因此,大大降低了身份盗窃的风险。

配置为身份验证、授权和审计的Citrix ADC设备现在接受使用HMAC HS256算法签名的传入令牌。此外,SAML身份提供程序(IdP)的公钥是从文件中读取的,而不是从URL端点学习。

在Citrix ADC实现中,应用程序由认证、授权和审计流量管理虚拟服务器访问。因此,要配置OAuth,必须配置一个OAuth策略,该策略必须与认证、授权和审计流量管理虚拟服务器相关联。

配置OpenID Connect协议

现在可以使用OIDC协议将Citrix ADC设备配置为身份提供者。OIDC协议加强了Citrix ADC设备的身份识别提供能力。您现在可以通过单点登录访问企业范围内的托管应用程序。OIDC提供了更高的安全性,因为它不传输用户密码,而是使用具有特定生存期的令牌。OIDC还被设计用于集成非浏览器客户端,如应用程序和服务。因此,许多实现都广泛采用OIDC。

支持OpenID Connect的好处

  • OIDC消除了维护多个身份验证密码的开销,因为用户在整个组织中只有一个身份。
  • OIDC为您的密码提供了强大的安全性,因为密码只与您的身份提供者共享,而不会与您访问的任何应用程序共享。
  • OIDC与各种系统具有广泛的互操作性,使得托管应用程序更容易接受OpenID。
  • OIDC是一种简单的协议,它使本机客户机能够轻松地与服务器集成。

使用GUI使用OpenID Connect协议将Citrix ADC设备配置为IdP

  1. 导航到>安全> aaa应用流量>策略>认证>高级策略> OAuth IdP

  2. 点击轮廓并点击添加

    创建认证OAuth IDP配置文件界面中,设置如下参数,单击创造

    • 的名字-认证配置文件的名称。
    • 客户机ID–标识SP的唯一字符串。
    • 客户机密—标识SP的唯一秘密。
    • 重定向URL- SP上的端点必须发布代码/令牌。
    • 发行人名字—IdP标识字符串。
    • 观众—IdP发送令牌的目标接收方。这可能会被收件人检查。
    • 倾斜时间–令牌保持有效的时间。
    • 默认的身份验证组–此配置文件的会话中添加了一个组,以简化策略评估并帮助定制策略。
  3. 点击政策并点击添加

  4. 创建身份验证OAuth IDP策略界面中,设置如下参数,单击创造

    • 的名字- - - - - -身份验证策略的名称。
    • 行动—之前创建的策略的名称。
    • 日志操作–当请求与此策略匹配时要使用的消息日志操作的名称。不是强制性的。
    • Undefined-Result行动-政策评价结果不确定时应采取的行动(联合国艾滋病规划署)。这不是一个强制性的领域。
    • 表示–策略用于响应特定请求的高级策略表达式。例如,正确。
    • 评论–对该政策的任何评论。

配置认证虚拟服务器绑定OAuthIdP策略和LDAP策略

  1. 导航到>安全> aaa -应用流量>策略>认证>高级策略>动作> LDAP

  2. LDAP操作屏幕上,单击添加

  3. 创建认证LDAP服务器界面中,设置以下参数值,单击创造

    • 名称-LDAP操作的名称
    • ServerName / ServerIP -提供LDAP服务器的FQDN或IP
    • 选择适当的值对于安全类型、端口、服务器类型、超时
    • 确保认证检查
    • 基本DN -从这里开始LDAP搜索。例如,dc = aaa, dc =当地。
    • 管理员DN绑定:绑定LDAP服务器的用户名。例如,admin@aaa.local。
    • “管理员密码/确认密码”:绑定LDAP的密码
    • 点击测试连接测试您的设置。
    • 服务器登录名属性:选择“sAMAccountName”
    • 其他字段不是强制性的,因此可以根据需要进行配置。
  4. 导航到配置>安全性>AAA应用程序流量>策略>身份验证>高级策略>策略。

  5. 身份验证策略屏幕上,单击添加

  6. 创建身份验证策略第页,设置以下参数的值,然后单击创造。

    • 名称-LDAP认证策略名称。
    • 动作类型,选择LDAP。
    • 行动——选择LDAP动作。
    • 表达-策略用于响应特定请求的高级策略表达式。例如,真正的* *。

使用CLI使用OpenID Connect协议将Citrix ADC设备配置为IdP

在命令提示符处,输入以下命令:

  • 添加身份验证OAuthidProfile[-clientID][-clientSecret][-redirectURL][-issuer][-audience][-skewTime][-defaultAuthenticationGroup]<--需要复制-->
  • add authentication OAuthIdPPolicy -rule [-action [-undefAction ][-comment ][-logAction ]

  • add authentication ldapAction aaa-ldap-act -serverIP 10.0.0.10 -ldapBase "dc=aaa,dc=local"

  • ldapBindDn -ldapBindDnPassword - ldploginname sAMAccountName

  • 添加认证策略aaa-ldap- advp -pol -rule true -action aaa-ldap-act

  • 绑定认证vserver auth_vs -policy -priority 100 - gotopriityexpression NEXT

  • 绑定身份验证vserver auth_vs-policy-优先级5-gotoPriorityExpression END<--需要复制-->

  • 绑定vpn全局–证书密钥<><--需要复制-->

请注意

您可以绑定多个密钥。绑定的证书的公共部分将发送以响应jwks \ _uri查询(https://gw/oauth/idp/certs)

OAuth身份验证