Cómo crear una VPN con OpenVPN en Windows Server

¿Necesitas una forma segura y encriptada de acceder a internet? ¿Por qué no recurrir a OpenVPN en Window Server? Configurar tu primer VPN podría ser un dolor, ¡pero has venido al lugar correcto!

En este tutorial, aprenderás cómo configurar un VPN gratuito y mantener alejadas a las entidades maliciosas de tu Windows Server.

¿Listo para asegurar tu red? ¡Pues sumérgete directamente!

Prerrequisitos

Este tutorial será una demostración práctica. Si quieres seguir paso a paso, asegúrate de tener lo siguiente:

  • A Windows Server – This tutorial uses Window Server 2019 R2.
  • A client machine to test the VPN server – This demo uses Windows 10 64 bit.
  • Conéctate al escritorio en un Windows Server usando Remote Desktop (RDP) o tu cliente de gestor de escritorio preferido: esta demostración utiliza el cliente de ventana RDP por defecto.

Instalación de OpenVPN en Window Server

OpenVPN funciona en diferentes sistemas operativos, pero no viene incluido en la instalación de tu SO. Comienza este tutorial instalando OpenVPN en tu servidor.

1. Abre tu navegador favorito y ve a la página de descarga de OpenVPN descargar. Descarga el paquete del instalador MSI de Windows de 64 bits en tu servidor y ejecuta el instalador.

Downloading the Windows 64-bit MSI installer package

2. A continuación, haz clic en Personalizar en la página inicial del asistente de instalación, como se muestra a continuación. La opción Personalizar te permite instalar elementos adicionales para tu servidor VPN.

Customizing the OpenVPN installer

3. En la página de Instalación Personalizada, haz clic en el menú desplegable Servicio OpenVPN —> Se instalará en el disco duro local para instalar el Servicio OpenVPN en tu sistema. Esta opción también habilita el Servicio OpenVPN al iniciar el sistema.

Enabling the OpenVPN Service

4. Ahora, desplázate hacia abajo y haz clic en el menú desplegable Utilidades OpenSSL —> opción Se instalará en el disco duro local. Esta opción pone a disposición las Bibliotecas OpenSSL y los encabezados de desarrollo necesarios para el Servicio OpenVPN y requeridos para ciertas funciones criptográficas del Servicio OpenVPN.

Haz clic en Instalar Ahora para instalar OpenVPN en tu servidor.

Enabling the OpenSSL Utilities and installing OpenVPN

5. Finalmente, haz clic en Cerrar cuando la instalación haya terminado.

Closing the Customization Installation Wizard

Generación de Certificados y Claves para el Servidor y Clientes

Ahora tienes OpenVPN instalado en tu servidor, ¿pero cómo asegurarás la conexión de tu servidor con el(los) cliente(s)? Generarás certificados y claves para tu servidor y cliente(s).

Certificados y claves se utilizan para proporcionar una conexión cifrada entre su servidor y cliente(s). Usted obtiene una clave única pública y privada al generar un certificado.

1. Abra su símbolo del sistema como administrador. Algunos comandos de OpenVPN requieren privilegios elevados para ejecutarse.

Opening your Command Prompt as an administrator

2. A continuación, ejecute los comandos a continuación para iniciar la easy-rsa shell. La shell easy-rsa se utiliza para gestionar certificados, claves y configuraciones.

EasyRSA será su interfaz de línea de comandos principal para el resto del tutorial.

cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
Accessing the EasyRSA shell

3. Ejecute el comando ./easyrsa clean-all a continuación para borrar claves y configuraciones existentes. Este comando asegura que comience con una configuración limpia.

./easyrsa clean-all 
Clearing Existing Keys and Configurations

4. Ahora, ejecute el comando ./easyrsa init-pki para inicializar la Infraestructura de Clave Pública (PKI) y crear una nueva estructura de directorios para sus certificados y claves.

La Infraestructura de Clave Pública (PKI) es un marco que le permite crear y gestionar claves públicas y privadas para que las utilicen su servidor y cliente(s).

./easyrsa init-pki 

Escribe y presiona Enter para confirmar que deseas destruir todas las claves existentes y crear una nueva PKI, como se muestra a continuación.

Initializing the Public Key Infrastructure (PKI)

5. Ejecuta el comando a continuación para crear la Autoridad de Certificación (CA) (build-ca). La CA es responsable de emitir certificados a servidores y clientes, firmar esos certificados, revocar certificados, y más.

La opción nopass se utiliza, así que no necesitas ingresar una contraseña cada vez que copies los certificados y claves a tus clientes. ./easyrsa build-ca nopass

./easyrsa build-ca nopass

Al configurar tu VPN, necesitarás generar un certificado para tu servidor y cliente(s) firmado por la Autoridad de Certificación (CA).

Creating the Certificate Authority (CA)

6. Ejecuta el siguiente comando para construir el certificado y la clave del servidor (build-server-full). Este comando crea el certificado y la clave del servidor OpenVPN, los firma con tu CA y coloca los archivos en el subdirectorio de claves.

./easyrsa build-server-full server nopass
Building the Server Certificate and Key

7. A continuación, ejecuta el siguiente comando para generar los parámetros de Diffie-Hellman (gen-dh), luego cierra tu shell de easyrsa.

Diffie-Hellman es un protocolo que permite a dos usuarios intercambiar claves criptográficas sobre una conexión no segura. Diffie-Hellman será necesario para asegurar que tu VPN permanezca segura incluso si tus claves de encriptación son robadas.

./easyrsa gen-dh
Generating the Diffie-Hellman Parameters

En este punto, tienes todos los archivos de claves SSL/TLS necesarios para tu servicio OpenVPN enumerados en la tabla a continuación.

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file, and other OpenSSL-related files like a config file.
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server, and Client certificates.
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued server and client certificates.

8. Finalmente, abre tu Explorador de Archivos y copia los archivos listados a las carpetas C:\Program Files\OpenVPN\config-auto y C:\Program Files\OpenVPN\easy-rsa\pki\private.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key

Configuración de las Reglas del Firewall de Windows

Ahora que has configurado tu servidor OpenVPN, tu siguiente paso es asegurarte de que puedes acceder al servicio. Necesitarás configurar el Firewall de Windows para permitir el tráfico de OpenVPN.

1. Ejecuta el comando netsh que se muestra a continuación para permitir el tráfico a través de tu firewall de Windows con lo siguiente:

  • Configura (advfirewall) el Firewall de Windows (firewall) añadiendo una regla llamada OpenVPN (add rule name="OpenVPN") al Firewall de Windows.
  • Permite (action=allow) que todas las direcciones IP locales (localip=any) y dispositivos externos (remoteip=any) se comuniquen a través de esta regla.
  • Indica al servidor qué puerto abrir (localport=1194 remoteport=0-65535) y qué tipo de protocolo usar (protocol=UDP).
netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
Configuring your Windows Firewall Rules

2. Abre tu archivo C:\Program Files\OpenVPN\config-auto\server.ovpn en tu editor de texto preferido para previsualizar su contenido, como se muestra a continuación.

Un archivo .ovpn es un archivo de configuración de OpenVPN. Contiene toda la información que OpenVPN necesita para conectarse a una VPN, como claves de encriptación y autenticación. Para este tutorial, necesitarás un archivo .ovpn para configurar tu conexión con tu servidor VPN.

Edit your C:\Program Files\OpenVPN\config-auto\server.ovpn file.

Finalmente, ejecuta los siguientes comandos para reiniciar tu servicio OpenVPN y aplicar los cambios.

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

Configurando tu Cliente

Además de configurar tu servidor para permitir el tráfico de OpenVPN, también necesitarás configurar tu cliente. En OpenVPN, un cliente es cualquier máquina que se conecta a la VPN. Esta demostración utiliza Windows 10 para conectarse al servidor.

1. Instala OpenVPN en tu cliente como lo hiciste en la sección “Instalando OpenVPN en tu Servidor”.

2. Copia los archivos listados a continuación de tu servidor a la carpeta C:\Program Files\OpenVPN\config de tu cliente.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key

3. Finalmente, abre el archivo C:\Program Files\OpenVPN\config\client.ovpn y completa el archivo con el contenido a continuación. Reemplaza YOUR_OPENVPN_IP con tu dirección IP real del servidor Windows.

# cliente es el nombre de su cuenta, pero puede elegir su nombre preferido
client
# dev tun es el tipo de conexión VPN que necesita, utilizando una conexión Ethernet.
dev tun
# Protocolo (UDP) utilizado en esta conexión VPN
proto udp
# Establezca la dirección IP de su servidor OpenVPN.
# 1194 es el puerto de su servidor OpenVPN.
remote YOUR_OPENVPN_IP 1194
# Resuelve tus nombres de dominio cuando no se encuentran, 
# para que no veas errores de "dominio no encontrado".
resolv-retry infinite
# Cambia el valor de "nobind" a "sea" para desconectar tu conexión a Internet 
# cuando se desconecta la identificación de VPN.
nobind
# Tu clave de cifrado se guardará para la próxima vez 
# que te conectes al servidor OpenVPN.
persist-key
# Tu conexión VPN se guardará para la próxima vez que la uses.
persist-tun
# El certificado que tu servidor VPN utiliza para identificarse ante ti (el cliente). 
# Puedes descargarlo desde tu servidor VPN.
ca ca.crt
# el nombre de tu certificado.
cert client01.crt
# el nombre de tu clave de cifrado.
key client01.key
# La compresión de datos LZO comprimirá tus bloques de datos 
# antes de enviarlos para que los datos sean más pequeños y rápidos.
comp-lzo
# El nivel de verbosidad de tu salida se establecerá en el máximo.
# Para que obtengas la mayor cantidad de información de tu conexión.
# Esta función es útil al intentar depurar tu conexión.
verb 3

Prueba de la Conexión VPN del Cliente

Ahora que has instalado y configurado tanto el servidor como el cliente, es hora de probar si la conexión entre ellos funciona correctamente.

En tu cliente Windows 10, ejecuta el GUI de OpenVPN.

Running the OpenVPN GUI

Haz clic derecho en el icono de estado de OpenVPN (un monitor con un icono de candado) en el área de notificación y elige Conectar para conectar el cliente a tu VPN.

Una vez que el cliente esté conectado, el icono de estado de OpenVPN se vuelve verde y recibirás una notificación de la VPN está ahora conectada, como se muestra a continuación.

Connecting to your VPN

Para verificar, puedes ping tu servidor VPN utilizando la dirección IP asignada (10.8.0.2).

ping [10.8.0.2](<http://10.8.0.2/>)

La salida a continuación confirma que tu VPN funciona como se espera.

pinging to your VPN server

Conclusión

En este tutorial, has aprendido los pasos adecuados para instalar OpenVPN en Windows Server. También aprendiste a configurar el servidor y el cliente de OpenVPN a través de un archivo de configuración de OpenVPN (.ovpn). En este punto, ahora tienes un servicio VPN totalmente funcional que puedes usar para asegurar tu conexión a Internet y navegar por la web de forma segura.

Ahora, ¿por qué no ampliar tu servicio de Conectividad VPN a Amazon AWS VPC utilizando la Puerta de enlace VPN de AWS VPC con este nuevo conocimiento?

Source:
https://adamtheautomator.com/openvpn-on-window/