Introducción
Este documento describe los aspectos básicos para habilitar y verificar el inicio de sesión único (SSO) en vManage.
Terminology
El lenguaje de marcado de aserción de seguridad (SAML) es un estándar abierto para intercambiar datos de autenticación y autorización entre partes, en particular, entre un proveedor de identidad y un proveedor de servicios. Como su nombre indica, SAML es un lenguaje de marcado basado en XML para las afirmaciones de seguridad (instrucciones que utilizan los proveedores de servicios para tomar decisiones de control de acceso).
Un proveedor de identidad (IdP) es "un proveedor de confianza que le permite utilizar el inicio de sesión único (SSO) para acceder a otros sitios web". SSO reduce la fatiga de las contraseñas y mejora la facilidad de uso. Reduce la superficie de ataque potencial y proporciona una mayor seguridad.
Proveedor de servicios: es una entidad del sistema que recibe y acepta afirmaciones de autenticación junto con un perfil SSO de SAML.
¿Qué son las funciones?
- A partir de 18.3.0, vManage admite SSO. SSO permite al usuario iniciar sesión en vManage mediante la autenticación de un proveedor de identidad (IP) externo.
- Solo se admite SAML2.0
- Compatible con: arrendatario único (independiente y clúster), arrendatario múltiple (tanto a nivel de proveedor como de arrendatario). Además, las implementaciones de varios arrendatarios son de forma predeterminada de clúster. El proveedor como arrendatario no es aplicable.
- Cada arrendatario puede tener su propio proveedor de identidad único, siempre y cuando el idp se alinee con la especificación SAML 2.0.
- Admite la configuración de metadatos de IDP mediante la carga de archivos, así como la copia de texto sin formato y la descarga de metadatos de vManage.
- Solo se admite SSO basado en navegador.
- Los certificados utilizados para los metadatos de vmanage no se pueden configurar en esta versión.
es un certificado autofirmado, creado la primera vez que habilita el inicio de sesión único, con estos parámetros:
Cadena CN = <TenantName>, DefaultTenant
Cadena OU = <Nombre de la organización>
Cadena O = <Nombre De La Organización Sp>
Cadena L = "San José";
Cadena ST = "CA";
Cadena C = "USA";
Validez de cadena = 5 años;
Algoritmo de firma de certificado: SHA256WithRSA
Algoritmo de generación de KeyPair: RSA
- Inicio de sesión único - SP iniciado y IDP iniciado admitido
- Cierre de sesión único: solo iniciado por SP
¿Cómo se activa en vManage?
Para habilitar el inicio de sesión único (SSO) para que vManage NMS permita que los usuarios se autentiquen mediante un proveedor de identidad externo:
- Asegúrese de que ha activado NTP en vManage NMS.
- conectarse a la GUI de vManage con la URL configurada en el IdP
(por ejemplo, vmanage-112233.example.net y no utilice la dirección IP, porque esta información de URL se incluye en los metadatos SAML)
- Haga clic en el botón Editar situado a la derecha de la barra Configuración del proveedor de identidad.
- En el campo Activar proveedor de identidad, haga clic en Activado,
- Copie y pegue los metadatos del proveedor de identidad en el cuadro Cargar metadatos del proveedor de identidad. O bien, haga clic en Seleccionar un archivo para cargar el archivo de metadatos del proveedor de identidad.
- Click Save.
¿Cuál es el flujo de trabajo?
- El usuario activa el inicio de sesión único mediante la página Administration > Settings (Administración > Configuración) cargando los metadatos del proveedor de identidad.
- A continuación, el usuario descarga los metadatos de arrendatario de vManage correspondientes para cargarlos en el proveedor de identidad (se debe realizar al menos una vez para generar los metadatos de vManage).
- El usuario puede desactivar o actualizar los metadatos en cualquier momento si es necesario.
Ejemplo de vManage Meta
¿vManage admite la autenticación de dos factores y en qué se diferencia de SSO?
La autenticación de dos factores (también conocida como 2FA) es un tipo, o subconjunto, de autenticación multifactor (MFA). Es un método para confirmar las identidades reclamadas de los usuarios mediante el uso de una combinación de dos factores diferentes: 1) algo que saben, 2) algo que tienen, o 3) algo que son.
Ejemplo: Google GMail (contraseña con contraseña de un solo uso (OTP))
2FA es algo que se proporciona en el servidor SSO. Es similar a cómo iniciamos sesión en el sitio web interno de Cisco.
Le redirige al SSO de Cisco, donde se le solicita PingID / DUO 2FA.
¿Cuántas funciones hay como parte de la solución?
Tenemos 3 roles: básico, operador, netadmin.
Configuración del acceso y la autenticación de usuarios
¿Qué IdPs admitimos?
- Okta
- PingID
- ADFS
- Microsoft Azure (20.9 y versiones posteriores)
Los clientes pueden utilizar otros IdPs y pueden ver que funciona. Esto sería bajo el "mejor esfuerzo"
Otras incluyen: Oracle Access Manager, Redes F5
Nota: Consulte la documentación más reciente de Cisco para ver los IdPs más recientes admitidos por vManage
¿Cómo se indica la pertenencia al grupo de usuarios en SAML assert?
Problema: el vManage se ejecuta en primer plano con un IdP SAML. Cuando el usuario se autentica correctamente, lo único a lo que puede acceder es al panel.
¿Hay alguna manera de dar al usuario más acceso (a través del grupo de usuarios RBAC) cuando el usuario es autenticado a través de SAML?
Este problema se debe a una configuración incorrecta del IDP. La clave aquí es que la información enviada por el IDP durante la autenticación debe contener "Nombre de usuario" y "Grupos" como atributos en el xml. Si se utilizan otras cadenas en lugar de "Groups" (Grupos), el grupo de usuario será "Basic" de forma predeterminada. Los usuarios "básicos" solo tienen acceso al panel básico.
Asegúrese de que IDP envíe "Nombre de usuario/Grupos", en lugar de "Id de usuario/rol" a vManage.
Este es un ejemplo como se ve en el archivo /var/log/nms/vmanage-server.log:
Ejemplo No Funcional:
Vemos que "UserId/role" ha sido enviado por IdP y que el usuario está asignado al grupo básico.
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]
Ejemplo de funcionamiento:
En esta sección verá "Nombre de usuario/Grupos" y el usuario se asignará al grupo 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]
¿Cómo se activa/comprueba si SSO funciona?
El registro de depuración de la función SSO se puede habilitar mediante estos pasos:
1. Vaya a https://<vManage_ip_addr:port>/logsettings.html
2. Seleccione el registro de SSO y actívelo como se muestra en la imagen.
3. Una vez Habilitado, pulse el botón Enviar.
- Los registros relacionados con SSO se guardan en el archivo de registro de vManage /var/log/nms/vmanage-server.log. La configuración "Groups" (Grupos) para la autorización de IDP es de especial interés. Si no hay ninguna coincidencia, el usuario usa de forma predeterminada el grupo "Básico", que tiene acceso de sólo lectura;
- Para depurar el problema de privilegio de acceso, verifique el archivo de registro y busque la cadena "SamlUserGroups". El resultado posterior debe ser una lista de cadenas de nombres de grupo. Uno de ellos debe coincidir con la configuración del grupo en vManage. Si no se encuentra ninguna coincidencia, el usuario tomará de forma predeterminada el grupo "Básico".
Rastreador SAML
Herramienta para ver los mensajes SAML y WS-Federation enviados a través del explorador durante el inicio y el cierre de sesión únicos.
Complemento de FireFox SAML-Tracer
Extensión cromada SAML-Tracer
Ejemplo de mensaje SAML
¿Cómo iniciar sesión en vManage con SSO activado?
El inicio de sesión único es para el inicio de sesión del navegador. Puede dirigir manualmente vManage a la página de inicio de sesión tradicional y omitir SSO para utilizar solamente el nombre de usuario y la contraseña: https://<vmanage>:8443/login.html.
¿Qué algoritmo de cifrado se utiliza?
Actualmente, es compatible con SHA1 como algoritmo de cifrado. vManage firma el archivo de metadatos SAML con el algoritmo SHA1, que los IdPs deben aceptar. El soporte para SHA256 está llegando en versiones futuras, que no tenemos el soporte actualmente.
Información Relacionada
Configuración del inicio de sesión único: https://www.cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-16/security-book-xe/configure-sso.html
Registros de trabajo de inicio/cierre de sesión de OKTA adjuntos al caso como referencia.