Cómo alojar su propia VPN con Algo y Cloud Hosting

Una ilustración digital de un teléfono inteligente y una computadora portátil conectados a una VPN.

Empresas de todo el mundo venden servicios VPN para asegurar su actividad en línea, pero ¿puede realmente confiar en un proveedor de VPN? Si lo desea, puede crear su propia red privada virtual con el código abierto Software Algoy el proveedor de alojamiento en la nube de su elección.

VPN y confianza

Independientemente de lo que diga o presuma la política de privacidad sobre las auditorías de seguridad en el blog de una empresa, no hay nada que impida que una VPN controle todo lo que hace en línea. Al final, elegir un servicio VPN se reduce a la confianza.

Si confiar en los servicios en línea sin rostro no es lo tuyo, una alternativa es ejecutar tu propio servidor VPN. Esto solía ser una tarea abrumadora, pero gracias a la proyecto de código abierto Algo de la empresa de seguridad Rastro de bits, crear su propia VPN ahora es fácil.

Por $ 5 por mes, puede ejecutar y controlar su propio servidor VPN de tiempo completo. Aún mejor, puede usar Algo para configurar y derribar servidores VPN cuando los necesite y ahorrar dinero en el proceso.

Para configurar Algo, debe usar la línea de comando. Si eso es desagradable, no se preocupe, lo guiaremos en cada paso.

Estas instrucciones pueden parecer muchas, pero eso es solo porque estamos explicando todo lo que podemos. Una vez que haya creado una VPN con Algo varias veces, no debería llevar mucho tiempo. Además, solo tiene que configurar el entorno de instalación de Algo una vez. Después de eso, puede crear un nuevo servidor VPN con unas pocas teclas.

¿Pero puedes confiar en que los guiones de Algo no están haciendo nada malo? Bueno, la buena noticia es El código de Algo es público en GitHub para que cualquiera pueda mirar. Además, muchos expertos en seguridad están interesados ​​en el proyecto Algo, que hace que las fechorías sean menos probables.

RELACIONADO: ¿Qué es una VPN y por qué necesitaría una?

Lo que Algo puede (y no puede) hacer

Una VPN es una buena forma de proteger su actividad en línea, especialmente en una red Wi-Fi pública en un aeropuerto o cafetería. Una VPN hace que la navegación web sea más segura y bloquea a cualquier actor malintencionado que pueda estar en la misma red Wi-Fi local. Una VPN también puede ayudar si su ISP restringe ciertos tipos de tráfico, como torrents.

¡Pero cuidado, piratas! Descargar booty a través de su propia VPN no es una buena idea, ya que la actividad se puede rastrear más fácilmente hasta usted.

Además, si desea ver Netflix a través de su VPN, tendrá que buscar en otro lado; Algo no funciona con él. Sin embargo, hay muchos servicios comerciales que admiten Netflix.

Requisitos previos para Algo

Para poner en funcionamiento un servidor Algo VPN, necesita un shell Unix Bash. En un sistema Mac o Linux, puede usar su programa Terminal, pero en Windows, tendrá que activar el Subsistema para Linux. A continuación, se explica cómo instalar y usar el shell de Linux Bash en Windows 10.

También necesitará una cuenta en un proveedor de alojamiento de servidores en la nube. Algo admite todo lo siguiente:

Si nunca ha utilizado ninguno de estos servicios, le recomendamos DigitalOcean, ya que es muy fácil de usar. También es el servicio que usamos en este tutorial. El proceso será un poco diferente si utiliza un proveedor diferente.

Cuando su cuenta de DigitalOcean esté lista, inicie sesión y luego, desde el panel principal, seleccione «API» en el carril izquierdo debajo del encabezado «Cuenta».

En la página siguiente, haga clic en «Generar token nuevo». Un token de acceso es una larga cadena de letras y números que permite acceder a los recursos de la cuenta sin un nombre de usuario y contraseña. Deberá nombrar el nuevo token. Generalmente, es una buena idea ponerle el nombre de la aplicación que estás usando, como “algo” o “ian-algo” (si tu primer nombre es Ian).

La pestaña "Tokens / Claves" en el menú "Aplicaciones y API" en DigitalOcean.
Menú “Aplicaciones y API” de DigitalOcean.

Una vez generado el nuevo token, cópielo y péguelo en un documento de texto en su escritorio. Lo necesitará en unos minutos.

Configuración de su entorno

De vuelta en su escritorio, abra una nueva ventana de terminal, escriba cd (para «cambiar directorio», que es como se llaman las carpetas en el mundo Unix) y presione Enter. Esto asegurará que está trabajando desde el directorio de inicio de la terminal.

En el momento de escribir este artículo, Algo requiere Python 3.6 o posterior. Escriba lo siguiente en su programa de terminal:

python3 --version

Si recibe una respuesta como Python 3.6.9, eres bueno para ir; si no, tendrá que instalar Python 3.

Para instalar Python 3 en Mac, puede usar el administrador de paquetes Homebrew. Cuando Homebrew esté listo para funcionar, escriba el siguiente comando en una ventana de Terminal:

brew install python3

Si está usando Ubuntu Linux o WSL en Windows, deberían tener Python 3 por defecto. De lo contrario, los métodos de instalación varían según su versión de Linux. Busque en línea «instalar Python 3 en [insert your version of Linux here]”Para obtener instrucciones.

A continuación, debe instalar Virtualenv de Python3 para crear un entorno de Python aislado para Algo. Escriba lo siguiente en Bash en una Mac:

python3 -m pip install --upgrade virtualenv

En Ubuntu Linux y WSL, el comando es el siguiente:

sudo apt install -y python3-virtualenv

Tenga en cuenta que estamos adaptando este tutorial para Ubuntu y distribuciones relacionadas, pero estas instrucciones también funcionarán para otras versiones de Linux con algunas modificaciones menores. Si está usando CentOS, por ejemplo, sustituirá las instrucciones usando apt con dnf.

A continuación, necesitamos descargar Algo con el wget mando. Las Mac no tienen wget instalado por defecto, así que para obtenerlo a través de Homebrew, escriba lo siguiente:

brew install wget
La utilidad wget en una ventana de terminal.
La utilidad wget toma los archivos de instalación de Algo.

Ahora, descarguemos los archivos de Algo:

wget https://github.com/trailofbits/algo/archive/master.zip

Después wget termina, habrá un archivo comprimido llamado «master.zip» en el directorio de inicio de su terminal; vamos a comprobar eso con ls.

Si ve «master.zip» en la lista de archivos y carpetas que aparece, está listo para comenzar. Si no, intente correr wget de nuevo.

Ahora, necesitamos descomprimir el archivo, así que escribimos lo siguiente:

unzip master.zip

Una vez hecho esto, golpea ls de nuevo. Ahora debería ver una nueva carpeta en su directorio de inicio llamada «algo-master».

Estamos casi listos para la acción, pero primero, necesitamos configurar nuestro entorno aislado e instalar algunas dependencias más. Esta vez trabajaremos dentro de la carpeta «algo-master».

Escriba lo siguiente para cambiar a la carpeta:

cd ~/algo-master

Asegúrese de estar allí con este comando:

pwd

Esto significa «imprimir directorio de trabajo» y debería mostrar algo como /home/Bob/algo-master o /Users/Bob/algo-master. Ahora que estamos en el lugar correcto, preparemos todo.

Copie y pegue o escriba el comando a continuación en una sola línea (no presione Entrar hasta el final):

python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt

El terminal Bash trabajando en una ventana de terminal.

Esto desencadena una gran cantidad de acciones dentro del directorio de Algo para prepararse para la ejecución.

A continuación, debe nombrar a sus usuarios para la VPN. Si no los nombra a todos ahora, tendrá que conservar las claves de seguridad (que es menos seguro) o iniciar un nuevo servidor desde cero más adelante.

De cualquier manera, escriba lo siguiente en la terminal:

nano config.cfg

Un archivo de configuración de Algo en una ventana de terminal.

Esto abre el editor de texto de línea de comandos fácil de usar, Nano. El archivo de configuración de Algo contiene mucha información, pero solo nos interesa la parte que dice «usuarios». Todo lo que tiene que hacer es eliminar los nombres de usuario predeterminados (teléfono, computadora portátil, computadora de escritorio) y escribir un nombre para cada dispositivo que desee en su VPN.

Por ejemplo, si estoy creando una VPN para mí, Bill y Mary, el archivo de configuración podría tener el siguiente aspecto:

users: - Ian_PC - Bill_Mac - Mary_PC - Ian_Android - Bill_iPhone - Mary_iPhone

Una vez que haya nombrado a todos, presione Ctrl + O para guardar el archivo, seguido de Ctrl + X para salir.

Estamos casi listos para la acción, pero primero la gente de Windows debe tomar un pequeño desvío. WSL generalmente no establece los permisos de usuario correctos para la carpeta Algo, lo que molesta a Ansible (la herramienta en la que Algo se basa para implementar un servidor).

En WSL, escriba lo siguiente para volver a su directorio de inicio:

cd

Luego, escriba lo siguiente:

chmod 755 -R ~/algo-master

Para volver a la carpeta Algo, escriba:

cd ~/algo-master

Ejecutando Algo

Archivos de configuración de Algo que se ejecutan en una ventana de terminal.

Y ahora es el momento de la verdad.

Desde el algo-master carpeta, escriba lo siguiente en la ventana de terminal:

./algo

La configuración de Algo debería comenzar a ejecutarse. Sabrá que está funcionando cuando le pregunte qué proveedor de nube le gustaría usar. En nuestro caso, seleccionamos el número (1) para DigitalOcean.

Si Algo falla, podría ser una serie de razones que no podemos predecir aquí. Si el error dice que su directorio es «configurable por escritura mundial», siga las instrucciones anteriores para cambiar los permisos.

Si obtiene un error diferente, verifique el página de solución de problemas en el repositorio del proyecto Algo en GitHub. También puede copiar el mensaje de error y pegarlo en Google para buscarlo. Debería encontrar una publicación en el foro que lo ayude, ya que es poco probable que sea la primera persona en recibir ese error.

A continuación, se le pedirá el token de acceso que copió anteriormente de su cuenta de DigitalOcean. Cópialo y pégalo en la terminal. No verá nada porque Bash no muestra caracteres para las entradas de contraseña y frase de seguridad. Sin embargo, siempre que presione pegar y luego presione Entrar, debería estar bien.

Si falla, es posible que haya estropeado la pasta, lo que todos hacen en Bash. Simplemente escriba lo siguiente para volver a intentarlo:

./algo

Cuando Algo se esté ejecutando, responda las preguntas que le haga. Todos estos son bastante sencillos, como el nombre que desea darle a su servidor (usar “algo” en el nombre es una buena idea).

A continuación, le preguntará si desea habilitar «Connect on Demand» para dispositivos Mac e iOS. Si no está utilizando ninguno de esos dispositivos, escriba N para no. También le preguntará si desea conservar las claves PKI para agregar más usuarios más adelante; generalmente, también escribirás N aquí.

¡Eso es! Algo ahora tardará entre 15 y 30 minutos en poner su servidor en funcionamiento.

Usando Algo

El logotipo de WireGuard.

Cuando Algo finaliza su configuración, el terminal vuelve a un indicador de línea de comandos, lo que significa que la VPN está lista para funcionar. Como muchos servicios comerciales, Algo utiliza el protocolo VPN WireGuard, que es la novedad más actual en el mundo de las VPN. Esto se debe a que ofrece buena seguridad, mayores velocidades y es más fácil trabajar con él.

Como ejemplo de qué hacer a continuación, activaremos Algo en Windows. Para configurar otros dispositivos, puede consultar el Repositorio de Algo en GitHub.

Primero, instalaremos el cliente de escritorio genérico de Windows desde el Sitio de WireGuard. A continuación, tenemos que alimentar al programa con nuestro archivo de configuración para la PC. Los archivos de configuración se almacenan profundamente en la carpeta algo-master en: ~/algo-master/configs/[VPN server IP address]/wireguard/.

Hay dos tipos de archivos para configurar dispositivos cliente VPN: .CONF y .PNG. Los últimos son códigos QR para dispositivos como teléfonos, que pueden escanear códigos QR. Los archivos .CONF (configuración) son archivos de texto para los clientes WireGuard de escritorio.

En Mac y Ubuntu, no debería ser difícil encontrar el algo-master carpeta fuera de la línea de comando. En Mac, algo-master está en la carpeta Inicio; simplemente use Finder> Ir> Inicio para llegar allí. En Ubuntu, puede abrir Nautilus y estará en la carpeta Inicio.

En Windows, sin embargo, WSL es independiente del resto del sistema operativo. Por esta razón, es más fácil copiar los archivos con la línea de comando.

Usando nuestro ejemplo anterior, digamos que queremos que el archivo de configuración “Mary-PC.conf” se use en una PC con Windows 10. El comando se vería así:

cp ~/algo-master/configs/[VPN server IP address]/wireguard/Mary-PC.conf /mnt/c/Users/[your Windows user account name]/Desktop/

Tenga en cuenta el espacio entre Mary-PC.conf y /mnt/; así es como Bash sabe dónde se encuentra el archivo que se va a copiar y hacia dónde se dirige. El caso también importa, así que asegúrese de escribir mayúsculas donde se especifique.

Es natural en Windows querer poner en mayúscula la C en la unidad “C: ”, pero en Bash no es así. Además, no olvide reemplazar los bits entre paréntesis con la información real de su PC.

Por ejemplo, si su carpeta de usuario está en la unidad «D: «, no en «C: «, reemplace /mnt/c/ con /mnt/d/.

Una vez que se haya copiado el archivo, abra el cliente WireGuard para Windows. Haga clic en «Importar túneles desde archivo» y luego seleccione su archivo de configuración en el escritorio. Una vez hecho esto, haga clic en «Activar».

¡En solo unos segundos, estará conectado a su propia VPN!

Deja un comentario

En esta web usamos cookies para personalizar tu experiencia de usuario.    Política de cookies
Privacidad