Para protegerse de un ataque de hombre en medio, al menos uno de los puntos finales de la comunicación debe tener algún conocimiento previo sobre el otro punto final. Por lo general, depende del cliente verificar que está hablando con el servidor correcto, porque los servidores tienden a permitir que potencialmente cualquier cliente se conecte a ellos. El término general para el tipo de infraestructura que proporciona este conocimiento previo es una infraestructura de clave pública .
En el caso de HTTPS, el conocimiento previo normalmente viene con el paso intermedio de una autoridad de certificación . Un navegador web contiene una lista predefinida de CA con sus claves públicas, y acepta un sitio web como genuino si puede demostrar que su clave pública ha sido firmada por la clave privada de una CA.
En el caso de SSH, el conocimiento previo normalmente proviene de haber contactado al servidor previamente: el cliente registra la clave pública del servidor y se niega a continuar si la clave pública del servidor no es la registrada. (Esto también existe para HTTPS con fijación de certificado .) En la primera conexión, está arriba al usuario de SSH para verificar la clave pública.
No hay un estándar seguido por el software VPN. Necesitas leer la documentación de tu software VPN. En implementaciones empresariales, es común implementar el certificado del servidor en las computadoras de los empleados junto con el software VPN, o requerir que el empleado realice una primera conexión a la VPN desde dentro de la red de la compañía donde no se teme un ataque MITM. El certificado se almacena en la configuración del software VPN y el cliente VPN se negará a conectarse si la clave pública del servidor cambia.
Si está implementando un servicio VPN para su propio uso o para el uso de su organización, debe encargarse de aprovisionar el certificado del servidor en el momento de la instalación, antes de salir a la luz. Si una red segura no está disponible, deberá confiar en algún otro canal de comunicación para enviar el certificado. Podría ser un correo electrónico, si así es como identifica a los usuarios, pero sería mejor confiar en una infraestructura preexistente como las claves GPG (enviar el certificado en un correo electrónico firmado), que por supuesto solo cambia el problema a cómo Verifique la clave GPG.
Si está utilizando un servicio VPN basado en la nube, ese servicio debería proporcionarle una forma de verificar su certificado (por ejemplo, una página web servida a través de HTTPS) y debería documentar cómo instalar el certificado o cómo verificarlo primero. utilizar. Una vez más, no hay un solo proceso que siga todo el software VPN.