Una ilustración digital de un teléfono inteligente y una computadora portátil conectados a una VPN.
Las empresas de todo el mundo venden servicios de VPN para asegurar su actividad en línea, pero ¿realmente puede confiar en un proveedor de VPN? Si lo desea, puede crear su propia red privada virtual con el software Algo de código abierto y el proveedor de alojamiento en la nube que elija.

VPN y confianza

Independientemente de lo que la política de privacidad diga o presuma de las auditorías de seguridad en el blog de una empresa, no hay nada que impida que una VPN monitoree 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 desalentadora, pero gracias al proyecto de código abierto Algo de la compañía de seguridad Trail of Bits , crear su propia VPN ahora es fácil.
Por $ 5 por mes, puede ejecutar y controlar su propio servidor VPN a tiempo completo. Aún mejor, puede usar Algo para configurar y destruir 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 tomar 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 que el código de Algo es público en GitHub para que cualquiera lo vea. 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 manera 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 obstaculiza a los actores maliciosos que puedan 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 el botín a través de su propia VPN no es una buena idea, ya que la actividad se puede rastrear más fácilmente.
Además, si quieres ver Netflix a través de tu VPN, tendrás que buscar en otro lado, Algo no funciona con él. Sin embargo, hay muchos servicios comerciales que admiten Netflix.

Prerrequisitos 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. Aquí se  explica cómo instalar y usar el shell Bash de Linux en Windows 10 .
También necesitará una cuenta en un proveedor de alojamiento de servidores en la nube. Algo admite todo lo siguiente:
  • DigitalOcean
  • Vela Amazónica
  • Amazon EC2
  • Vultr
  • Microsoft Azure
  • Google Compute Engine
  • Escalera
  • Nube Hetzner
  • También se instala en instancias de OpenStack y CloudStack.
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 estamos usando en este tutorial. El proceso será un poco diferente si utiliza un proveedor diferente.
Cuando su cuenta DigitalOcean esté lista, inicie sesión y luego, desde el tablero principal, seleccione "API" en el riel izquierdo debajo del encabezado "Cuenta".
En la página siguiente, haga clic en "Generar nuevo token". Un token de acceso es una larga cadena de letras y números que permite el acceso a los recursos de la cuenta sin un nombre de usuario y contraseña. Tendrá que nombrar el nuevo token. En general, es una buena idea nombrarlo después de la aplicación que está utilizando, como "algo" o "ian-algo" (si su primer nombre es Ian).
La pestaña "Tokens / Keys" en el menú "Aplicaciones y API" en DigitalOcean.
Menú "Aplicaciones y API" de DigitalOcean.
Después de generar el nuevo token, cópielo y péguelo en un documento de texto en su escritorio. Lo necesitarás en unos minutos.

Configurando 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 Entrar. Esto asegurará que esté trabajando desde el directorio de inicio del terminal.
Al momento de escribir esto, 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, está listo para comenzar; si no, tendrás que instalar Python 3.
Para instalar Python 3 en Mac, puede usar el administrador de paquetes Homebrew . Cuando Homebrew esté listo, escriba el siguiente comando en una ventana de Terminal:
brew install python3
Si está utilizando 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 [inserte su versión de Linux aquí]" para obtener instrucciones.
A continuación, debe instalar Virtualenv de Python3 para crear un entorno 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 las distribuciones relacionadas, pero estas instrucciones también funcionarán para otras versiones de Linux con algunas modificaciones menores. Si está utilizando CentOS, por ejemplo, sustituirá las instrucciones aptcon dnf.
A continuación, necesitamos descargar Algo con el wgetcomando. Las Mac no se han wgetinstalado de manera predeterminada, así que para obtenerlo a través de Homebrew, escriba lo siguiente:
instalar cerveza wget
La utilidad wget en una ventana de terminal.
La utilidad wget que 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 de wgetfinalizar, habrá un archivo comprimido llamado "master.zip" en el directorio de inicio de su terminal; Vamos a comprobar que con ls.
Si ve "master.zip" en la lista de archivos y carpetas que aparece, está listo para comenzar. Si no, intente ejecutar wgetnuevamente.
Ahora, necesitamos descomprimir el archivo, así que escribimos lo siguiente:
descomprimir master.zip
Después de eso, golpea de lsnuevo. 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úrate de estar allí con este comando:
pwd
Esto significa "directorio de trabajo de impresión", y debería mostrar algo como /home/Bob/algo-master/Users/Bob/algo-masterAhora que estamos en el lugar correcto, preparemos todo.
Copie y pegue o escriba el siguiente comando en una sola línea (no presione Entrar hasta el final):
python3 -m virtualenv --python = "$ (comando -v python3)" .env && source .env / bin / enable && python3 -m pip install -U pip virtualenv && python3 -m pip install -r require.txt
El terminal Bash trabajando en una ventana de terminal.
Esto desencadena una gran cantidad de acción dentro del directorio de Algo para prepararse para ejecutarse.
A continuación, debe nombrar a sus usuarios para la VPN. Si no los nombra a todos ahora, deberá mantener las claves de seguridad (que son menos seguras) 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 verse así:
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 se basa Algo para implementar un servidor).
En WSL, escriba lo siguiente para volver a su directorio de inicio:
discos compactos
Luego, escriba lo siguiente:
chmod 755 -R ~ / algo-master
Para volver a la carpeta Algo, escriba:
cd ~ / algo-master

Running Algo

Los archivos de configuración de Algo se ejecutan en una ventana de terminal.
Y ahora es el momento de la verdad.
Desde la algo-mastercarpeta, 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 la 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 para escritura mundial", siga las instrucciones anteriores para cambiar los permisos.
Si obtiene un error diferente, consulte la página de solución de problemas en el repositorio de proyectos de 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ópielo y péguelo 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 hace. Todos estos son bastante sencillos, como lo que desea nombrar a su servidor (es una buena idea usar "algo" en el nombre).
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 tarde; en general, escribirá N aquí también.
¡Eso es! Algo ahora tardará entre 15 y 30 minutos en poner en funcionamiento su servidor.

Usando Algo

El logo de WireGuard.
Cuando Algo finaliza su configuración, el terminal vuelve a la línea de comandos, lo que significa que la VPN está lista para funcionar. Al igual que muchos servicios comerciales, Algo usa el protocolo WireGuard VPN, que es lo más nuevo en el mundo de las VPN. Esto se debe a que ofrece una 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 WireGuard . A continuación, tenemos que alimentar el programa con nuestro archivo de configuración para la PC. Los archivos de configuración se almacenan en la carpeta profunda Algo-maestro en: ~/algo-master/configs/[VPN server IP address]/wireguard/.
Hay dos tipos de archivos para configurar dispositivos cliente VPN: .CONF y .PNG. Estos ú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 la algo-mastercarpeta fuera de la línea de comando. En Mac,  algo-masterestá en la carpeta Inicio; solo use Finder> Ir> Inicio para llegar allí. En Ubuntu, puede abrir Nautilus, y estará en la carpeta Inicio.
Sin embargo, en Windows, WSL está separado 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 / [dirección IP del servidor VPN] /wireguard/Mary-PC.conf / mnt / c / Users / [su nombre de cuenta de usuario de Windows] / Desktop /
Tenga en cuenta el espacio entre Mary-PC.conf/mnt/así es como Bash sabe dónde se encuentra el archivo a copiar y hacia dónde va. El caso también es importante, así que asegúrese de escribir mayúsculas donde se especifique.
Es natural en Windows querer capitalizar la C en la unidad "C: \", pero en Bash no lo hace. 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 la "C: \", reemplácela /mnt/c/con /mnt/d/.
Una vez que se copia 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ás conectado a tu propia VPN!