Integraciones · Aplicaciones web heredadas

Autenticación de dos factores para aplicaciones web heredadas con un proxy SAML

Para esa aplicación web interna de la que depende media empresa, cuyo proveedor ya no existe o cuyo código nadie se atreve a tocar, y que el auditor ahora quiere ver protegida con autenticación multifactor. Un proxy inverso delante de ella, respaldado por el servicio de SSO de Notakey, añade la aprobación en el teléfono sin modificar ni una línea de la aplicación.

Cómo se conecta

Trate la aplicación como una caja negra

Un proxy inverso Apache con mod_auth_mellon se sitúa delante de la aplicación y habla SAML con el servicio de SSO incluido en el appliance de Notakey. Cuando el navegador solicita una URL protegida sin sesión SAML, el proxy lo redirige al proveedor de identidad. El usuario introduce su nombre de usuario, el servidor de autenticación envía una solicitud de aprobación a su teléfono y, tras la aprobación, el navegador vuelve con una aserción SAML firmada. El proxy verifica la firma y solo entonces deja pasar las peticiones.

La aplicación no cambia nunca. Si tiene su propia pantalla de inicio de sesión, esta se queda como está; se añade una puerta delante en lugar de sustituir lo que hay detrás. No necesita saber en qué lenguaje está escrita la aplicación.

El proxy se ejecuta como contenedor Docker en cualquier host con acceso a la aplicación, o directamente en los nodos del appliance, reutilizando sus certificados TLS o su configuración ACME, de modo que no hace falta ningún host adicional.

Qué debe saber antes de empezar

  • La aplicación no debe ser accesible salvo a través del proxy. Una regla de firewall interna, o una red docker dedicada si la aplicación está en contenedores, forma parte de la configuración, no es un extra opcional. Si los usuarios todavía pueden llegar directamente a la IP de la aplicación, el 2FA es decorativo.
  • Necesita un Notakey Authentication Appliance con el servicio de SSO incluido en funcionamiento, usuarios registrados en Notakey Authenticator, Docker en un host con acceso a la aplicación, y DNS y certificados TLS para el nuevo nombre de host.
  • Este es el patrón para todo lo que hable HTTP. Las VPN, los inicios de sesión de Windows y los servidores Linux usan en su lugar las integraciones por RADIUS y por proveedor de credenciales.
  • La puerta está delante de la aplicación. Si la aplicación conserva su propia pantalla de inicio de sesión, los usuarios la seguirán viendo después de la aprobación en el teléfono.

De cero a la primera aprobación

  1. 01

    Genere los certificados del SP y obtenga los metadatos del IdP

    Cree los certificados y los metadatos del proveedor de servicios SAML con mellon_create_metadata.sh (un único comando docker) y obtenga después los metadatos del proveedor de identidad desde su servicio de SSO.

  2. 02

    Ajuste la configuración de Apache e inicie el proxy

    Indique el nombre de host público, la URL del backend y las rutas de los certificados en la configuración de ejemplo del repositorio blackbox-webapp-2fa-howto, inicie el contenedor y revise sus registros.

  3. 03

    Registre el proxy en la página de federación de SSO y pruebe

    Registre el proxy como proveedor de servicios; el appliance convierte los metadatos del SP en un comando ntk cfg set listo para usar. Abra la nueva dirección de la aplicación, apruebe la notificación push y verá la aplicación intacta, ahora detrás de una autenticación robusta.

Preguntas frecuentes

¿Hay que modificar la propia aplicación?
No. Un proxy inverso Apache con mod_auth_mellon habla SAML con el servicio de SSO de Notakey y filtra cada petición. La aplicación y su propia pantalla de inicio de sesión quedan exactamente como están.
¿Qué necesito antes de empezar?
Un Notakey Authentication Appliance con el servicio de SSO incluido en funcionamiento, usuarios registrados en Notakey Authenticator, Docker en un host con acceso a la aplicación, y DNS y certificados TLS para el nuevo nombre de host.
¿Pueden los usuarios saltarse el proxy?
Solo si la aplicación sigue siendo accesible directamente. Impídalo con una regla de firewall interna o, si la aplicación está en contenedores, con una red Docker dedicada; esto forma parte de la configuración, no es un extra opcional.

Guías y documentación

Productos relacionados

← Todas las integraciones

Su primer inicio de sesión sin contraseña, esta misma semana

30 minutos con un ingeniero, no una presentación comercial. Juntos planificaremos cómo poner en marcha un piloto funcional en su entorno de VPN, SSO o Windows.