Authentification OAuth
La fonctionnalité de gestion du trafic d’authentification, d’autorisation et d’audit prend en charge l’authentification OAuth et OpenID Connect (OIDC). Il autorise et authentifie les utilisateurs à des services hébergés sur des applications telles que Google, Facebook et Twitter.
Points à noter
- Citrix ADC Advanced Edition et version ultérieure est nécessaire pour que la solution fonctionne.
- Une appliance Citrix ADC doit être sur la version 12.1 ou ultérieure pour qu’elle fonctionne en tant qu’IdP OAuth à l’aide d’OIDC.
- OAuth sur une appliance Citrix ADC est qualifiée pour tous les ID SAML conformes à « OpenID connect 2.0 ».
Une appliance Citrix ADC peut être configurée pour se comporter en tant que fournisseur de services (SP) ou IdP (Identity Provider), à l’aide de SAML et OIDC. Auparavant, une appliance Citrix ADC configurée en tant qu’IdP ne prenait en charge que le protocole SAML. À partir de la version Citrix ADC 12.1, Citrix ADC prend également en charge l’OIDC.
L’OIDC est une extension de l’autorisation ou de la délégation OAuth. Une appliance Citrix ADC prend en charge les protocoles OAuth et OIDC dans la même classe d’autres mécanismes d’authentification. OIDC est un module complémentaire à OAuth car il fournit un moyen d’obtenir des informations utilisateur à partir du serveur d’autorisation par opposition à OAuth qui obtient seulement un jeton qui ne peut pas être utilisé pour les informations utilisateur.
Le mécanisme d’authentification facilite la vérification en ligne des jetons OpenID. Une appliance Citrix ADC peut être configurée pour obtenir des certificats et vérifier les signatures sur le jeton.
L’un des principaux avantages de l’utilisation des mécanismes OAuth et OIDC est que les informations utilisateur ne sont pas envoyées aux applications hébergées. Par conséquent, le risque de vol d’identité est considérablement réduit.
L’appliance Citrix ADC configurée pour l’authentification, l’autorisation et l’audit accepte désormais les jetons entrants signés à l’aide de l’algorithme HMAC HS256. En outre, les clés publiques du fournisseur d’identité SAML (IdP) sont lues à partir d’un fichier, au lieu d’apprendre à partir d’un point de terminaison URL.
Dans l’implémentation de Citrix ADC, l’application est accessible par le serveur virtuel de gestion du trafic d’authentification, d’autorisation et d’audit. Par conséquent, pour configurer OAuth, vous devez configurer une stratégie OAuth qui doit ensuite être associée à un serveur virtuel de gestion du trafic d’authentification, d’autorisation et d’audit.
Configurer le protocole OpenID Connect
Une appliance Citrix ADC peut désormais être configurée en tant que fournisseur d’identité à l’aide du protocole OIDC. Le protocole OIDC renforce les capacités fournissant l’identité de l’appliance Citrix ADC. Vous pouvez désormais accéder à l’application hébergée à l’échelle de l’entreprise avec une authentification unique. L’OIDC offre plus de sécurité en ne transférant pas le mot de passe utilisateur mais fonctionne avec des jetons avec une durée de vie spécifique. OIDC est également conçu pour s’intégrer aux clients qui ne sont pas des navigateurs tels que les applications et les services. Par conséquent, de nombreuses implémentations adoptent l’OIDC largement.
Avantages de la prise en charge d’OpenID Connect
- OIDC élimine les frais généraux liés à la gestion de plusieurs mots de passe d’authentification, car l’utilisateur dispose d’une seule identité dans toute l’organisation.
- OIDC fournit une sécurité robuste pour votre mot de passe car le mot de passe est partagé uniquement avec votre fournisseur d’identité et non avec une application à laquelle vous accédez.
- OIDC dispose d’une vaste interopérabilité avec divers systèmes, ce qui facilite l’acceptation par les applications hébergées d’OpenID.
- OIDC est un protocole simple qui permet aux clients natifs de s’intégrer facilement aux serveurs.
Pour configurer une appliance Citrix ADC en tant qu’IdP à l’aide du protocole OpenID Connect à l’aide de l’interface graphique
-
Accédez à Configuration > Sécurité > Trafic AAA-Application > Stratégies > Authentification > Stratégies avancées > IdP OAuth.
-
Cliquez sur Profil et cliquez sur Ajouter.
Dans l’écran Créer une authentification OAuth IDP Profile, définissez les valeurs des paramètres suivants et cliquez sur Créer.
- Nom : nom du profil d’authentification.
- ID client — Chaîne unique qui identifie le SP.
- Secret client : secret unique qui identifie le SP.
- URL de redirection — Point de terminaison sur SP vers lequel le code/jeton doit être posté.
- Nom de l’émetteur — Chaîne qui identifie IdP.
- Audience — Destinataire cible du jeton envoyé par IdP. Cela peut être vérifié par le destinataire.
- Temps d’inclinaison — Heure pour laquelle le jeton reste valide.
- Groupe d’authentification par défaut : groupe ajouté à la session pour ce profil afin de simplifier l’évaluation des stratégies et d’aider à personnaliser les stratégies.
-
Cliquez sur Stratégies et cliquez sur Ajouter.
-
Dans l’écran Créer une stratégie d’IDP OAuth Authentication, définissez des valeurs pour les paramètres suivants, puis cliquez sur Créer .
- Nom : nom de la stratégie d’authentification.
- Action : nom du profil créé précédemment.
- Action du journal — Nom de l’action messagelog à utiliser lorsqu’une requête correspond à cette stratégie. Pas un dépôt obligatoire.
- Undefined-Result Action – Action à réaliser si le résultat de l’évaluation des stratégies est undefined(UNDEF). Pas un champ obligatoire.
- Expression : expression syntaxique par défaut utilisée par la stratégie pour répondre à une demande spécifique. Par exemple, vrai.
- Commentaires — Tout commentaire sur la stratégie.
Liaison de la stratégie OAuthIDP et de la stratégie LDAP au serveur virtuel d’authentification
-
Accédez à Configuration > Sécurité > Trafic AAA-Application > Stratégies > Authentification > Stratégies avancées > Actions > LDAP.
-
Dans l’écran Actions LDAP, cliquez sur Ajouter.
-
Dans l’écran Créer une authentification Serveur LDAP, définissez les valeurs des paramètres suivants, puis cliquez sur Créer.
- Nom — Nom de l’action LDAP
- ServerName /ServerIP — Fournit le nom de domaine complet ou l’adresse IP du serveur LDAP
- Choisissez les valeurs appropriées pour le type de sécurité, le port, le type de serveur, le délai d’expiration
- Assurez-vous que l’authentification est cochée
- DN de base — Base à partir de laquelle lancer la recherche LDAP. Par exemple, dc=aaa, dc=local.
- DN de liaison administrateur : nom d’utilisateur de la liaison au serveur LDAP. Par exemple, admin@aaa.local.
- Mot de passe administrateur/Confirmer le mot de passe : Mot de passe pour lier LDAP
- Cliquez sur Tester la connexion pour tester vos paramètres.
- Attribut Nom d’ouverture de session du serveur : Choisissez « samAccountName »
- Les autres champs ne sont pas obligatoires et peuvent donc être configurés comme requis.
-
Accédez à Configuration > Sécurité > Trafic des applications AAA-> Stratégies > Authentification > Stratégies avancées > Stratégie.
-
Dans l’écran Stratégies d’authentification, cliquez sur Ajouter.
-
Sur la page Créer une stratégie d’authentification, définissez les valeurs des paramètres suivants, puis cliquez sur Créer.
- Nom : nom de la stratégie d’authentification LDAP.
- Type d’action : choisissez LDAP.
- Action : choisissez l’action LDAP.
- Expression : expression de syntaxe par défaut utilisée par la stratégie pour répondre à une demande spécifique. Par exemple, vrai**.
Pour configurer l’appliance Citrix ADC en tant qu’IdP à l’aide du protocole OpenID Connect à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes :
add authentication OAuthIDPProfile <name> [-clientID <string>][-clientSecret ][-redirectURL <URL>][-issuer <string>][-audience <string>][-skewTime <mins>] [-defaultAuthenticationGroup <string>]<!--NeedCopy-->
-
add authentication OAuthIdPPolicy <name> -rule <expression> [-action <string> [-undefAction <string>] [-comment <string>][-logAction <string>]<!--NeedCopy-->
-
add authentication ldapAction aaa-ldap-act -serverIP 10.0.0.10 -ldapBase "dc=aaa,dc=local"<!--NeedCopy-->
-
ldapBindDn <administrator@aaa.local> -ldapBindDnPassword <password> -ldapLoginName sAMAccountName<!--NeedCopy-->
-
add authentication policy aaa-ldap-adv-pol -rule true -action aaa-ldap-act<!--NeedCopy-->
-
bind authentication vserver auth_vs -policy <ldap_policy_name> -priority 100 -gotoPriorityExpression NEXT<!--NeedCopy-->
-
bind authentication vserver auth_vs -policy <OAuthIDPPolicyName> -priority 5 -gotoPriorityExpression END<!--NeedCopy-->
bind vpn global –certkey <><!--NeedCopy-->
Remarque
Vous pouvez lier plusieurs clés. Les parties publiques des certificats liés sont envoyées en réponse à
jwks\_uri query (https://gw/oauth/idp/certs)
.