ADC

Autenticación OAuth

La función de administración del tráfico de autenticación, autorización y auditoría admite la autenticación OAuth y OpenID Connect (OIDC). Autoriza y autentica a los usuarios en servicios alojados en aplicaciones como Google, Facebook y Twitter.

Puntos que tener en cuenta

  • Se necesitan NetScaler Advanced Edition y versiones posteriores para que la solución funcione.
  • Un dispositivo NetScaler debe tener la versión 12.1 o posterior para que funcione como IdP de OAuth mediante OIDC.
  • OAuth en un dispositivo NetScaler está calificado para todos los IdP de SAML que cumplen con “OpenID connect 2.0”.

Se puede configurar un dispositivo NetScaler para que se comporte como un proveedor de servicios (SP) o un proveedor de identidades (IdP) mediante SAML y OIDC. Anteriormente, un dispositivo NetScaler configurado como IdP solo admitía el protocolo SAML. A partir de la versión 12.1 de NetScaler, NetScaler también es compatible con el OIDC.

OIDC es una extensión de la autorización/delegación de OAuth. Un dispositivo NetScaler admite los protocolos OAuth y OIDC en la misma clase de otros mecanismos de autenticación. OIDC es un complemento de OAuth, ya que proporciona una forma de obtener información del usuario del servidor de autorización en lugar de OAuth que solo obtiene un token que no se puede obtener para obtener información del usuario.

El mecanismo de autenticación facilita la verificación en línea de los tokens OpenID. Se puede configurar un dispositivo NetScaler para obtener certificados y verificar las firmas del token.

Una ventaja importante de utilizar los mecanismos OAuth y OIDC es que la información del usuario no se envía a las aplicaciones alojadas. Por lo tanto, el riesgo de robo de identidad se reduce considerablemente.

El dispositivo NetScaler configurado para la autenticación, la autorización y la auditoría ahora acepta los tokens entrantes que se firman mediante el algoritmo HMAC HS256. Además, las claves públicas del proveedor de identidades (IdP) SAML se leen de un archivo, en lugar de aprender de un extremo de URL.

En la implementación de NetScaler, se accede a la aplicación mediante el servidor virtual de administración del tráfico de autenticación, autorización y auditoría. Por lo tanto, para configurar OAuth, debe configurar una directiva de OAuth que debe asociarse a un servidor virtual de administración del tráfico de autenticación, autorización y auditoría.

Configurar el protocolo OpenID Connect

Ahora se puede configurar un dispositivo NetScaler como proveedor de identidades mediante el protocolo OIDC. El protocolo OIDC refuerza las capacidades de aportación de identidad del dispositivo NetScaler. Ahora puede acceder a la aplicación alojada en toda la empresa con un inicio de sesión único. El OIDC ofrece más seguridad al no transferir la contraseña del usuario, pero funciona con tokens con una duración específica. OIDC también está diseñado para integrarse con clientes que no son de explorador, como aplicaciones y servicios. Por lo tanto, muchas implementaciones adoptan ampliamente el OIDC.

Ventajas de contar con la compatibilidad con OpenID Connect

  • OIDC elimina la sobrecarga de mantener varias contraseñas de autenticación, ya que el usuario tiene una identidad única en toda la organización.
  • OIDC proporciona una seguridad sólida para su contraseña, ya que la contraseña solo se comparte con su proveedor de identidad y no con ninguna aplicación a la que acceda.
  • OIDC tiene una amplia interoperabilidad con varios sistemas, lo que facilita que las aplicaciones alojadas acepten OpenID.
  • OIDC es un protocolo sencillo que permite a los clientes nativos integrarse fácilmente con los servidores.

Para configurar un dispositivo NetScaler como IdP mediante el protocolo OpenID Connect mediante la interfaz gráfica de usuario

  1. Vaya a Configuración > Seguridad > Tráfico de aplicaciones AAA > Directivas > Autenticación > Directivas avanzadas > IdP de OAuth.

  2. Haga clic en Perfil y haga clic en Agregar.

    En la pantalla Crear perfil de proveedor de identidad de OAuth de autenticación, defina los valores para los siguientes parámetros y haga clic en Crear.

    • Nombre: Nombre del perfil de autenticación.
    • Client ID: Cadena única que identifica al proveedor de servicios.
    • Secreto del cliente : secreto único que identifica al SP.
    • URL de redirección: Punto final del SP en el que se debe publicar el código/token.
    • Nombre del emisor : cadena que identifica al IdP.
    • Público: Destinatario objetivo del token que envía el IDP. El destinatario podría comprobarlo.
    • Tiempo de sesgo : el tiempo durante el cual el token sigue siendo válido.
    • Grupo deautenticación predeterminado: grupo agregado a la sesión de este perfil para simplificar la evaluación de directivas y ayudar a personalizar las directivas.
  3. Haga clic en Directivas y en Agregar.

  4. En la pantalla Crear directiva de IDP de OAuth de autenticación, defina los valores para los siguientes parámetros y haga clic en Crear.

    • Nombre : el nombre de la directiva de autenticación.
    • Acción: Nombre del perfil creado anteriormente.
    • Acción de registro : nombre de la acción de registro de mensajes que se va a utilizar cuando una solicitud coincide con esta directiva. No es un archivo obligatorio.
    • Acción deresultado indefinido: acción a realizar si el resultado de la evaluación de directivas no está definido (UNDEF). No es un campo obligatorio.
    • Expresión: Expresión de directiva avanzada que la directiva utiliza para responder a una solicitud específica. Por ejemplo, true.
    • Comments: Cualquier comentario sobre la directiva.

Enlace de la directiva OAuthIdP y la directiva LDAP al servidor virtual de autenticación

  1. Vaya a Configuración > Seguridad > Tráfico de aplicaciones AAA > Directivas > Autenticación > Directivas avanzadas > Acciones > LDAP.

  2. En la pantalla Acciones de LDAP, haga clic en Agregar.

  3. En la pantalla Crear servidor LDAP de autenticación, defina los valores de los siguientes parámetros y haga clic en Crear.

    • Nombre: nombre de la acción LDAP
    • ServerName/ServerIP: proporciona FQDN o IP del servidor LDAP
    • Elija los valores adecuados para Tipo de seguridad, Puerto, Tipo de servidor, Tiempo de espera
    • Asegúrese de que la autenticación esté marcada
    • DN base: Base desde la que se inicia la búsqueda LDAP. Por ejemplo, dc=aaa, dc=local.
    • DN de enlace de administrador: nombre de usuario del enlace al servidor LDAP. Por ejemplo, admin@aaa.local.
    • Contraseña de administrador/Confirmar contraseña: Contraseña para enlazar LDAP
    • Haga clic en Probar conexión para probar su configuración.
    • Atributo de nombre de inicio de sesión del servidor: elija “sAMAccountName”
    • Otros campos no son obligatorios y, por lo tanto, se pueden configurar según sea necesario.
  4. Vaya a Configuración > Seguridad > Tráfico de aplicaciones AAA > Directivas > Autenticación > Directivas avanzadas > Directiva.

  5. En la pantalla Directivas de autenticación, haga clic en Agregar.

  6. En la página Crear directiva de autenticación, defina los valores de los siguientes parámetros y haga clic en Crear.

    • Nombre: nombre de la directiva de autenticación LDAP.
    • Tipo de acción: seleccione LDAP.
    • Acción: seleccione la acción LDAP.
    • Expresión: expresión de directiva avanzada que la directiva utiliza para responder a una solicitud específica. Por ejemplo, true**.

Para configurar el dispositivo NetScaler como IdP mediante el protocolo OpenID Connect mediante la CLI

En el símbolo del sistema, escriba los comandos siguientes:

  • 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-->

Nota

Puede enlazar más de una tecla. Las partes públicas de los certificados enlazados se envían en respuesta ajwks\_uri query (https://gw/oauth/idp/certs).

Autenticación OAuth