8 de julio de 2026

Añadir 2FA a una aplicación web heredada sin tocar su código

Ponga un reverse proxy SAML ante cualquier aplicación web heredada y proteja cada inicio de sesión con una aprobación en el teléfono, sin tocar la app.

Toda empresa tiene una: la aplicación web interna que sostiene la mitad del negocio, cuyo proveedor desapareció hace tiempo o cuyo código nadie se atreve ya a mirar, y que ahora el auditor exige poner detrás de autenticación multifactor.

No hace falta modificarla. Ni siquiera hace falta saber en qué lenguaje está escrita. El truco consiste en tratar la aplicación como una caja negra y colocar la autenticación delante: un reverse proxy que habla SAML, respaldado por el servicio de SSO de Notakey, de modo que cada usuario deba aprobar su inicio de sesión con un toque en el teléfono antes de que una sola petición llegue a la aplicación.

Cómo funciona

Browser ──▶ reverse proxy (Apache + mod_auth_mellon) ──▶ legacy app

                 └──SAML──▶ Notakey SSO (IdP) ──▶ push ──▶ user's phone
  1. El navegador solicita una URL protegida. El proxy no encuentra ninguna sesión SAML y redirige al proveedor de identidad: el servicio de SSO que se incluye con el Notakey Authentication Appliance.
  2. El usuario introduce su nombre de usuario; el servidor de autenticación envía una notificación push de aprobación a su teléfono.
  3. Al aprobarla, el navegador regresa con una aserción SAML firmada. El proxy verifica la firma y solo entonces deja pasar las peticiones a la aplicación.

La aplicación en sí no cambia nunca. Si tiene su propia pantalla de inicio de sesión, esta permanece igual: la solución añade una puerta delante, no sustituye lo que hay detrás.

La única regla que la hace segura

Un proxy solo puede proteger aquello que no se puede sortear. La aplicación heredada debe quedar inaccesible salvo a través del proxy; una regla de firewall interna o, si la aplicación está en contenedor, una red de Docker dedicada 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 puramente decorativo.

Qué necesita

  • Un Notakey Authentication Appliance con el servicio de SSO incluido en marcha y los usuarios registrados en Notakey Authenticator
  • Docker en cualquier host que pueda alcanzar la aplicación
  • DNS y certificados TLS para el nuevo nombre de host de entrada

La configuración, en cinco pasos

El recorrido completo para copiar y pegar —con los archivos de configuración de Apache y todos los comandos— está en nuestro repositorio blackbox-webapp-2fa-howto. A grandes rasgos:

  1. Genere los certificados y los metadatos del SP SAML con mellon_create_metadata.sh (un único comando de Docker).
  2. Obtenga los metadatos del IdP de su servicio de SSO.
  3. Ajuste la configuración de ejemplo de Apache: su nombre de host, la URL de su backend, las rutas de los certificados.
  4. Arranque el contenedor del proxy y revise sus registros.
  5. Registre el proxy como proveedor de servicios en la página de federación del SSO: el appliance convierte los metadatos del SP en un comando ntk cfg set ya listo.

Diríjase a la nueva dirección de la aplicación, apruebe la notificación push y tendrá delante su aplicación heredada intacta, ahora detrás de una autenticación fuerte.

El repositorio cubre además una variante opcional: ejecutar el proxy directamente en los nodos del appliance, reutilizando sus certificados TLS o su configuración ACME existentes, de modo que no necesita ningún host aparte.

Dónde encaja

Este es el patrón para cualquier cosa que hable HTTP. Para el resto del parque heredado, el mismo appliance cubre las demás puertas:

← Todos los artículos

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.