Qué dirección ve un cortafuegos en la nube cuando la VPN está activa
Un túnel completo cambia la dirección de origen que ve tu base de datos. Mueve la lista de permitidos, la ruta privada o el túnel dividido, no la credencial.
Una base de datos que funciona antes de que se conecte la VPN y falla después rara vez es un problema de credenciales. Los cortafuegos en la nube comparan direcciones de origen, y un túnel completo sustituye la que estaban comparando. La diferencia entre lo que crees que envía tu portátil y lo que recibe el servidor es todo el fallo, y se puede medir en un solo paso.
En qué se convierte la dirección de origen
Con un túnel completo, cada paquete sale por la puerta de enlace VPN, así que el servidor ve la dirección de salida de la puerta de enlace en vez de tu conexión doméstica. Si hay un proxy directo en la ruta, lo que llega es su dirección. Ambas son fuentes legítimas, y ninguna es la dirección de tu regla original.
Las reglas de cortafuegos de Azure SQL a nivel de servidor y de base de datos comparan la dirección del cliente que llega al servidor lógico, que tras un túnel completo es la dirección de salida. Un grupo de seguridad de AWS que permite una sola dirección se comporta igual. El paquete se descarta antes de la autenticación, así que el error que recibes parece un fallo de red en lugar de un problema de permisos. Es exactamente por eso que la gente empieza a restablecer contraseñas.
Dónde se decide la lista de permitidos
Lee la regla que coincide con la ruta que falla, no la regla que recuerdas haber creado. Anota su alcance, su puerto, su protocolo y si se evalúa antes de cualquier comprobación de identidad.
Después decide qué capa posee legítimamente la decisión. Una regla de dirección responde de dónde viene el tráfico. Un punto de conexión privado responde si el servicio es accesible por una ruta privada. Una excepción de túnel dividido responde qué destinos evitan el túnel. No son intercambiables, y cada una falla de forma distinta cuando cambia el túnel.
Tres reparaciones, tres capas
Cada opción de abajo corrige el flujo por un motivo distinto, y elegir la incorrecta produce una conexión que funciona hasta el siguiente cambio de puerta de enlace.
| Repair | Layer it changes | What it does not fix |
|---|---|---|
| Add the egress address to the rule | Source address matching | Nothing about routing, and it breaks when the egress moves |
| Use a private endpoint | Whether the service is reached privately | A client that still resolves the public name |
| Add a split-tunnel exception | Which flows bypass the tunnel | An expired credential or a wrong password |
Añadir la dirección de salida es el cambio más pequeño y el más frágil, porque una puerta de enlace nueva o una región distinta lo invalidan en silencio. Documenta la dirección junto a la definición del túnel para que ambas se muevan juntas. Un rango amplio temporal es un diagnóstico, no una reparación; dejarlo en su sitio es como los servicios internos acaban expuestos.
Por qué una plataforma gestionada no puede unirse al túnel
Plataformas de aplicaciones como Heroku, AppHarbor o CloudBees ejecutan tu código en un entorno sin dispositivo tun o tap y sin privilegios para crear uno. Su modelo de entrada es HTTP y no un socket de escucha arbitrario. Un buildpack que incluye un binario de VPN sigue sin tener dónde poner la interfaz. Los patrones viables son una dirección de salida estática que la base de datos pueda permitir, un producto de conexión privada que ofrezca la plataforma o un proxy en una DMZ al que se llegue por HTTPS.
Ese proxy es una ruta de acceso con su propia autenticación y registro. No convierte la plataforma en miembro de tu VPN, y describirlo así produce reglas que nadie puede auditar.
Verifica desde el cliente que falló
Vuelve a conectar y repite la ruta exacta del cliente. Comprueba la dirección de origen que registra el servicio, la ruta que el cliente elige para el nombre de la base de datos y el resultado de la consulta real, en ese orden. Una prueba desde la puerta de enlace demuestra que la puerta de enlace funciona, algo que nunca estuvo en duda. Si la conexión ahora se autentica y la consulta sigue fallando, el problema restante es el permiso de la base de datos.
Revisa estas reglas siempre que cambie el túnel. Una puerta de enlace sustituida o un nuevo rango de salida rompen la ruta sin ningún cambio en la configuración de la aplicación.