VPN con Wireguard – ¿La VPN del FUTURO?

¿Cómo de importante es la privacidad en Internet? ¿Cuanta información crees que es expuesta por ti en Internet? ¿Te has planteado el dilema de utilizar una VPN (Virtual Private Network), y ya habiendo planteado dicho dilema, has pensado como crear una VPN y poder conectarte desde tu dispositivo movil o laptop para intentar ocultar lo que haces en internet y tener mas privacidad. La idea de este post es acercarte la forma de crear una VPN con Wireguard de forma sencilla en menos de 10 minutos, y enseñarte como hacerlo paso a paso.

Una VPN es una red privada virtual, y ¿qué permite?, pues permite crear una red local sin necesitad de que sus integrantes estén conectados entre sí, y todo esto a través de internet, de forma muy fácil y sencilla.

El punto que quiero mostrarte es que entiendas que ahora hay muchos proveedores de VPNs y que son de pago, y en caso de que quieras ahorrar muchos costes, esta puede ser una forma de que lo hagas de forma fácil y sencilla en apenas unos pasos.

Bar Protect GIF by Totem Project

Una de las cosas que nos deja Docker es facilitar la administración y configuración de nuestros servicios, de forma que en este post vamos a ver como configurar paso a paso Wireguard y todo lo necesario que tenemos que tener en cuenta para su despliegue e instalación.

Para desplegar este servicio necesitamos varias cosas, primero tenemos que tener ciertos conocimientos sobre docker para ello visitad este video en el que explico docker en 15 minutos.

Preparar el Entorno

La idea de preparar el entorno es poder desplegar una maquina virtual en un lugar remoto que tengamos acceso y que controlemos quien y como se puede acceder y siempre de forma segura. Para todo esto hay diferentes proveedores de Cloud Publico que nos permiten esto.

En este caso vamos a poner el ejemplo de hacerlo con AWS y usando una instancia de EC2.

aws ec2 cristiancasis

Para ello tenemos que seguir todos los pasos que explico en mi canal de Youtube y la tendrás desplegada en minutos de forma sencilla.

¿Qué necesitamos para crear esta VPN?

  • Una maquina virtual o servidor corriendo docker para saber como hacer esto puedes visitar este post ⬇️

Uno o varios clientes que tengan la aplicación instalada WireGuard, en caso de utilizar Android o IOS es posible instalarlo desde la tienda online.

Creación del Servidor VPN

Lo primero que tenemos que tener claro, que desplegar servicios mediante docker-compose nos permite tener automatizada la plantilla donde vamos a tener todos los servicios asi que vamos a utilizar una plantilla asi.

Vamos a utilizar la plantilla oficial de Docker HUB de WIREGUARD.

version: "2.1"
services:
  wireguard:
    image: linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - SERVERURL=wireguard.domain.com #optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=10.13.13.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
    volumes:
      - ./config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

Como vemos podemos ver varias partes en este docker-compose.yaml

El primer elemento que debes de tratar es el aspecto de la variable de entorno SERVERURL.

environment:
  - SERVERURL=10.X.X.X #optional

En esta variable de entorno debes de establecer la IP Pública de nuestra maquina virtual o el dominio que apunte a dicha IP Pública, de esta forma que el cliente que se conecte al servidor lo hará a través del endpoint: DOMAIN:PORT.

volumes:
      - ./config:/config
      - /lib/modules:/lib/modules

Cuando hablamos acerca de los volúmenes, vemos que estamos montando dos carpetas diferentes. La carpeta CONFIG contendrá tanto la config del server como de los clientes «PEER1» «PEER2».

Y después montaremos ciertos módulos que necesita esta imagen y que no están por defecto en la maquina que tenemos instalada.

wireguard cristiancasis

Si analizamos el numero de clientes que queremos que puedan acceder al servidor podemos utilizar esta variable de entorno, que es opcional.

environment:     
  - PEERS=2 #optional

Dicha variable de entorno dice cuantos clientes va a tener el servidor VPN de forma que crea la configuración para dicho cliente de forma automática.

INSTALACIÓN DEL SERVIDOR VPN

Al igual que cualquier servicio que se despliegue con docker-compose el proceso para su despliegue es: docker-compose up -d

Una vez desplegado ya nos podemos conectar a dicho servidor mediante un cliente Windows, Mac, Android o IOS.

Para aprende en mas detalle como realizarlo podeis seguir este video paso a paso ⬇️

¿Necesitamos usar VPN en Teletrabajo?

Este punto es algo muy importante a tratar ya que todas las conexiones que hacemos a internet pueden hacer que tus datos sean interceptados. Desde el punto de vista de la SEGURIDAD permitir el acceso indiscriminado a la red propia de una empresa desde Internet es super peligroso.

Aunque las credenciales estén con password pueden ser hackeados mediante varias técnicas diferentes.

Resultado de imagen de vpn security

Capa extra de Seguridad

Cuando nos conectamos o configuramos una VPN no es obligatorio que estas tengan cifrado de los paquetes que se transmiten en las conexiones, la recomendación dice que la conexión debe estar cifrada y como digo siempre hay que tener cuidado al conectarte a un punto de acceso WIFI y siempre que lo hagas a través de una VPN