Einleitung
In diesem Dokument werden die Grundlagen zum Aktivieren und Überprüfen von Single Sign On (SSO) in vManage beschrieben.
Terminologie
Security Assertion Markup Language (SAML) ist ein offener Standard für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Parteien, insbesondere zwischen einem Identitätsanbieter und einem Dienstanbieter. Wie der Name bereits andeutet, ist SAML eine XML-basierte Markupsprache für Sicherheitsassertionen (Anweisungen, die Service Provider verwenden, um Zugriffskontrollentscheidungen zu treffen).
Ein Identitätsanbieter (IdP) ist "ein vertrauenswürdiger Anbieter, bei dem Sie sich mit einer einmaligen Anmeldung (Single Sign-on, SSO) anmelden können, um auf andere Websites zuzugreifen". SSO reduziert die Ermüdung von Passwörtern und verbessert die Benutzerfreundlichkeit. Sie verringert die potenzielle Angriffsfläche und bietet eine bessere Sicherheit.
Service Provider - Eine Systementität, die Authentifizierungsbestätigungen in Verbindung mit einem SSO-Profil der SAML empfängt und akzeptiert.
Was sind Funktionsmerkmale?
- Ab Version 18.3.0 unterstützt vManage SSO. SSO ermöglicht es Benutzern, sich bei vManage anzumelden, indem sie sich bei einem externen Identity Provider (IP) authentifizieren.
- Nur SAML2.0 wird unterstützt
- Unterstützt für: Single-Tenant (eigenständig und Cluster), Multi-Tenant (sowohl auf Anbieter- als auch auf Tenant-Ebene). Außerdem sind Multi-Tenant-Bereitstellungen standardmäßig Cluster. Provider-as-Tenant ist nicht anwendbar.
- Jeder Tenant kann über einen eigenen eindeutigen Identitätsanbieter verfügen, solange das IDP mit der SAML 2.0-Spezifikation übereinstimmt.
- Unterstützt die Konfiguration von IDP-Metadaten per Datei-Upload sowie als Textkopie und als Download von vManage-Metadaten.
- Nur browserbasierte SSO wird unterstützt.
- Zertifikate, die für vmanage-Metadaten verwendet werden, können in dieser Version nicht konfiguriert werden.
Es handelt sich um ein selbstsigniertes Zertifikat, das bei der ersten Aktivierung von SSO mit den folgenden Parametern erstellt wird:
string CN = <TenantName>, DefaultTenant
String OU = <Org Name>
Zeichenfolge O = <SP-Org-Name>
String L = "San Jose";
String ST = "CA";
Zeichenfolge C = "USA";
Zeichenfolgengültigkeit = 5 Jahre;
Zertifikatsignaturalgorithmus: SHA256WithRSA
KeyPair-Erzeugungsalgorithmus: RSA
- Einmalige Anmeldung - SP-initiiert und IDP-initiiert unterstützt
- Einmalige Abmeldung - nur SP-initiiert
Wie kann sie in vManage aktiviert werden?
So aktivieren Sie die einmalige Anmeldung (Single Sign-on, SSO) für das vManage NMS, damit Benutzer mithilfe eines externen Identitätsanbieters authentifiziert werden können:
- Stellen Sie sicher, dass NTP auf dem vManage NMS aktiviert ist.
- Stellen Sie über die auf IdP konfigurierte URL eine Verbindung zur vManage-GUI her.
(z. B. vmanage-112233.example.net, keine IP-Adresse verwenden, da diese URL-Informationen in SAML-Metadaten enthalten sind)
- Klicken Sie auf die Schaltfläche Bearbeiten rechts neben der Leiste mit den Einstellungen für den Identitätsanbieter.
- Klicken Sie im Feld Identitätsanbieter aktivieren auf Aktiviert,
- Kopieren Sie die Metadaten des Identitätsanbieters in das Feld "Metadaten des Identitätsanbieters hochladen", und fügen Sie sie ein. Oder klicken Sie auf "Datei auswählen", um die Metadatendatei des Identitätsanbieters hochzuladen.
- Klicken Sie auf Speichern.
Wie sieht der Workflow aus?
- Der Benutzer aktiviert SSO über die Seite Administration->Settings (Administration > Einstellungen), indem er die Metadaten des Identitätsanbieters hochlädt.
- Der Benutzer lädt dann die entsprechenden Metadaten des vManage-Tenants herunter, die in den Identitätsanbieter hochgeladen werden sollen (dies muss mindestens einmal durchgeführt werden, um vManage-Metadaten zu generieren).
- Der Benutzer kann Metadaten jederzeit deaktivieren oder aktualisieren, falls erforderlich.
Beispiel für vManage-Meta
Unterstützt vManage die Zwei-Faktor-Authentifizierung und unterscheidet sie sich von SSO?
Die Zwei-Faktor-Authentifizierung (auch als2FA bezeichnet) ist ein Typ oder eine Teilmenge einer Multi-Faktor-Authentifizierung (MFA). Es ist eine Methode, die beanspruchten Identitäten von Nutzern zu bestätigen, indem eine Kombination verschiedener Faktoren verwendet wird: 1) etwas, das sie wissen, 2) etwas, das sie haben, oder 3) etwas, das sie sind.
Beispiel: Google GMail (Kennwort mit einmaligem Kennwort (OTP))
2FA wird auf dem SSO-Server bereitgestellt. Dies ähnelt der Anmeldung bei der internen Cisco Website.
Sie werden zur Cisco SSO weitergeleitet, wo Sie zur Eingabe einer PingID/DUO 2FA aufgefordert werden.
Wie viele Rollen umfasst die Lösung?
Wir haben 3 Rollen: Basic, Operator, Netadmin.
Konfigurieren des Benutzerzugriffs und der Authentifizierung
Welche IdPs werden unterstützt?
- Okta
- PingID
- ADFS
- Microsoft Azure (20.9 und höher)
Kunden können andere IDs verwenden und sehen, dass diese funktionieren. Dies wäre Teil der "besten Anstrengungen"
Weitere: Oracle Access Manager, F5 Networks
Hinweis: Die neuesten von vManage unterstützten IDs finden Sie in der neuesten Cisco Dokumentation.
Wie wird die Benutzergruppenmitgliedschaft in der SAML-Assertion angegeben?
Problem: Front-End des vManagers mit einer SAML-IDp. Wenn der Benutzer erfolgreich authentifiziert wurde, kann der Benutzer nur auf das Dashboard zugreifen.
Besteht die Möglichkeit, dem Benutzer mehr Zugriff (über die Benutzergruppe RBAC) zu gewähren, wenn er über SAML authentifiziert wird?
Dieses Problem wird durch eine fehlerhafte Konfiguration von IDP verursacht. Der Schlüssel hier ist, dass die von IDP während der Authentifizierung gesendeten Informationen "Username" und "Groups" als Attribute in XML enthalten müssen. Wenn anstelle von "Groups" andere Strings verwendet werden, ist die Benutzergruppe standardmäßig auf "Basic" festgelegt. "Basic"-Benutzer haben nur Zugriff auf das grundlegende Dashboard.
Vergewissern Sie sich, dass IDP "Username/Groups" anstatt "UserId/role" an vManage sendet.
Dies ist ein Beispiel aus der Datei /var/log/nms/vmanage-server.log:
Beispiel für nicht funktionierende Umgebungen:
Es wird angezeigt, dass "UserId/role" von IdP gesendet wurde und der Benutzer der einfachen Gruppe zugeordnet ist.
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]
Arbeitsbeispiel:
Hier sehen Sie "Username/Groups" (Benutzername/Gruppen), und der Benutzer ist der Gruppe "netadmin" zugeordnet.
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]
Wie aktiviere/prüfe ich, ob SSO funktioniert?
Die Debug-Protokollierung der SSO-Funktion kann wie folgt aktiviert werden:
1. Navigieren Sie zu https://<vManage_ip_addr:port>/logsettings.html
2. Wählen Sie die SSO-Protokollierung aus, und aktivieren Sie sie wie im Bild dargestellt.
3. Klicken Sie nach der Aktivierung auf die Schaltfläche "Senden".
- Die Protokolle mit SSO-Bezug werden in der vManage-Protokolldatei gespeichert. /var/log/nms/vmanage-server.log von besonderem Interesse ist die Einstellung "Groups" (Gruppen) für die IDP-Autorisierung. Wenn keine Übereinstimmung gefunden wird, wird die Standardeinstellung "Basic" (Grundlegend) verwendet, die schreibgeschützt ist.
- Um ein Problem mit den Zugriffsberechtigungen zu beheben, überprüfen Sie die Protokolldatei und suchen Sie nach der Zeichenfolge "SamlUserGroups". Bei der nachfolgenden Ausgabe muss es sich um eine Liste von Zeichenfolgen mit Gruppennamen handeln. Eine dieser Einstellungen muss mit den Gruppeneinstellungen auf vManage übereinstimmen. Wenn keine Übereinstimmung gefunden wird, wird standardmäßig die Gruppe "Basic" (Grundlegend) angezeigt.
SAML Tracer
Ein Tool zum Anzeigen von SAML- und WS-Federation-Nachrichten, die während der einmaligen Anmeldung und Abmeldung über den Browser gesendet werden.
FireFox SAML-Tracer-Add-on
Chrome SAML-Tracer-Erweiterung
Beispiel-SAML-Meldung
Wie melde ich mich bei SSO-aktiviertem vManage an?
SSO ist nur für die Browser-Anmeldung verfügbar. Sie können vManage manuell auf die traditionelle Anmeldeseite weiterleiten und SSO umgehen, um nur den Benutzernamen und das Kennwort zu verwenden: https://<vmanage>:8443/login.html.
Welcher Verschlüsselungsalgorithmus wird verwendet?
Derzeit unterstützen wir SHA1 als Verschlüsselungsalgorithmus. vManage signiert die SAML-Metadatendatei mit dem SHA1-Algorithmus, den IdPs akzeptieren müssen. Die Unterstützung für SHA256 erfolgt in zukünftigen Versionen, die wir derzeit nicht unterstützen.
Zugehörige Informationen
Konfigurieren der einmaligen Anmeldung: https://www.cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-16/security-book-xe/configure-sso.html
OKTA Login / Logout Arbeitsprotokolle an den Fall als Referenz angehängt.