Si quieres crear un servidor VPN déjame decirte que existe una excelente opción de la cual te puedes apoyar para poder lograr tu cometido y es que el proyecto Firezone estÔ desarrollando un servidor VPN para organizar el acceso a los hosts en una red interna aislada de los dispositivos de los usuarios ubicados en redes externas.
El proyecto tiene como objetivo lograr un alto nivel de seguridad y simplificar el proceso de implementación de VPN.
Sobre Firezone
El proyecto estĆ” siendo desarrollado por un ingeniero de automatización de seguridad de Cisco, quien intentó crear una solución que automatiza el trabajo con la configuración del host y elimina los problemas que tenĆan que enfrentarse al organizar el acceso seguro a las VPC en la nube.
Firezone actúa como una interfaz tanto para el módulo del kernel WireGuard como para el subsistema del kernel netfilter. Crea una interfaz WireGuard (llamada por defecto wg-firezone) y una tabla netfilter y agrega las rutas apropiadas a la tabla de enrutamiento. Otros programas que modifican la tabla de enrutamiento de Linux o el firewall de netfilter pueden interferir con el funcionamiento de Firezone.
Se puede pensar en Firezone como una contraparte de código abierto para OpenVPN Access Server, construido sobre WireGuard en lugar de OpenVPN.
WireGuard se utiliza para organizar canales de comunicación en Firezone. Firezone también tiene una funcionalidad de firewall incorporada que usa nftables.
En su forma actual, el firewall estĆ” limitado mediante el bloqueo del trĆ”fico saliente a hosts o subredes especĆficos en redes internas o externas, esto es debido a que Firezone es un software beta, por lo cual de momento solo se recomienda su uso limitando el acceso de la red a la interfaz de usuario web para evitar exponerla a la Internet pĆŗblica.
Firezone requiere un certificado SSL vĆ”lido y un registro DNS coincidente para ejecutarse en producción, el cual puede ser generado y administrador por la herramienta que ofrece Letās Encrypt para generar un certificado SSL gratuito.
Por la parte de la administración, se menciona que esta se realiza a travĆ©s de la interfaz web o en el modo de lĆnea de comando usando la utilidad firezone-ctl. La interfaz web estĆ” construida sobre la base de Admin One Bulma.
Actualmente, todos los componentes de Firezone se ejecutan en el mismo servidor, pero el proyecto se desarrolla inicialmente con un ojo en la modularidad, y en el futuro se planea agregar la capacidad de distribuir componentes para la interfaz web, VPN y firewall en diferentes hosts.
Los planes también mencionan la integración de un bloqueador de anuncios basado en DNS, soporte para listas de bloqueo de host y subredes, la capacidad de autenticarse a través de LDAP / SSO y capacidades adicionales de administración de usuarios.
De las caracterĆsticas que se menciona de Firezone:
- RƔpido: usa WireGuard para ser 3-4 veces mƔs rƔpido que OpenVPN.
- Sin dependencias: todas las dependencias estƔn agrupadas gracias a Chef Omnibus.
- Sencillo: tarda unos minutos en configurarse. Administre a travƩs de una API CLI simple.
- Seguro: funciona sin privilegios. HTTPS aplicado.
- Cookies encriptadas.
- Cortafuegos incluido: utiliza nftables de Linux para bloquear el trƔfico de salida no deseado.
Para la instalación, se ofrecen paquetes rpm y deb para diferentes versiones de CentOS, Fedora, Ubuntu y Debian, cuya instalación no requiere dependencias externas, ya que todas las dependencias necesarias ya estÔn incluidas usando el kit de herramientas Chef Omnibus.
Para funcionar, solo necesita una distribución de Linux que cuenta con un kernel de Linux no anterior a 4.19 y un módulo de kernel compilado con VPN WireGuard. Según el autor, el inicio y la configuración de un servidor VPN se pueden realizar en solo unos minutos. Los componentes de la interfaz web se ejecutan bajo un usuario sin privilegios y el acceso solo es posible a través de HTTPS.
Firezone consta de un único paquete de Linux distribuible que el usuario puede instalar y administrar. El código del proyecto estÔ escrito en Elixir y Ruby, y se distribuye bajo la licencia Apache 2.0.
Finalmente si estÔs interesado en poder conocer mÔs al respecto o quieres seguir las instrucciones de instalación, puedes hacerlo desde el siguiente enlace.
