Podcast de Redes de Eduardo Collado
VPN y Hosting
¿Para qué necesitamos una VPN en nuestro hosting? Esta es una pregunta recurrente y que por alguna razón sale de vez en cuando.
Voy a contaros un ejemplo bastante común, a ver si consigo captar vuestra atención. Tenemos una tienda online y actualizamos nuestros productos con un software que tenemos en el ordenador y que se conecta a la base de datos de nuestro hosting directamente, es algo muy cómodo, actualizas y la web queda actualizada.
¿Qué hace ese software? pues se conecta al puerto 3306 de vuestro hosting y se conecta directamente al servidor de mariadb, o mysql.
¿Esto está bien?, es muy cómodo, pero seamos serios, es una gran irresponsabilidad, si vosotros podéis conectaros significa que cualquiera puede conectarse, cualquiera que tenga las credenciales, cosa por otra parte no tan difícil de conseguir.
¿Quién puede dormir cómodamente pensando que cualquiera puede acceder a la base de datos de su negocio?
Una buena contraseña es fundamental, claro que sí, pero no es una seguridad suficiente, mejor eso que nada, pero creedme si os digo que no es suficiente.
Cada lugar tiene su propia dirección IP al conectarse a Internet (salvo chapuzas varias que no vienen hoy a cuento), y ojo que digo cada lugar y no cada persona porque una dirección IP no identifica a la persona, sólo el lugar. De todos modos limitar el lugar desde donde se puede uno conectar ya es un paso más allá, si controlamos el lugar de origen y tenemos unos credenciales fuertes ya podemos decir que la cosa es segura.
Podemos controlar el lugar de origen con la IP si es que esta no cambia, es decir, si tenemos una IP fija, si tenemos una IP dinámica sabemos qué IP tenemos hoy, pero no cual tendremos mañana.
Para bloquear nuestra IP, suponiendo que sólo vayamos a conectarnos desde el mismo lugar lo único que tenemos que hacer es solicitar una IP fija a nuestro proveedor de conectividad y lo normal es que nos la den, obviamente tras pagar la característica.
Pero, volviendo al ejemplo de nuestra tienda online, ¿Qué pasa si quiero actualizar la base de datos con mi software maravilloso desde un sitio diferente cada vez?, cada vez tendremos una IP diferente y por tanto o abrimos el servicio de base de datos a todas las IPs del mundo o bien buscamos otra solución.
En este caso otra solución es una VPN, del tipo que sea, pero a día de hoy WireGuard empieza a ser lo normal pues es muy simple su configuración de cliente y es extremadamente eficiente. De hecho dependiendo para qué es preferible a OpenVPN o IPSEC sobre L2TP, al menos desde mi perspectiva.
Con un servicio de VPN podemos acceder a nuestros servicios desde un IP controlada (la del servicio VPN) y desde cualquier sitio pues la IP que va a ver el servidor es la que le proporcione la VPN y no la IP real del usuario.
Ahora ya podemos usar nuestro software maravilloso que actualiza la base de datos directamente sin tener que abrir el puerto 3306 a todo el Mundo, que insisto, es una idea muy muy mala y que muchos hosters por desgracia siguen abriéndolo así alegremente.