Primero, Wireguard es un protocolo basado en UDP, lo que significa que no implica un apretón de manos TCP de tres vías. Cuando alguien desea conectarse, simplemente envía sus paquetes UDP. Si tienen claves válidas, recibirán una respuesta. Sin claves válidas, el paquete se descarta y no se envían mensajes de error: nada.
Este es uno de los principales beneficios de seguridad de Wireguard: los paquetes descartados no se registran por defecto, por lo que tus registros no se llenan con intentos de conexión fallidos.
Lo que esto significa es que un atacante hipotético no tiene forma real de saber si un protocolo Wireguard está en funcionamiento en una IP/Puerto dado a menos que tenga un conjunto válido de claves. Las claves criptográficas utilizadas por Wireguard son tan grandes que forzar su cruce no es una preocupación práctica.
Sin embargo, si aún eres paranoico respecto a ataques potenciales, puedes tomar medidas adicionales usando nftables para crear reglas que registren los paquetes UDP ‘NUEVO’ entrantes. Dado que se requiere seguimiento de la conexión para NAT, el núcleo puede rastrear si un paquete UDP ha recibido una respuesta. Incluso podrías limitar la tasa de paquetes ‘NUEVO’ entrantes, haciendo que la fuerza bruta sea imposible, incluso si alguien supiera que estás usando Wireguard y creyera que puede adivinar las claves.
En general, usar el puerto por defecto (51820) para Wireguard es seguro debido a la combinación de criptografía y cómo el protocolo maneja los paquetes descartados sin enviar respuestas a solicitudes inválidas.
Hay una razón para usar un puerto diferente a 51820, que es evitar bloqueos de puertos que algunos ISP o firewalls puedan implementar por cualquier motivo. Para hacer esto, simplemente puedes usar 51821 o algo similar.
Razones adicionales señaladas en los comentarios:
Para sortear la forma de tráfico basada en puertos que algunos ISP utilizan para limitar o ralentizar. En esos casos, usar un puerto UDP común para VoIP o juegos puede evitar esto.
Y si tienes varias instancias de servidores WG ejecutándose detrás de la misma IP pública.