Escaneas el puerto del VPN, no recibes respuesta y concluyes que el servicio está caído o que el cortafuegos está cerrado. Con WireGuard, y con los canales de control de OpenVPN que llevan su propia autenticación, esa conclusión no se sigue. Un datagrama sin material de autenticación válido se descarta sin respuesta, así que el silencio es el aspecto que tiene un servicio sano desde fuera. La sonda está mal antes de que lo esté el túnel.

El silencio es el protocolo, no una avería

UDP no tiene establecimiento de conexión, así que no hay SYN ni acuse de recibo que permita a un escáner distinguir un puerto abierto de uno filtrado. La sonda llega como un datagrama aislado y el servicio comprueba si coincide con el protocolo que espera. Cuando no coincide, el paquete se descarta, y descartar es el comportamiento documentado y no un fallo.

WireGuard valida criptográficamente sus mensajes de handshake e ignora todo lo que falla. OpenVPN con tls-auth o tls-crypt hace lo mismo con su canal de control. En ambos casos una carga arbitraria nunca llega a una etapa orientada al usuario, así que no hay nada con lo que responder ni error que devolver.

TCP te habría dado un reset desde un puerto cerrado. UDP te deja en la ambigüedad, que los escáneres resuelven imprimiendo abierto o filtrado en lugar de adivinar.

Qué puede y qué no puede concluir un escáner

El resultado de un escaneo es tan informativo como la carga que envió. Ordena las observaciones posibles según lo que cada una respalda realmente:

ProbeObserved resultWhat it supports
Empty datagramNo replyNothing beyond the fact that UDP was used
Random payloadNo replyConsistent with an authenticated service
Valid handshake from a real clientA protocol replyThe service is alive and reachable
ICMP port unreachableUnreachable messageThe host answered, usually because nothing listens

Lee la tercera fila como la única prueba positiva de la lista. Requiere el perfil real, la clave real y el punto final correcto, que es exactamente lo que un escáner genérico no tiene.

Mira los dos extremos del camino

Para un servidor que administras, captura en la interfaz antes de sacar cualquier conclusión y luego pregunta al servicio qué vio. Ambos comandos necesitan root en la puerta de enlace:

tcpdump -ni any udp port 51820
tcpdump -ni any udp port 1194
wg show

Si no aparece ningún paquete en la interfaz, el camino lo descartó antes de que el servicio viera nada, y la siguiente parada es el enrutamiento y el filtrado. Si llegan paquetes pero no se completa ningún handshake, el servicio es accesible y la discrepancia está en las claves, la configuración del punto final o la versión del protocolo. Esa comparación responde la pregunta que el escáner no podía. Ejecútala mientras un cliente real intenta conectarse, no mientras el escáner se repite.

Cambia la prueba, no la protección

El atajo tentador es desactivar la protección del canal de control para que un diagnóstico reciba respuesta. Eso cambia una propiedad de seguridad real por un resultado de escaneo más bonito, y es la dirección equivocada. Usa en su lugar un perfil válido de una red aprobada y anota el punto final y la hora para que la comparación sea repetible.

La prueba más útil es una diferencial: el mismo perfil en un camino que funciona y en el camino que no. Si el camino que funciona produce un handshake y el camino que falla no produce nada en la interfaz, has localizado la rotura sin debilitar nada.

Un paquete UDP sin respuesta, por tanto, no demuestra ni que el servidor esté desconectado ni que sea seguro. Demuestra que esta sonda, en este camino, en este momento, no fue aceptada.

Artículos relacionados