Introduzione
In questo documento vengono descritte le nozioni di base per abilitare e verificare Single Sign On (SSO) in vManage.
Terminologia
Il linguaggio SAML (Security Assertion Markup Language) è uno standard aperto per lo scambio di dati di autenticazione e autorizzazione tra parti, in particolare tra un provider di identità e un provider di servizi. Come indica il nome, SAML è un linguaggio di markup basato su XML per le asserzioni di sicurezza (istruzioni utilizzate dai provider di servizi per prendere decisioni sul controllo dell'accesso).
Un provider di identità (IdP) è "un provider attendibile che consente di utilizzare Single Sign-On (SSO) per accedere ad altri siti Web". L'SSO riduce l'usura delle password e migliora la fruibilità. Diminuisce la superficie di attacco potenziale e fornisce una migliore sicurezza.
Provider di servizi: è un'entità di sistema che riceve e accetta asserzioni di autenticazione insieme a un profilo SSO di SAML.
Che cosa sono le funzionalità delle funzionalità?
- A partire dalla versione 18.3.0, vManage supporta SSO. L'SSO consente a un utente di accedere a vManage tramite l'autenticazione con un provider di identità esterno (IP).
- È supportato solo SAML2.0
- Supportato per: tenant singolo (standalone e cluster), multi tenant (sia a livello di provider che a livello di tenant). Inoltre, le distribuzioni multi-tenant sono cluster per impostazione predefinita. Provider-as-tenant non applicabile.
- Ogni tenant può avere il proprio provider di identità univoco purché l'idp sia allineato con la specifica SAML 2.0.
- Supporta la configurazione dei metadati IDP tramite il caricamento di file, la copia in testo normale e il download di metadati vManage.
- È supportato solo l'SSO basato su browser.
- In questa release non è possibile configurare i certificati utilizzati per gestire i metadati.
Si tratta di un certificato autofirmato, creato la prima volta che si abilita SSO, con i seguenti parametri:
Stringa CN = <TenantName>, DefaultTenant
String OU = <Nome organizzazione>
Stringa O = <Nome Organizzazione Sp>
Stringa L = "San Jose";
Stringa ST = "CA";
Stringa C = "USA";
Validità stringa = 5 anni;
Algoritmo di firma del certificato: SHA256WithRSA
Algoritmo di generazione della coppia di chiavi: RSA
- Accesso singolo - Supporto di SP avviato e IDP avviato
- Disconnessione singola - Solo SP avviato
Come abilitarlo su vManage?
Per abilitare Single Sign-On (SSO) per vManage NMS in modo da consentire l'autenticazione degli utenti tramite un provider di identità esterno:
- Assicurarsi di aver abilitato NTP su vManage NMS.
- connettersi alla GUI di vManage con l'URL configurato su IdP
(ad esempio, vmanage-112233.example.net e non utilizzare IP-Address, poiché queste informazioni sull'URL sono incluse nei metadati SAML)
- Fare clic sul pulsante Modifica a destra della barra Impostazioni provider di identità.
- Nel campo Abilita provider di identità fare clic su Abilitato,
- Copiare e incollare i metadati del provider di identità nella casella Carica metadati provider di identità. In alternativa, fare clic su Selezionare un file per caricare il file di metadati del provider di identità.
- Fare clic su Save (Salva).
Che cos'è il workflow?
- L'utente abilita SSO tramite la pagina Amministrazione->Impostazioni caricando i metadati del provider di identità.
- L'utente scarica quindi i metadati del tenant vManage corrispondenti da caricare nel provider di identità (operazione da eseguire almeno una volta per generare i metadati vManage).
- Se necessario, l'utente può disabilitare o aggiornare i metadati in qualsiasi momento.
Esempio di metadati vManage
vManage supporta l'autenticazione a due fattori e in che modo è diversa dall'SSO?
L'autenticazione a due fattori (nota anche come 2FA) è un tipo, o sottoinsieme, di autenticazione a più fattori (MFA, Multi-Factor Authentication). Si tratta di un metodo per confermare le identità dichiarate degli utenti utilizzando una combinazione di due fattori diversi: 1) qualcosa che sanno, 2) qualcosa che hanno o 3) qualcosa che sono.
Esempio: Google GMail (Password con password monouso (OTP))
2FA è disponibile sul server SSO. La procedura di accesso è simile a quella utilizzata per accedere al sito Web interno di Cisco.
Il comando reindirizza l'utente al Cisco SSO, dove viene richiesto di immettere PingID / DUO 2FA.
Quanti sono i ruoli che fanno parte della soluzione?
Abbiamo 3 ruoli: Basic, Operator, Netadmin.
Configurazione dell'accesso utente e dell'autenticazione
Quali provider di identità supportiamo?
- Okta
- IDping
- ADFS
- Microsoft Azure (versione 20.9 e successive)
I clienti possono utilizzare altri IdP e vedere se funziona. Ciò rientrerebbe nel "massimo sforzo"
Altri includono: Oracle Access Manager, F5 Networks
Nota: per gli IdP più recenti supportati da vManage, consultare la documentazione Cisco più recente
Come indicare l'appartenenza al gruppo di utenti nell'asserzione SAML?
Problema: invio anticipato di vManage con un provider di identità SAML. Quando l'utente viene autenticato correttamente, l'unica cosa a cui l'utente può accedere è il dashboard.
È possibile concedere all'utente un maggiore accesso (tramite il gruppo di utenti RBAC) quando l'utente viene autenticato tramite SAML?
Questo problema è causato da una configurazione non corretta di IDP. La chiave è che le informazioni inviate da IDP durante l'autenticazione devono contenere "Username" e "Groups" come attributi nel file xml. Se invece di "Gruppi" vengono utilizzate altre stringhe, per impostazione predefinita il gruppo di utenti sarà "Base". Gli utenti di base hanno accesso solo al dashboard di base.
Assicurarsi che IDP invii a vManage "Nome utente/Gruppi" anziché "ID utente/ruolo".
Questo è un esempio come mostrato nel file /var/log/nms/vmanage-server.log:
Esempio non lavorativo:
Viene visualizzato che "UserId/role" è stato inviato da IdP e l'utente è mappato al gruppo di 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]
Esempio di funzionamento:
In questa schermata viene visualizzato "Nome utente/Gruppi" e l'utente è mappato al gruppo 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]
Come attivare/verificare il funzionamento dell'SSO?
Per abilitare la registrazione debug delle funzionalità SSO, eseguire la procedura seguente:
1. Passare a https://<vManage_ip_addr:port>/logsettings.html
2. Selezionare la registrazione SSO e abilitarla come mostrato nell'immagine.
3. Una volta abilitato, fare clic sul pulsante Sottometti.
- I log relativi all'SSO vengono salvati nel file di log vManage /var/log/nms/vmanage-server.log, di particolare interesse, è l'impostazione "Groups" per l'autorizzazione IDP. In caso di mancata corrispondenza, l'utente utilizza per impostazione predefinita il gruppo "Basic", che dispone di accesso in sola lettura;
- Per eseguire il debug del problema relativo ai privilegi di accesso, controllare il file di log e cercare la stringa "SamlUserGroups". L'output successivo deve essere un elenco di stringhe di nomi di gruppi. Una di esse deve corrispondere alle impostazioni di gruppo in vManage. Se non viene trovata alcuna corrispondenza, l'utente ha utilizzato il gruppo "Basic" come impostazione predefinita.
Tracer SAML
Strumento per la visualizzazione dei messaggi SAML e WS-Federation inviati tramite il browser durante l'accesso singolo e la disconnessione singola.
Componente aggiuntivo FireFox SAML-Tracer
Estensione Chrome SAML-Tracer
messaggio SAML di esempio
Come accedere a vManage abilitato per SSO?
SSO è disponibile solo per l'accesso tramite browser. È possibile indirizzare manualmente vManage alla pagina di accesso tradizionale e ignorare l'SSO per utilizzare solo il nome utente e la password: https://<vmanage>:8443/login.html.
Quale algoritmo di crittografia viene utilizzato?
Attualmente è supportato SHA1 come algoritmo di crittografia. vManage firma il file di metadati SAML con l'algoritmo SHA1 che gli IdP devono accettare. Il supporto per SHA256 sarà disponibile nelle versioni future, ma attualmente non è disponibile.
Informazioni correlate
Configurare Single Sign-On: 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 log di lavoro collegati alla richiesta come riferimento.