Introduction
Ce document décrit les bases permettant d'activer et de vérifier l'authentification unique (SSO) sur vManage.
Terminologie
Le langage SAML (Security Assertion Markup Language) est une norme ouverte d'échange de données d'authentification et d'autorisation entre les parties, en particulier entre un fournisseur d'identité et un fournisseur de services. Comme son nom l'indique, SAML est un langage de balisage XML pour les assertions de sécurité (instructions que les fournisseurs de services utilisent pour prendre des décisions de contrôle d'accès).
Un fournisseur d'identité est « un fournisseur de confiance qui vous permet d'utiliser l'authentification unique (SSO) afin d'accéder à d'autres sites Web. » SSO réduit la fatigue des mots de passe et améliore leur convivialité. Il réduit la surface d'attaque potentielle et offre une meilleure sécurité.
Fournisseur de services : entité système qui reçoit et accepte des assertions d'authentification en association avec un profil SSO du SAML.
Que sont les fonctionnalités ?
- Depuis la version 18.3.0, vManage prend en charge SSO. SSO permet à un utilisateur de se connecter à vManage en s'authentifiant auprès d'un fournisseur d'identité externe (IP).
- Seul SAML2.0 est pris en charge
- Pris en charge pour : locataire unique (autonome et en cluster), multilocataire (à la fois au niveau du fournisseur et du locataire). En outre, les déploiements multilocataire sont des clusters par défaut. Provider-as-tenant n'est pas applicable.
- Chaque locataire peut avoir son propre fournisseur d'identité unique tant que le protocole idp est conforme aux spécifications SAML 2.0.
- Prend en charge la configuration des métadonnées IDP via le téléchargement de fichiers, ainsi que la copie en texte clair et le téléchargement des métadonnées vManage.
- Seul SSO basé sur navigateur est pris en charge.
- Les certificats utilisés pour les métadonnées vmanage ne sont pas configurables dans cette version.
il s'agit d'un certificat auto-signé, créé la première fois que vous activez l'authentification unique, avec les paramètres suivants :
Chaîne CN = <TenantName>, DefaultTenant
Chaîne OU = <Nom de l'organisation>
Chaîne O = <Nom De L'Organisation Sp>
Chaîne L = "San Jose";
String ST = "CA";
Chaîne C = "États-Unis";
Validité de la chaîne = 5 ans ;
Algorithme de signature de certificat : SHA256avec RSA
Algorithme de génération de paires de clés : RSA
- Connexion unique - SP initié et IDP initié pris en charge
- Déconnexion unique - SP initié uniquement
Comment l'activer sur vManage ?
Pour activer l'authentification unique (SSO) pour vManage NMS afin de permettre aux utilisateurs d'être authentifiés à l'aide d'un fournisseur d'identité externe :
- Assurez-vous que vous avez activé NTP sur vManage NMS.
- se connecter à l'interface utilisateur graphique vManage avec l'URL configurée sur le fournisseur d'identité
(par exemple, vmanage-112233.example.net et n'utilisent pas IP-Address, car ces informations d'URL sont incluses dans les métadonnées SAML)
- Cliquez sur le bouton Modifier à droite de la barre des paramètres du fournisseur d'identité.
- Dans le champ Enable Identity Provider, cliquez sur Enabled,
- Copiez et collez les métadonnées du fournisseur d'identité dans la zone Upload Identity Provider Metadata. Ou cliquez sur Sélectionner un fichier pour télécharger le fichier de métadonnées du fournisseur d'identité.
- Cliquez sur Save.
Quel est le flux de travail ?
- L'utilisateur active l'authentification unique via la page Administration->Paramètres en téléchargeant les métadonnées du fournisseur d'identité.
- L'utilisateur télécharge ensuite les métadonnées de locataire vManage correspondantes à télécharger sur le fournisseur d'identité (cette opération doit être effectuée au moins une fois pour générer les métadonnées vManage).
- L'utilisateur peut désactiver ou mettre à jour les métadonnées à tout moment si nécessaire.
Exemple de méta vManage
vManage prend-il en charge l'authentification à deux facteurs et en quoi il diffère de l'authentification unique ?
L'authentification à deux facteurs (également appelée 2FA) est un type, ou sous-ensemble, d'authentification multifacteur (MFA). Il s'agit d'une méthode de confirmation des identités revendiquées par les utilisateurs en utilisant une combinaison de deux facteurs différents : 1) quelque chose qu'ils savent, 2) quelque chose qu'ils ont, ou 3) quelque chose qu'ils sont.
Exemple : Google GMail (mot de passe avec mot de passe à usage unique (OTP))
2FA est un élément fourni sur le serveur SSO. Elle est similaire à la façon dont nous nous connectons au site Web interne de Cisco.
Il vous redirige vers Cisco SSO, où vous êtes invité à saisir PingID / DUO 2FA.
Combien de rôles font partie de la solution ?
Nous avons 3 rôles : basic, operator, netadmin.
Configuration de l'accès utilisateur et authentification
Quels IDp prenons-nous en charge ?
- Okta
- PingID
- ADFS
- Microsoft Azure (20.9 et versions ultérieures)
Les clients peuvent utiliser d'autres IDp et peuvent le voir fonctionner. Cela relèverait de l'"effort maximal"
Autres éléments : Oracle Access Manager, F5 Networks
Remarque : consultez la documentation Cisco la plus récente pour connaître les derniers IdP pris en charge par vManage
Comment indiquer l'appartenance à un groupe d'utilisateurs dans l'assertion SAML ?
Problème : frontal du vManage avec un IDp SAML. Lorsque l'utilisateur est authentifié avec succès, la seule chose à laquelle il peut accéder est le tableau de bord.
Existe-t-il un moyen d'accorder à l'utilisateur un accès supplémentaire (via le groupe d'utilisateurs RBAC) lorsque l'utilisateur est authentifié via SAML ?
Ce problème est dû à une configuration incorrecte du IDP. La clé ici est que les informations envoyées par IDP pendant l'authentification doivent contenir « Username » et « Groups » comme attributs dans le xml. Si d'autres chaînes sont utilisées à la place de « Groups », le groupe d'utilisateurs est défini par défaut sur « Basic ». Les utilisateurs de base ont uniquement accès au tableau de bord de base.
Assurez-vous que IDP envoie « Nom d'utilisateur/Groupes », au lieu de « ID d'utilisateur/rôle » à vManage.
Ceci est un exemple comme on le voit dans le fichier /var/log/nms/vmanage-server.log :
Exemple de non-fonctionnement :
Nous voyons que « UserId/role » a été envoyé par IdP et que l'utilisateur est mappé au groupe de base.
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| AttributeMap: {role=[netadmin], UserId=[Tester@example.com]}
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| AttributeMap: {role=[netadmin], UserId=[Tester@example.com]}
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| Roles: [Basic]
Exemple pratique :
Dans ce cas, vous voyez "Nom d'utilisateur/Groupes" et l'utilisateur est mappé au groupe netadmin.
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| AttributeMap: {UserName=[Tester@example.com], Groups=[netadmin]}
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| AttributeMap: {UserName=[Tester@example.com], Groups=[netadmin]}
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| Roles: [netadmin]
Comment activer/vérifier si SSO fonctionne ?
La journalisation du débogage de la fonctionnalité SSO peut être activée en procédant comme suit :
1. Accédez à https://<vManage_ip_addr:port>/logsettings.html
2. Sélectionnez la journalisation SSO et activez-la comme indiqué dans l'image.
3. Une fois activé, appuyez sur le bouton Soumettre.
- Les journaux associés à SSO sont enregistrés dans le fichier journal vManage /var/log/nms/vmanage-server.log d'intérêt particulier est le paramètre « Groups » pour l'autorisation IDP. S'il n'y a pas de correspondance, l'utilisateur utilise par défaut le groupe "Basic", qui a un accès en lecture seule ;
- Afin de déboguer le problème de privilège d'accès, vérifiez le fichier journal et recherchez la chaîne "SamlUserGroups". Le résultat suivant doit être une liste de chaînes de noms de groupes. L'un d'eux doit correspondre aux paramètres de groupe sur le vManage. Si aucune correspondance n'est trouvée, l'utilisateur est défini par défaut sur le groupe « De base ».
Traceur SAML
Outil permettant d'afficher les messages SAML et WS-Federation envoyés via le navigateur lors de l'authentification unique et de la déconnexion unique.
Module complémentaire FireFox SAML-Tracer
Extension Chrome SAML-Tracer
exemple de message SAML
Comment se connecter à vManage compatible SSO ?
SSO est uniquement destiné à la connexion au navigateur. Vous pouvez diriger manuellement vManage vers la page de connexion traditionnelle et contourner SSO afin d'utiliser uniquement le nom d'utilisateur et le mot de passe : https://<vmanage>:8443/login.html.
Quel algorithme de chiffrement est utilisé ?
Actuellement, nous prenons en charge SHA1 comme algorithme de chiffrement. vManage signe le fichier de métadonnées SAML avec l'algorithme SHA1 dont les IdP doivent l'accepter. La prise en charge de SHA256 sera disponible dans les versions futures, que nous ne prenons pas actuellement en charge.
Informations connexes
Configurer l'authentification unique : https://www.cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-16/security-book-xe/configure-sso.html
Les journaux de connexion/déconnexion OKTA sont joints au dossier à titre de référence.