Tutorial: Habilitación del acceso híbrido seguro para aplicaciones con Azure Active Directory B2C y F5 BIG-IP

Aprenda a integrar Azure Active Directory B2C (Azure AD B2C) con F5 BIG-IP Access Policy Manager (APM). Puede exponer las aplicaciones heredadas de forma segura a Internet mediante la seguridad BIG-IP combinada con la autenticación previa de Azure AD B2C, el acceso condicional (CA) y el inicio de sesión único (SSO). F5 Inc. se centra en la entrega, la seguridad, el rendimiento y la disponibilidad de los servicios conectados, incluidos los recursos de computación, almacenamiento y red. Proporciona hardware, software modular y soluciones de aplicaciones virtuales listas para la nube.

Implemente el controlador de entrega de aplicaciones BIG-IP (ADC) de F5 como puerta de enlace segura entre redes privadas e Internet. Hay características para la inspección de nivel de aplicación y controles de acceso personalizables. Cuando se implementa como proxy inverso, BIG-IP se usa para habilitar el acceso híbrido seguro a aplicaciones empresariales, mediante una capa de acceso de identidad federada administrada por APM.

Vaya a los recursos y notas del producto de f5.com para: Configurar fácilmente el acceso seguro a todas las aplicaciones a través de Microsoft Entra ID

Requisitos previos

Para empezar, necesitará lo siguiente:

Descripción del escenario

El escenario siguiente está basado en encabezados, pero también puede usar estos métodos para lograr el inicio de sesión único de Kerberos.

En este escenario, el acceso a una aplicación interna se basa en la recepción de encabezados de autorización HTTP de un sistema de agente heredado. Los agentes de ventas se pueden dirigir a las respectivas áreas de contenido. El servicio debe expandirse a una base de consumidores más amplia. La aplicación se actualiza para las opciones de autenticación de consumidor o se reemplaza.

Idealmente, una actualización de aplicaciones admite la administración directa y la gobernanza con un plano de control moderno. Sin embargo, el tiempo y el esfuerzo para modernizar presentan costos y posibles tiempos de inactividad. En su lugar, implemente una instancia de BIG-IP Virtual Edition (VE) entre la red pública de Internet y la red virtual interna de Azure (VNet) para permitir el acceso con Azure AD B2C. BIG-IP delante de la aplicación permite superponer el servicio con la autenticación previa de Azure AD B2C y el inicio de sesión único basado en encabezados, lo que mejora la posición de seguridad.

La solución de acceso híbrido seguro tiene los siguientes componentes:

  • Aplicación: servicio back-end protegido por Azure AD B2C y acceso híbrido seguro de BIG-IP
  • Azure AD B2C: el servidor de autorización de proveedor de identidades (IdP) y Open ID Connect (OIDC) responsable de la comprobación de las credenciales de usuario, la autenticación multifactor y el inicio de sesión único en BIG-IP APM
  • BIG-IP: proxy inverso para la aplicación. El BIG-IP APM es el cliente OIDC, delegando la autenticación al servidor de autorización OIDC, antes del SSO basado en encabezados al servicio back-end.

En el diagrama siguiente se muestra el flujo iniciado por el proveedor de servicios (PS) para este escenario.

Captura de pantalla del flujo iniciado por el proveedor de servicios.

  1. El usuario se conecta al punto de conexión de la aplicación. BIG-IP es un proveedor de servicios.
  2. El cliente OIDC de BIG-IP APM redirige al usuario al punto de conexión de inquilino de Azure AD B2C, el servidor de autorización de OIDC
  3. El inquilino de Azure AD B2C autentica previamente al usuario y aplica directivas de acceso condicional
  4. Azure AD B2C redirige al usuario de nuevo al PS con el código de autorización
  5. El cliente OIDC pide al servidor de autorización que intercambie el código de autorización por un token de identificador
  6. BIG-IP APM concede acceso de usuario e inserta los encabezados HTTP en la solicitud de cliente reenviada a la aplicación

Configuración de Azure AD B2C

Para habilitar un BIG-IP con autenticación de Azure AD B2C, use un inquilino de Azure AD B2C con un flujo de usuario adecuado o una directiva personalizada.

Consulte, Tutorial: Creación de flujos de usuario y directivas personalizadas en Azure AD B2C

Creación de atributos personalizados

Obtenga atributos personalizados de objetos de usuario de Azure AD B2C, IdP federados, conectores de API o registro de usuario. Incluya atributos en el token que va a la aplicación.

Las aplicaciones heredadas esperan atributos específicos, así que inclúyalos en el flujo de usuario. Puede reemplazarlos por atributos que requiere la aplicación. O bien, si va a configurar una aplicación de prueba con las instrucciones, use los encabezados.

  1. Inicie sesión en Azure Portal como administrador global.
  2. En el panel de la izquierda, seleccione Atributos de usuario.
  3. Seleccione Agregar para crear dos atributos personalizados.
  4. Para Id. de agente, seleccione el Tipo de datos de cadena.
  5. Para Ubicación geográfica. de agente, seleccione el Tipo de datos de cadena.

Adición de atributos a un flujo de usuario

  1. En el menú de la izquierda, vaya a Directivas>Flujos de usuario.
  2. Seleccione la directiva, por ejemplo, B2C_1_SignupSignin.
  3. Seleccione Atributos de usuario.
  4. Agregue ambos atributos personalizados.
  5. Agregue el atributo de Nombre para mostrar. Estos atributos se recogen durante el registro del usuario.
  6. Seleccione Notificaciones de aplicación.
  7. Agregue ambos atributos personalizados.
  8. Agregue el Nombre para mostrar. Estos atributos van a BIG-IP.
  9. Seleccione Ejecutar flujo de usuario.
  10. En el menú de flujo de usuarios, en la barra de navegación de la izquierda, compruebe las solicitudes de atributos definidos.

Más información: Tutorial: Creación de flujos de usuario y directivas personalizadas en Azure AD B2C

Federación Azure AD B2C

BIG-IP y Azure AD B2C federados para la confianza mutua. Registre BIG-IP en el inquilino de Azure AD B2C como una aplicación OIDC.

  1. En el portal, seleccione Registros de aplicaciones>Nuevo registro.
  2. Escriba un Nombre de aplicación, por ejemplo, HeaderApp1.
  3. En Tipos de cuenta compatibles, seleccione Cuentas en cualquier proveedor de identidades o directorio de la organización (para autenticar usuarios con flujos de usuario) .
  4. En URI de redirección, seleccione Web.
  5. Escriba el FQDN público del servicio protegido.
  6. Especifique la ruta de acceso.
  7. Deje las selecciones restantes.
  8. Seleccione Registrar.
  9. Vaya a Certificados& secretos y, después, >+ Nuevo secreto de cliente.
  10. Escriba un nombre descriptivo
  11. Introduzca un TTL para el secreto utilizado por el BIG-IP.
  12. Anote el secreto de cliente para la configuración de BIG-IP.

El URI de redireccionamiento es el punto de conexión BIG-IP. Después de la autenticación, el servidor de autorización (Azure AD B2C) envía usuarios al punto de conexión.

Más información: Tutorial: Registro de una aplicación web en Azure AD B2C para Azure AD B2C.

Configuración de BIG-IP

Para la configuración de BIG-IP, use la configuración guiada v.7/8. El marco de trabajo se adapta a las topologías de acceso y realiza una publicación rápida de servicios web.

Versión de configuración guiada

  1. Para confirmar la versión, inicie sesión en la configuración web de BIG-IP con una cuenta de administrador.
  2. Vaya aAcceso>Configuración guiada.
  3. La versión aparece en la esquina superior derecha.

Para actualizar la configuración guiada, vaya a my.f5.com para K85454683: Actualización de la configuración guiada de F5 BIG-IP en el sistema BIG-IP.

Perfiles SSL

Utilice BIG-IP configurado con un perfil SSL de cliente para asegurar el tráfico del lado del cliente sobre TLS. Importe un certificado que coincida con el nombre de dominio, usado por la dirección URL pública de la aplicación. Se recomienda usar una entidad de certificación pública, pero puede usar certificados autofirmados de BIG-IP para las pruebas.

Para agregar y administrar certificados en BIG-IP VE, vaya a techdocs.f5.com para el Sistema BIG-IP: Administración de SSL.

Configuración guiada

  1. Para iniciar el asistente para implementación, en la configuración web, vaya a Acceso >Guided Configuración guiada.
  2. Seleccione Federación>F5 como cliente de OAuth y servidor de recursos.
  3. Observe el resumen del flujo para este escenario.
  4. Seleccione Next (Siguiente).
  5. Se inicia el asistente.

Propiedades de OAuth

En las secciones siguientes, defina las propiedades para habilitar la federación entre BIG-IP APM y el servidor de autorización de OAuth, el inquilino de Azure AD B2C. Se hace referencia a OAuth en toda la configuración de BIG-IP. La solución usa OIDC, una capa de identidad en el protocolo OAuth 2.0. Los clientes de OIDC comprueban la identidad del usuario y obtienen otra información de perfil.

Nombre de la configuración

Un nombre para mostrar de configuración ayuda a distinguir entre las configuraciones de implementación en la configuración guiada. No se puede cambiar el nombre y solo aparece en la vista Configuración guiada.

Mode

BIG-IP APM es un cliente OIDC, por lo tanto seleccione la opción Cliente.

Solucionador DNS

El destino especificado debe resolver las direcciones IP públicas de los puntos de conexión de Azure AD B2C. Seleccione un solucionador DNS público existente o cree uno nuevo.

Configuración del proveedor

Configure Azure AD B2C como el IdP de OAuth2. La configuración guiada tiene plantillas de Azure AD B2C, pero no determinados ámbitos.

Agregue un nuevo proveedor y configúrelo:

Propiedades generales de OAuth

Propiedades Descripción
Tipo de proveedor de OAuth Personalizado
Elegir el proveedor de OAuth Cree uno nuevo o utilice un proveedor OAuth
Nombre Un nombre para mostrar para el IdP de B2C. Este nombre aparece para los usuarios como opción de proveedor al iniciar sesión
Tipo de token Token web JSON

Configuración de directiva de OAuth

Propiedades Descripción
Ámbito déjelo en blanco. El ámbito de OpenID para el inicio de sesión de usuario se agrega automáticamente
Tipo de concesión Código de autorización
Habilitar OpenID Connect Seleccione la opción para poner el cliente OAuth de APM en modo OIDC
Tipo de flujo Código de autorización

Configuración de proveedor de OAuth

El siguiente URI de OpenID hace referencia al punto de conexión de metadatos utilizado por los clientes de OIDC para detectar automáticamente información de IdP, como la sustitución de certificados de firma.

  1. Busque el punto de conexión de metadatos del inquilino de Azure AD B2C. Vaya a Registros de aplicaciones>Puntos de conexión.
  2. Copie el URI del documento de metadatos de OpenID Connect de Azure AD B2C. Por ejemplo, https://wacketywackb2c .b2clogin.com/<tenantname>.onmicrosoft.com/<policyname>/v2.0/.well-known/openid-configuration.
  3. A continuación, actualice el URI con sus propiedades, https://<tenantname>.b2clogin.com/WacketywackB2C.onmicrosoft.com/B2C_1_SignUpIn/v2.0/.well-known/openid-configuration.
  4. Pegue el URI en el explorador.
  5. Vea los metadatos OIDC para su inquilino de Azure AD B2C.
Propiedad Descripción
Público El Id. de cliente de aplicación que representa BIG-IP en el inquilino de Azure AD B2C
URI de autenticación El punto de conexión de autorización en los metadatos de OIDC de B2C
URI de token El punto de conexión del token en los metadatos de Azure AD B2C
URI de solicitud userinfo Dejar en blanco. Azure AD B2C no admite esta característica
URI de OpenID El punto de conexión de metadatos de URI de OpenID que creó
Omitir la validación de certificados expirados Deje la opción desactivada
Permitir certificado de configuración de JWK autofirmado Comprobar
Conjunto de entidades de certificación de confianza Seleccione ca-bundle.crt para usar las entidades de confianza de F5 predeterminadas
Intervalo de detección Proporcione un intervalo para que BIG-IP consulte las actualizaciones del inquilino de Azure AD B2C. El intervalo mínimo en AGC, versión 16.1 0.0.19, es de 5 minutos.

Configuración del servidor de OAuth

Para el servidor de autorización de OIDC, que es el inquilino de Azure AD B2C.

Propiedad Descripciones
Id. de cliente El Id. de cliente de aplicación que representa BIG-IP en el inquilino de Azure AD B2C
Secreto del cliente El secreto de cliente de la aplicación
Perfil SSL de cliente-servidor Establezca un perfil SSL para garantizar que APM se comunica con el IdP de Azure AD B2C a través del TLS. Seleccione la opción serverssl.

Configuración de solicitudes de OAuth

BIG-IP tiene todas las solicitudes requeridas de Azure AD B2C en su conjunto de solicitudes preconfiguradas. Sin embargo, las solicitudes estaban con formato incorrecto y faltaban parámetros importantes. Por lo tanto, los creamos manualmente.

Solicitud de token: habilitada

Propiedad Descripción
Elección de la solicitud de OAuth Crear nuevo
HTTP method POST
Activación de encabezados No activado
Activación de parámetros Activada
Parámetro Nombre de parámetro Valor del parámetro
client_id client_id N/D
valor de seguridad valor de seguridad N/D
redirect_uri redirect_uri N/D
scope scope N/D
response_type response_type N/D
client_secret client_secret N/D
custom grant_type authorization_code

Solicitud de redireccionamiento de autenticación: habilitada

Propiedad Descripción
Elección de la solicitud de OAuth Crear nuevo
HTTP method GET
Tipo de aviso None
Activación de encabezados No activado
Activación de parámetros Activada
Parámetro Nombre de parámetro Valor del parámetro
client_id client_id N/D
redirect_uri redirect_uri N/D
response_type response_type N/D
scope scope N/D
valor de seguridad valor de seguridad N/D

Solicitud de actualización de tokens: deshabilitada Puede habilitar y configurar según sea necesario.

Solicitud UserInfo de OpenID: deshabilitada no se admite en inquilinos globales de Azure AD B2C.

Propiedades del servidor virtual

Se debe crear un servidor virtual BIG-IP para interceptar las solicitudes de cliente externas para el servicio back-end protegido mediante el acceso híbrido seguro. Asigne al servidor virtual una dirección IP que esté asignada al registro DNS público para el punto de conexión del servicio BIG-IP que representa la aplicación. Use un servidor virtual si está disponible; de lo contrario, proporcione las siguientes propiedades.

Propiedad Descripción
Dirección de destino Dirección IP pública o privada que se convierte en el punto de conexión de servicio BIG-IP para la aplicación back-end
Puerto del servicio HTTPS
Activación de puerto de redireccionamiento Seleccione para que los usuarios se redirijan automáticamente de http a https
Puerto de redireccionamiento HTTP
Perfil SSL de cliente Intercambie el perfil clientssl predefinido por el que tiene el certificado SSL. Puede probar con el perfil predeterminado. pero es probable que provoque una alerta del explorador.

Propiedades del grupo

Los servicios back-end aparecen en BIG-IP como grupo, con uno o varios servidores de aplicaciones a los que los servidores virtuales dirigen el tráfico entrante. Seleccione un grupo o cree uno nuevo.

Propiedad Descripción
Método de equilibrio de carga Seleccione Round Robin
Servidor de grupo Dirección IP interna de la aplicación back-end
Port Puerto de servicio de la aplicación back-end

Nota

Asegúrese de que BIG-IP tiene línea de visión a la dirección del servidor del grupo.

Configuración de SSO

BIG-IP admite opciones de SSO, pero en el modo de cliente de OAuth, la Configuración guiada se limita a los encabezados Kerberos o HTTP. Habilite el inicio de sesión único y use la siguiente información para que APM asigne atributos de entrada de APM definidos a los encabezados de salida.

Propiedad Descripción
Operación de encabezado Insertar
Nombre de encabezado name
Valor de encabezado %{session.oauth.client.last.id_token.name}
Operación de encabezado Insertar
Nombre de encabezado agentid
Valor de encabezado %{session.oauth.client.last.id_token.extension_AgentGeo}

Nota:

Las variables de sesión de APM entre llaves distinguen entre mayúsculas y minúsculas. Escribir agentid, cuando el nombre del atributo de Azure AD B2C se envía como AgentID, provoca un error de asignación de atributos. Defina atributos en minúsculas. En Azure AD B2C, el flujo de usuario solicita al usuario más atributos, con el nombre del atributo en el portal. Por lo tanto, use mayúscula inicial en lugar de minúsculas.

Captura de pantalla de la configuración del inicio de sesión único, incluidos el tipo y el encabezado.

Propiedades de personalización

Personalice el idioma y la apariencia de las pantallas que los usuarios ven en el flujo de la directiva de acceso de APM. Edite avisos de pantalla y mensajes, cambie los diseños de pantalla, los colores, las imágenes y localice los subtítulos, las descripciones y los mensajes.

En el campo de texto Encabezado de formulario, reemplace la cadena F5 Networks por un nombre que desee.

Propiedades de administración de sesión

Use la configuración de administración de sesiones de BIG-IP para definir condiciones que terminen las sesiones o permitirles continuar. Establezca límites para usuarios y direcciones IP y páginas de error. Se recomienda implementar el cierre de sesión único (SLO), que finaliza las sesiones de forma segura, lo que reduce los riesgos de acceso no autorizado.

Implementación de la configuración

Seleccione Implementar para confirmar la configuración y crear objetos BIG-IP y APM para asegurar el acceso híbrido a la aplicación. La aplicación aparece como recurso de destino en el Acceso condicional. Para aumentar la seguridad, bloquee el acceso directo a la aplicación, forzando así una ruta a través de BIG-IP.

Más información en: Identity Protection y acceso condicional para Azure AD B2C

Prueba del flujo de registro de inicio de sesión

  1. Como usuario, vaya a la dirección URL externa de la aplicación.
  2. Aparece la página de inicio de sesión del cliente OAuth de BIG-IP.
  3. Inicie sesión mediante la concesión de código de autorización. Para quitar este paso, consulte la sección Configuraciones complementarias.
  4. Regístrese y autentíquese con su inquilino Azure AD B2C.

Las imágenes siguientes son el cuadro de diálogo de inicio de sesión del usuario y la página principal de inicio de sesión.

Captura de pantalla del cuadro de diálogo de inicio de sesión.

Captura de pantalla de la página principal de inicio de sesión.

Para aumentar la seguridad, bloquee el acceso directo a la aplicación, forzando así una ruta a través de BIG-IP.

Configuraciones complementarias

Cierre de sesión único (SLO)

Azure AD B2C admite el proveedor de identidades (IdP) y el cierre de sesión de la aplicación. Consulte Cierre de sesión único.

Para lograr el SLO, habilite la función de cierre de sesión de la aplicación para llamar al punto de conexión de cierre de sesión de Azure AD B2C. A continuación, Azure AD B2C emite una redirección final a BIG-IP. Esta acción garantiza que finaliza la sesión de APM de la aplicación de usuario.

Un proceso de SLO alternativo consiste en permitir que BIG-IP escuche la solicitud al seleccionar el botón Cerrar sesión de las aplicaciones. Tras detectar la solicitud, llama al punto de conexión de cierre de sesión de Azure AD B2C. Este enfoque impide realizar cambios en la aplicación.

Para obtener más información sobre BIG-IP iRules, visite support.f5.com para consulte K42052145: Configuración de la finalización automática de la sesión (logout) basada en un nombre de archivo referenciado por URI.

Nota

Independientemente del enfoque, asegúrese de que el inquilino de Azure AD B2C conoce el punto de conexión de cierre de sesión de APM.

  1. En el portal, vaya a Administrar>Manifiesto.
  2. Busque la propiedad logoutUrl. Lee null.
  3. Agregue el URI de cierre de sesión posterior a APM: https://<mysite.com>/my.logout.php3

Nota

<mysite.com> es el FQDN de BIG-IP para su aplicación basada en encabezados.

Flujo de inicio de sesión optimizado

Para mejorar la experiencia de inicio de sesión del usuario, suprima la solicitud de inicio de sesión del usuario de OAuth que aparece antes de la autenticación previa de Microsoft Entra.

  1. Vaya a Acceso >Configuración guiada.

  2. En el extremo derecho de la fila, seleccione el icono de candado.

  3. La aplicación basada en encabezados desbloquea la configuración estricta.

    Captura de pantalla de la entrada de Estado, Nombre y Tipo; así como el icono del candado.

El desbloqueo de la configuración estricta impide los cambios con la interfaz de usuario del asistente. Los objetos BIG-IP están asociados a la instancia publicada de la aplicación y están abiertos para la administración directa.

  1. Vaya a Acceso>Perfiles/ Directivas>Perfiles de acceso (Directivas por sesión).

  2. Para el objeto de directiva de aplicación, en la columna Directiva por sesión, seleccione Editar.

    Captura de pantalla de la opción Editar en Directivas de acceso, en el cuadro de diálogo Acceso.

  3. Para eliminar el objeto de directiva página de inicio de sesión de OAuth, seleccione X.

  4. En el símbolo del sistema, conéctese al nodo anterior.

    Captura de pantalla de la opción X en el objeto de directiva de página de inicio de sesión de OAuth.

  5. En la esquina superior izquierda, seleccione Aplicar directiva de acceso.

  6. Cierre la pestaña del editor visual.

Al intentar conectarse a la aplicación, aparece la página de inicio de sesión de Azure AD B2C.

Nota

Si vuelve a habilitar el modo estricto e implementa una configuración, se sobrescriben los ajustes realizados fuera de la interfaz de usuario de configuración guiada. Implemente este escenario creando manualmente objetos de configuración para servicios de producción.

Solución de problemas

Use la siguiente guía de solución de problemas si se impide el acceso a la aplicación protegida.

Nivel de detalle del registro

Los registros de BIG-IP tienen información para aislar problemas de autenticación y SSO. Aumentar el nivel de detalle del registro.

  1. Vaya a Directiva de acceso>Información general>Event Logs (Registros de eventos)>Configuración.
  2. Seleccione la fila de la aplicación publicada y, a continuación, Edit (Editar)>Access System Logs (Registros del sistema de acceso).
  3. Seleccione Depurar en la lista de inicio de sesión único.
  4. Selecciona Aceptar.
  5. Antes de revisar los registros, reproduzca el problema.

Cuando haya finalizado, revierta la configuración anterior.

Mensaje de error de BIG-IP

Si ve un error de BIG-IP después de la autenticación de Azure AD B2C, el problema podría estar relacionado con el inicio de sesión único de Microsoft Entra ID en BIG-IP.

  1. Vaya a Access (Acceso)>Overview (Información general)>Access reports (Informes de acceso).
  2. Ejecutar el informe durante la última hora
  3. Revise los registros en busca de pistas.
  4. Seleccione el vínculo Ver variables de sesión.
  5. Determine si APM recibe las notificaciones de Microsoft Entra esperadas.

No hay ningún mensaje de error de BIG-IP

Si no aparece BIG-IP, el problema podría estar relacionado con la solicitud de back-end o con el inicio de sesión único desde BIG-IP en la aplicación.

  1. Go to Directiva de acceso>Información general>Active Sessions (Sesiones activas).
  2. Seleccione el vínculo de la sesión activa.
  3. Seleccione el vínculo Ver variables.
  4. Revise para determinar la causa principal, especialmente si el APM de BIG-IP obtiene atributos de sesión inexactos.
  5. Use los registros de aplicación para ayudar a comprender si recibió los atributos como encabezados.

Problema conocido de configuración guiada v8

Si usa la versión 8 de la configuración guiada, un problema conocido genera el siguiente error después de la autenticación correcta de Azure AD B2C. Es posible que el problema sea que AGC no habilite la configuración de JSON Web Token automática durante la implementación. APM no puede obtener las claves de firma de tokens actuales. La ingeniería de F5 está investigando la causa principal.

Captura de pantalla del mensaje de error de acceso denegado.

El mismo registro de acceso proporciona detalles.

Captura de pantalla de los detalles del mensaje de registro.

Habilitar manualmente la configuración

  1. Vaya a Acceso >Configuración guiada.
  2. En el extremo derecho de la fila de la aplicación basada en encabezados, seleccione el candado.
  3. Vaya a Acceso>Federación>Cliente /Servidor de recursos de OAuth>Proveedores.
  4. Seleccione el proveedor para la configuración de Azure AD B2C.
  5. Active la casilla Usar JWT automático .
  6. Seleccione Detectar.
  7. Seleccione Guardar.
  8. El campo Clave (JWT) tiene el identificador de clave del certificado de firma de tokens (KID) de los metadatos de URI de OpenID.
  9. En la esquina superior izquierda, seleccione Aplicar directiva de acceso.
  10. Seleccione Aplicar.

Para obtener más información, vaya a techdocs.f5.com para sugerencias de solución de problemas de cliente y servidor de recursos de OAuth