Los servidores NAS de Synology disponen de una aplicación específica para actuar como servidor VPN, esta aplicación la podemos encontrar en la tienda de aplicaciones de manera totalmente gratuita, e integra un total de tres protocolos VPN: PPTP, OpenVPN y L2TP/IPsec. Una VPN en un servidor NAS nos permitirá acceder a todo el contenido del NAS de manera segura, ya que todo el tráfico va cifrado y autenticado, también nos permitirá acceder remotamente a la red local doméstica para utilizar los recursos compartidos. Hoy en RedesZone os vamos a enseñar cómo configurar los dos tipos de VPN seguras que tenemos en el sistema operativo DSM de Synology.
Lo primero que debemos hacer para configurar correctamente el servidor VPN en un NAS de Synology, es configurar un DNS dinámico. Normalmente las conexiones domésticas de los hogares disponen de IP dinámica pública, esto significa que cambia con cada reinicio del router o cada cierto tiempo. Por tanto, para no tener que estar conociendo siempre nuestra dirección IP, se hace necesario hacer uso de un DNS dinámico.
Normalmente la mayoría de routers permiten hacer uso de un DNS dinámico de DynDNS o de No-IP entre otros, si has cambiado el router de tu compañía de Internet, posiblemente tengas un router que tenga un DNS dinámico propio del fabricante, no obstante, siempre puedes adquirir uno totalmente gratuito en No-IP u otros. Si no tienes un DNS dinámico, Synology nos proporciona uno totalmente gratuito, además, tenemos acceso a diferentes dominios de Synology.
Este tutorial está realizado usando el servidor NAS Synology DS720+ que hemos analizado anteriormente en RedesZone.
Paso 1: Configurar DDNS y acceder con DNS dinámico
Para configurar el DNS dinámico de Synology, o de cualquier otro proveedor, debemos irnos a «Panel de control / Acceso Externo«. En este menú tendremos que irnos a la pestaña de «DDNS» y pinchar en «Agregar«, tal y como podéis ver aquí:
Una vez que hayamos pinchado en «Añadir», nos saldrá un menú donde deberemos elegir el proveedor de servicios, en nuestro caso hemos elegido Synology ya que es totalmente gratuito. Seleccionaremos un nombre de host que nosotros queramos, lógicamente debe estar disponible, por tanto, si está ocupado por otro usuario no podremos utilizarlo. También deberemos elegir el dominio, por defecto es «Synology.me».
Justo debajo tendremos que iniciar sesión o registrar una cuenta de Synology, de lo contrario no podremos utilizar el servicio DDNS del fabricante. El «Hearbeat» es importante tenerlo activado para que Synology nos avise en caso de tener algún tipo de problema. Justo debajo nos aparecerá la IPv4 externa que tenemos actualmente, y también la IPv6 si es que salimos a Internet a través de este protocolo.
En caso de querer usar otro dominio diferente como «Diskstation.me», también podremos seleccionarlo en la lista desplegable, tal y como podéis ver aquí:
Una vez configurado, pinchamos en «Si marca aquí, acepta los términos de servicio», y pinchamos en «OK» para añadirlo. Antes de terminar, nos indicará si queremos crear un certificado SSL con Let’s Encrypt, podremos hacerlo o no, esta decisión no influye para nada en el servicio DNS dinámico ni tampoco en la conexión VPN.
Una vez que ya tengamos nuestro servicio DDNS funcionando, es el turno de configurar el servidor VPN, tanto con el protocolo OpenVPN como también con L2TP/IPsec.
Configuración del servidor OpenVPN
OpenVPN es uno de los protocolos de VPN más utilizados, su seguridad radica en el uso del protocolo TLS para el canal de control, y del cifrado simétrico AES-128 y AES-256, usando diferentes modos de cifrado. En las últimas versiones de OpenVPN se ha incorporado compatibilidad con el cifrado de flujo ChaCha20-Poly1305, para obtener un mejor rendimiento en los dispositivos que no tengan aceleración de cifrado por hardware AES-NI. Este protocolo de flujo ChaCha20-Poly1305 es el mismo que usa la popular VPN WireGuard, la cual tiene un rendimiento muy superior a OpenVPN.
OpenVPN nos va a permitir una gran configurabilidad, tanto en el ámbito de la seguridad, como también de la autenticación de diferentes usuarios. Tenemos la posibilidad de utilizar una clave estática (no es seguro), y también podremos crear una autoridad de certificación (CA) para autenticar a los usuarios con certificados digitales específicos, aunque también podremos autenticar a los usuarios con usuario/contraseña e incluso con una combinación de ambos, para tener un segundo factor de autenticación y proteger aún más el servicio de OpenVPN cuando lo estemos usando.
Para configurar el servidor OpenVPN, lo primero que tenemos que hacer es instalar la aplicación que dispone los diferentes servicios. Nos vamos a la sección de «Centro de paquetes«, buscamos «VPN Server» y lo instalamos como cualquier aplicación normal, hasta que nos salga en el listado de paquetes instalados en el servidor NAS.
Dentro de «VPN Server» podremos ver el estado general de los tres servidores VPN que podemos poner en funcionamiento de manera simultánea, también podremos ver el listado de conexiones en tiempo real que tenemos, un pequeño registro que nos indicará si existe algún problema y cuándo se han conectado y desconectado los diferentes clientes VPN, también disponemos de una configuración general por si estamos usando los dos puertos Gigabit, para que el servicio de VPN esté funcionando solamente en una interfaz.
Por último, en «Privilegio» es donde podremos dar permisos a los diferentes usuarios locales que tenemos creados en el servidor NAS. Esto es muy importante, es posible que tengamos algunos usuarios que no queramos que tengan acceso VPN, aquí es donde deberemos permitir o denegar dicho acceso.
Nosotros vamos a configurar el servidor OpenVPN, para ello nos vamos a la sección de «OpenVPN» y habilitamos el servidor. Ahora tendremos que elegir diferentes parámetros:
- Dirección IP dinámica: lo primero que debemos elegir es la subred de la VPN, por defecto siempre es la 10.8.0.0/24, podemos dejarla así o cambiarla por una red de direccionamiento privado que nosotros queramos.
- Número máximo de conexiones: podemos configurar el número máximo de conexiones simultáneas al servidor VPN que nosotros hemos configurado.
- Número máximo de conexiones de una cuenta: podemos configurar el número máximo de conexiones simultáneas al servidor VPN desde un mismo usuario/contraseña. Por ejemplo, podemos tener el mismo usuario y clave en el ordenador, en nuestro smartphone y también en una tablet, esto actuaría como 3 conexiones simultáneas.
- Puerto: debemos elegir un número de puerto, por defecto es el 1194, pero podemos cambiarlo por el que nosotros queramos. Es muy recomendable cambiarlo por uno diferente, ya que es posible que atacantes intenten conectarse sin éxito al servidor OpenVPN ya que es el puerto por defecto.
- Protocolo: podemos elegir entre UDP o TCP, es recomendable UDP porque es más rápido y suele dar menos problemas y mayor rendimiento en la conexión. Debemos tener en cuenta que UDP es un protocolo no fiable y no orientado a conexión, sin embargo, en la capa de aplicación casi siempre vamos a usar protocolos que sí utilizan TCP como el HTTP, HTTPS, FTP o el SSH entre otros muchos.
- Cifrado: AES-256-CBC es un cifrado robusto, hay otros cifrados disponibles, pero no son recomendables. Lo dejamos así. Si Synology permitiera todos los cifrados existentes en OpenVPN, podríamos elegir AES-128-GCM o AES-256-GCM, los cuales son claramente más seguros y rápidos que el modo CBC que soporta.
- Autenticación: SHA512, este es uno de los mejores de los que hay disponibles. Lo dejamos así, aunque también podríamos elegir SHA256 porque es un algoritmo de hash realmente seguro.
En la parte inferior tenemos más opciones de configuración, en nuestra opinión, es recomendable desactivar la compresión del enlace VPN, se han realizado ataques aprovechando este tipo de compresión, y no se gana demasiado en velocidad. También podremos dotar a los clientes de la posibilidad de acceder a la LAN del servidor, si queremos acceder a los recursos de la red local, deberemos activarlo.
Abrir el puerto y protocolo elegido en el router
Una vez que hayamos decidido el puerto y el protocolo TCP o UDP, deberemos irnos directamente a nuestro router para abrir el puerto correspondiente a la dirección IP del servidor NAS de Synology, de lo contrario, no podremos conectarnos desde Internet a nuestro servidor OpenVPN. En RedesZone hemos realizado un completo tutorial de cómo abrir puertos TCP o UDP en cualquier router, siguiendo estos mismos pasos, independientemente del router que tengas, podrás conseguirlo sin problemas. Lo único que debes tener claro son: puerto de OpenVPN, protocolo de OpenVPN (TCP o UDP), y la dirección IP privada que tiene el servidor NAS.
Un detalle importante es que si tu operador te tiene dentro del CG-NAT, no podrás conectarte ni abriendo puertos en tu router, tu operador debe proporcionarte una IP pública sí o sí. Una vez abierto el puerto, podemos seguir con el tutorial para conectarnos.
Conectarnos al servidor OpenVPN desde Windows, Mac u otro dispositivo
Cuando lo hayamos configurado como nosotros queramos, pinchamos en «Aplicar», y posteriormente pinchamos en «Exportar configuración».
Nos exportará un fichero comprimido en .zip de OpenVPN, dentro tenemos la ca.crt, un fichero de README y también el fichero de configuración VPNConfig.
Llegados a este punto, ahora debemos descargar el cliente OpenVPN oficial, ya sea para Windows, Linux, Mac, Android o iOS. Os recomendamos acceder a la web oficial de OpenVPN donde encontraréis todas las descargas disponibles.
Una vez descargado, el fichero «VPNConfig» debemos editarlo siguiendo las instrucciones del README que también tenemos. Básicamente lo que tenemos que hacer es editar dos directivas, la primera de ellas es la que se encarga de conectarnos al servidor OpenVPN de manera remota:
remote redeszone.synology.me 11944
Debemos incorporar el nombre de DNS dinámico que hemos creado anteriormente. También podremos hacer que todo el tráfico de Internet se redirija a través de la VPN, para hacerlo deberemos descomentar (quitar el #) de la directiva «redirect-gateway def1» quedando sin el # delante. Una vez realizados estos cambios, guardamos el archivo y hacemos doble click ya que automáticamente OpenVPN lo reconocerá.
En caso de no reconocer el archivo, debemos mover el archivo VPNConfig directamente a la ruta: «C:UsersBronOpenVPNconfig» en sistemas operativos Windows, pero en el README también encontraremos las instrucciones para hacerlo en Mac. Una vez hecho esto, podremos pinchar click derecho en el icono de la barra inferior derecha de Windows y pinchar en «Connect».
Al conectar, nos pedirá usuario y contraseña, los cuales se corresponden con las credenciales de usuario que hemos creado en el servidor NAS.
Tras unos segundos, nos habremos conectado al servidor VPN correctamente y sin ningún problema, tal y como podéis ver aquí:
Si entramos en el servidor NAS de Synology, podremos ver el estado del servidor OpenVPN, el cliente que se ha conectado, y también el registro de la conexión y del propio servidor OpenVPN.
Tal y como habéis visto, es muy sencillo configurar un servidor OpenVPN en un NAS del fabricante Synology, lo único que debemos tener en cuenta es la apertura de puertos en el router, y también que el firewall del servidor NAS permita conexiones entrantes, de lo contrario tampoco podremos conectarnos. Por defecto el firewall del NAS se encuentra deshabilitado.
Otras mejoras de seguridad que podrías realizar en el lado de los clientes VPN, es modificar la directiva tls-cipher que nos permitirá modificar la suite de algoritmos de TLS, con el objetivo de utilizar siempre TLS 1.2 como mínimo, e incluso podremos elegir una suite TLS 1.2 específica (la más segura) para que este cliente nunca utilice una negocicación a través del canal de control que no sea seguro.
Esperamos que próximamente Synology incorpore más opciones de configuración avanzadas en el servidor OpenVPN, tal y como hacen otros fabricantes como ASUS donde tendremos a nuestra disposición todas las opciones de configuración de OpenVPN, incluyendo una caja de texto para nosotros incorporar diferentes directi
Configuración del servidor VPN L2TP/IPsec
Si en lugar de utilizar OpenVPN, quieres utilizar el protocolo L2TP/IPsec, el sistema operativo DSM de Synology también soporta este tipo de VPN. En este caso, nos iremos a la sección de «L2TP/IPsec» y habilitaremos el servidor, en este caso tenemos las siguientes opciones:
- Dirección IP dinámica: la subred donde estarán los clientes VPN, por defecto podemos dejarlo así, siempre que no coincida con ninguna red real.
- Número máximo de conexiones: podemos configurar el número máximo de conexiones simultáneas al servidor VPN que nosotros hemos configurado.
- Número máximo de conexiones de una cuenta: podemos configurar el número máximo de conexiones simultáneas al servidor VPN desde un mismo usuario/contraseña, igual que con OpenVPN.
- Autenticación: MS-CHAP v2, lo dejamos así.
- MTU: 1400, lo dejamos así
- Clave compartida: esta clave es la que tendrán que poner todos los clientes que se quieran conectar al servidor L2TP/IPsec, es compartida con todos ellos, y es muy recomendable que sea una contraseña robusta. En los dispositivos móviles o programas cliente, nos indicará «Clave precompartida IPsec» o algo similar, se refiere justamente a esto.
Por último, tenemos la opción de habilitar un modo compatible, aunque si el cliente VPN cumple el estándar no debería ser necesario activarlo.
Una vez que hayamos configurado todo, pinchamos en «Aplicar», y nos indicará algo muy importante, tenemos que abrir varios puertos para que la conexión VPN funcione correctamente, tanto en la configuración del firewall del NAS Synology (si lo tenemos activado), como también en nuestro router si queremos acceder de manera remota.
Tenemos que abrir los siguientes puertos en nuestro router:
- Puerto 500 UDP
- Puerto 4500 UDP
- Puerto 1701 UDP
El proceso para abrir estos puertos es el mismo que en OpenVPN, pero en lugar de tener que abrir uno solo TCP o UDP, debemos abrir un total de 3 puertos UDP, y concretamente tenemos que abrir esos, no hay posibilidad de seleccionar otro como sí ocurría con OpenVPN.
Una vez que lo hayamos hecho, podremos acceder vía VPN L2TP/IPsec a nuestro servidor NAS, y también a todos los recursos compartidos de la red local si nosotros queremos.