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 sur des services hébergés sur des applications telles que Google, Facebook et Twitter.
Points à noter
- NetScaler Advanced Edition ou version ultérieure est requis pour que la solution fonctionne.
- Une appliance NetScaler doit disposer de la version 12.1 ou ultérieure pour qu’elle fonctionne en tant qu’IdP OAuth à l’aide d’OIDC.
- Le protocole OAuth sur une appliance NetScaler est qualifié pour tous les IDP SAML conformes à « OpenID connect 2.0 ».
Une appliance NetScaler peut être configurée pour se comporter comme un fournisseur de services (SP) ou un fournisseur d’identité (IdP), à l’aide de SAML et OIDC. Auparavant, une appliance NetScaler configurée en tant qu’IdP ne prenait en charge que le protocole SAML. À partir de la version 12.1 de NetScaler, NetScaler prend également en charge l’OIDC.
OIDC est une extension de l’autorisation/délégation OAuth. Une appliance NetScaler prend en charge les protocoles OAuth et OIDC dans la même classe que les 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, contrairement à OAuth qui n’obtient qu’un jeton qui ne peut pas être glané pour les informations utilisateur.
Le mécanisme d’authentification facilite la vérification en ligne des jetons OpenID. Une appliance NetScaler 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 NetScaler 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 d’URL.
Dans l’implémentation de NetScaler, 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 NetScaler peut désormais être configurée en tant que fournisseur d’identité à l’aide du protocole OIDC. Le protocole OIDC renforce les fonctionnalités de fourniture d’identité de l’appliance NetScaler. 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 ayant une durée de vie spécifique. OIDC est également conçu pour s’intégrer à des clients autres que des navigateurs, tels que des applications et des services. Par conséquent, de nombreuses implémentations adoptent largement l’OIDC.
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 possède une identité unique au sein de l’organisation.
- OIDC fournit une sécurité solide pour votre mot de passe, car le mot de passe est partagé uniquement avec votre fournisseur d’identité et non avec aucune application à laquelle vous accédez.
- L’OIDC dispose d’une grande interopérabilité avec divers systèmes, ce qui facilite l’acceptation d’OpenID par les applications hébergées.
- OIDC est un protocole simple qui permet aux clients natifs de s’intégrer facilement aux serveurs.
Pour configurer une appliance NetScaler en tant qu’IdP à l’aide du protocole OpenID Connect à l’aide de l’interface graphique
-
Accédez à Configuration > Sécurité > Trafic des applications AAA > Stratégies > Authentification > Stratégies avancées > IdP OAuth.
-
Cliquez sur Profil, puis sur Ajouter.
Dans l’écran Créer un profil de fournisseur d’identité OAuth d’authentification, définissez des valeurs pour les paramètres suivants, puis cliquez sur Créer.
- Nom : nom du profil d’authentification.
- Client ID : chaîne unique qui identifie le fournisseur de services.
- Client Secret : secret unique qui identifie le SP.
- URL de redirection : point de terminaison sur le SP auquel le code/jeton doit être publié.
- Nom de l’émetteur : chaîne qui identifie le fournisseur d’identité.
- Audience : destinataire cible du jeton envoyé par l’IdP. Cela peut être vérifié par le destinataire.
- Skew Time (Temps d’inclinaison) : durée pendant 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 de fournisseur d’identité OAuth d’authentification, 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 de consignation : nom de l’action du journal des messages à utiliser lorsqu’une demande correspond à cette stratégie. Ce n’est pas un dépôt obligatoire.
- Action à résultat non défini — Action à exécuter si le résultat de l’évaluation de la stratégie n’est pas défini (UNDEF). Ce champ n’est pas obligatoire.
- Expression — Expression de stratégie avancée utilisée par la stratégie pour répondre à une demande spécifique. Par exemple, true.
- Comments : tout commentaire concernant 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 des applications AAA > Stratégies > Authentification > Stratégies avancées > Actions > LDAP.
-
Dans l’écran Actions LDAP, cliquez sur Ajouter.
-
Dans l’écran Créer un serveur LDAP d’authentification, 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 et 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.
- Administrator Bind DN : 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 de 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 stratégie avancée que la stratégie utilise pour répondre à une demande spécifique. Par exemple, true**.
Pour configurer l’appliance NetScaler 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)
.