Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
algo — Configura una VPN personal en la nube. | Kitploit
Herramientas/GitHubGitHub/trailofbits/algo
Herramientas de Cifrado/DescifradoScripting y AutomatizaciónSeguridad de RedesSeguridad en la NubePrivacidad
GitHubtrailofbits/algo

algo

Configura una VPN personal en la nube.

Ver Repositorio
30.4k2.4khace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

Algo VPN

Twitter

Algo VPN es un conjunto de scripts de Ansible que simplifican la configuración de una VPN personal con WireGuard e IPsec. Utiliza los valores predeterminados más seguros disponibles y funciona con proveedores de nube comunes.

Consulte nuestro anuncio de lanzamiento para obtener más información.

Características

  • Soporta solo IKEv2 con cifrado fuerte (AES-GCM, SHA2 y P-256) para iOS, macOS y Linux
  • Soporta WireGuard para todo lo anterior, además de Android y Windows 11
  • Genera archivos .conf y códigos QR para clientes WireGuard de iOS, macOS, Android y Windows
  • Genera perfiles Apple para configurar automáticamente dispositivos iOS y macOS para IPsec, sin necesidad de software cliente
  • Incluye scripts auxiliares para agregar, eliminar y gestionar usuarios
  • Bloquea anuncios con un resolutor DNS local (opcional)
  • Configura usuarios SSH limitados para túneles de tráfico (opcional)
  • Enfocado en la privacidad con un registro mínimo, rotación automática de logs y mejoras de privacidad configurables
  • Basado en Ubuntu 22.04 LTS con actualizaciones de seguridad automáticas
  • Se instala en DigitalOcean, Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, OpenStack, CloudStack, Hetzner Cloud, Linode, o su propio servidor Ubuntu (para usuarios avanzados)

Anti-características

  • No soporta suites de cifrado o protocolos obsoletos como L2TP, IKEv1 o RSA
  • No instala Tor, OpenVPN ni otros servidores de riesgo
  • No depende de la seguridad de TLS
  • No afirma proporcionar anonimato ni evadir la censura
  • No afirma protegerlo de la FSB, el MSS, la DGSE o el FSM

Desplegar el Servidor Algo

La forma más sencilla de tener un servidor Algo en funcionamiento es ejecutarlo en su sistema local o desde Google Cloud Shell y dejar que configure una nueva máquina virtual en la nube por usted.

  1. Configure una cuenta en un proveedor de alojamiento en la nube. Algo soporta DigitalOcean (el más fácil de usar), Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, DreamCompute, Linode, otros alojamientos en la nube basados en OpenStack, alojamiento en la nube basado en CloudStack, o Hetzner Cloud.

  2. Obtenga una copia de Algo. Los scripts de Algo se ejecutarán desde su sistema local. Hay dos formas de obtener una copia:

    • Descargue el archivo ZIP. Descomprima el archivo para crear un directorio llamado algo-master que contenga los scripts de Algo.

    • Use git clone para crear un directorio llamado algo que contenga los scripts de Algo:

      root@kitploit:~
      git clone https://github.com/trailofbits/algo.git
      
  3. Configure sus opciones. Abra config.cfg en su editor de texto favorito. Especifique los usuarios que desea crear en la lista users. Cree un usuario único para cada dispositivo que planee conectar a su VPN. También debe revisar las otras opciones antes del despliegue, ya que cambiar de opinión más tarde .

¡Eso es todo! Ahora puede configurar los clientes para conectarse a su VPN. Continúe con Configurar los Clientes VPN a continuación.

root@kitploit:~
    "#                          ¡Felicidades!                             #"
    "#                     Su servidor Algo está en funcionamiento.        #"
    "#    Los archivos de configuración y certificados están en el directorio ./configs/.  #"
    "#              Vaya a https://whoer.net/ después de conectarse        #"
    "#        y asegúrese de que todo su tráfico pase a través de la VPN.  #"
    "#                     Resolutor DNS local 172.16.0.1                  #"
    "#        La contraseña de los archivos p12 y claves SSH para nuevos usuarios es XXXXXXXX #"
    "#        La contraseña de la clave CA es XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       #"
    "#      Acceso SSH: ssh -F configs/<server_ip>/ssh_config <hostname>   #"

Configurar los Clientes VPN

Los certificados y archivos de configuración que los usuarios necesitarán se colocan en el directorio configs. Asegúrese de proteger estos archivos ya que muchos contienen claves privadas. Todos los archivos se guardan en un subdirectorio nombrado con la dirección IP de su nuevo servidor Algo VPN.

Importante para usuarios de IPsec: Si desea agregar o eliminar usuarios más tarde, debe seleccionar yes en el mensaje Do you want to retain the keys (PKI)? durante el despliegue del servidor. Esto preserva la autoridad de certificación necesaria para la gestión de usuarios.

Apple

WireGuard se utiliza para proporcionar servicios VPN en dispositivos Apple. Algo genera un archivo de configuración de WireGuard, wireguard/<username>.conf, y un código QR, wireguard/<username>.png, para cada usuario definido en config.cfg.

En iOS, instale la aplicación WireGuard desde la App Store de iOS. Luego, use la aplicación WireGuard para escanear el código QR o enviar el archivo de configuración al dispositivo mediante AirDrop.

En macOS, instale la aplicación WireGuard desde la Mac App Store. WireGuard aparecerá en la barra de menú una vez que ejecute la aplicación. Haga clic en el icono de WireGuard, elija Import tunnel(s) from file..., luego seleccione el archivo de configuración de WireGuard apropiado.

En iOS o macOS, puede habilitar "Connect on Demand" y/o excluir ciertas redes Wi-Fi de confianza (como su hogar o trabajo) editando la configuración del túnel en la aplicación WireGuard. (Algo no puede hacer esto automáticamente por usted).

Si prefiere usar la VPN IPsec integrada en dispositivos Apple, o necesita "Connect on Demand" o redes Wi-Fi excluidas configuradas automáticamente, consulte la guía de configuración del cliente Apple IPsec para obtener instrucciones detalladas.

Android

WireGuard se utiliza para proporcionar servicios VPN en Android. Instale el Cliente VPN WireGuard. Importe el archivo wireguard/<name>.conf correspondiente a su dispositivo y luego configure una nueva conexión con él. Consulte la guía de configuración de Android para obtener instrucciones detalladas de instalación y configuración.

Windows

WireGuard se utiliza para proporcionar servicios VPN en Windows. Algo genera un archivo de configuración de WireGuard, wireguard/<username>.conf, para cada usuario definido en config.cfg.

Instale el Cliente VPN WireGuard. Importe el archivo wireguard/<username>.conf generado a su dispositivo y luego configure una nueva conexión con él. Consulte las instrucciones de configuración de Windows para obtener un tutorial más detallado y solución de problemas.

Linux

Los clientes Linux pueden usar WireGuard o IPsec:

WireGuard: WireGuard funciona muy bien con clientes Linux. Consulte la guía de configuración de WireGuard para Linux para obtener instrucciones paso a paso sobre cómo configurar WireGuard en Ubuntu y otras distribuciones.

IPsec: Para clientes IPsec strongSwan (incluyendo OpenWrt, Ubuntu Server y otras distribuciones), consulte la guía de configuración de IPsec para Linux para obtener instrucciones detalladas de configuración.

OpenWrt

Para enrutadores OpenWrt que usen WireGuard, consulte la guía de configuración de WireGuard para OpenWrt para obtener instrucciones de configuración específicas del enrutador.

Otros Dispositivos

Para dispositivos no cubiertos anteriormente o configuración manual, necesitará archivos de certificado y configuración específicos. Los archivos que necesita dependen de la plataforma de su dispositivo y del protocolo VPN (WireGuard o IPsec).

  • ipsec/manual/cacert.pem: Certificado CA
  • ipsec/manual/.p12: Certificado de Usuario y Clave Privada (en formato PKCS#12)
  • ipsec/manual/.conf: Configuración del cliente strongSwan
  • ipsec/manual/.secrets: Configuración del cliente strongSwan
  • ipsec/apple/.mobileconfig: Perfil Apple
  • wireguard/.conf: Perfil de configuración de WireGuard
  • wireguard/.png: Código QR de configuración de WireGuard

Configurar un Túnel SSH

Si activó el rol opcional de túnel SSH, se crearán cuentas de usuario locales para cada usuario en config.cfg, y los archivos de clave autorizada SSH para ellos estarán en el directorio configs (user.pem). Las cuentas de usuario SSH no tienen acceso a shell, no pueden autenticarse con contraseña y solo tienen opciones limitadas de túnel (por ejemplo, se requiere ssh -N). Esto garantiza que los usuarios SSH tengan el mínimo acceso necesario para configurar un túnel y no puedan realizar ninguna otra acción en el servidor Algo.

Use el comando de ejemplo a continuación para iniciar un túnel SSH reemplazando <user> y <ip> por los suyos propios. Una vez configurado el túnel, puede configurar un navegador u otra aplicación para usar 127.0.0.1:1080 como proxy SOCKS para enrutar el tráfico a través del servidor Algo:

root@kitploit:~
ssh -D 127.0.0.1:1080 -f -q -C -N <user>@algo -i configs/<ip>/ssh-tunnel/<user>.pem -F configs/<ip>/ssh_config

SSH al Servidor Algo

Su servidor Algo está configurado para acceso SSH solo con clave con fines administrativos. Abra la aplicación Terminal, cd al directorio algo-master donde descargó originalmente Algo, y luego use el comando que aparece en el mensaje de éxito:

root@kitploit:~
ssh -F configs/<ip>/ssh_config <hostname>

donde <ip> es la dirección IP de su servidor Algo. Si se conecta al servidor con frecuencia, será útil cargar su clave SSH de Algo automáticamente. Agregue el siguiente fragmento al final de ~/.bash_profile para agregarlo permanentemente a su entorno de shell:

root@kitploit:~
ssh-add ~/.ssh/algo > /dev/null 2>&1

Alternativamente, puede optar por incluir la configuración generada para cualquier servidor Algo creado en su configuración SSH. Edite el archivo ~/.ssh/config para incluir esta directiva al principio:

root@kitploit:~
Include <algodirectory>/configs/*/ssh_config

donde <algodirectory> es el directorio donde clonó Algo.

Agregar o Eliminar Usuarios

Algo facilita agregar o eliminar usuarios de su servidor VPN después del despliegue inicial.

Para usuarios de IPsec: Debe haber seleccionado yes en el mensaje Do you want to retain the keys (PKI)? durante el despliegue inicial del servidor. Esto preserva la autoridad de certificación necesaria para la gestión de usuarios. También debe guardar las contraseñas de la clave p12 y CA que se muestran durante el despliegue, ya que solo se muestran una vez.

Para agregar o eliminar usuarios, primero edite la lista users en su archivo config.cfg. Agregue nuevos nombres de usuario o elimine los existentes según sea necesario. Luego, navegue al directorio algo en su terminal y ejecute:

macOS/Linux:

root@kitploit:~
./algo update-users

Windows:

root@kitploit:~
.\algo.ps1 update-users

Una vez que el proceso se complete, se generarán nuevos archivos de configuración en el directorio configs para cualquier usuario nuevo. El servidor Algo VPN se actualizará para contener solo los usuarios listados en el archivo config.cfg. Los usuarios eliminados ya no podrán conectarse, y los nuevos usuarios tendrán certificados y archivos de configuración nuevos listos para usar.

Privacidad y Registro

Algo adopta un enfoque pragmático hacia la privacidad. Por defecto, minimizamos el registro mientras mantenemos suficiente información para la seguridad y la resolución de problemas.

Lo que SÍ se registra por defecto:

  • Eventos de seguridad del sistema (intentos de SSH fallidos, bloqueos del firewall, actualizaciones del sistema)
  • Mensajes del kernel y diagnósticos de arranque (con verbosidad reducida)
  • Estado del cliente WireGuard (visible mediante sudo wg - muestra el último endpoint y tiempo de handshake)
  • Estado básico del servicio (inicios/detenciones/errores del servicio)
  • Todos los registros rotan automáticamente y se eliminan después de 7 días

La privacidad se controla mediante dos configuraciones principales en config.cfg:

  • strongswan_log_level: -1 - Controla el registro de conexiones de StrongSwan (-1 = desactivado, 2 = depuración)
  • privacy_enhancements_enabled: true - Interruptor principal para rotación de registros, limpieza de historial, filtrado de registros y limpieza

Para habilitar la depuración completa durante la solución de problemas, configure tanto strongswan_log_level: 2 como privacy_enhancements_enabled: false. Esto capturará registros detallados de conexión y desactivará todas las funciones de privacidad. Recuerde revertir estos cambios después de la depuración.

Después del despliegue, verifique su configuración de privacidad:

root@kitploit:~
ssh -F configs/<server_ip>/ssh_config <hostname>
sudo /usr/local/bin/privacy-monitor.sh

La privacidad perfecta es imposible con cualquier solución VPN. Su proveedor de nube ve y registra metadatos de tráfico de red independientemente de la configuración de su servidor. Y, por supuesto, su ISP sabe que se está conectando a un servidor VPN, incluso si no puede ver lo que está haciendo a través de él.

Para el más alto nivel de privacidad, trate sus servidores Algo como desechables. Inicie una nueva instancia cuando la necesite, úsela para su propósito específico y luego destrúyala por completo. La naturaleza efímera de la infraestructura en la nube puede ser una característica de privacidad si la usa intencionalmente.

Documentación Adicional

  • Preguntas Frecuentes (FAQ)
  • Solución de Problemas
  • Cómo Algo utiliza Firewalls

Instrucciones de Configuración para Proveedores de Nube Específicos

  • Configurar Amazon EC2
  • Configurar Azure
  • Configurar DigitalOcean
  • Configurar Google Cloud Platform
  • Configurar Vultr
  • Configurar CloudStack
  • Configurar Hetzner Cloud

Instalar y Desplegar desde Plataformas Comunes

  • Desplegar desde macOS
  • Desplegar desde Windows
  • Desplegar desde Google Cloud Shell
  • Desplegar desde un contenedor Docker

Configurar Clientes VPN para Conectarse al Servidor

  • Configurar clientes Windows
  • Configurar clientes Android
  • Configurar clientes Linux con Ansible
  • Configurar clientes Ubuntu para usar WireGuard
  • Configurar clientes Linux para usar IPsec
  • Configurar dispositivos Apple para usar IPsec
  • Configurar Macs con macOS 10.13 o anterior para usar WireGuard

Despliegue Avanzado

  • Desplegar en su propio servidor Ubuntu y configuración road warrior
  • Desplegar desde Ansible de forma no interactiva
  • Desplegar en un servidor en la nube en el momento de la creación con un script de shell o cloud-init
  • Desplegar en un proveedor de nube no soportado

Si ha leído toda la documentación y tiene más preguntas, cree una nueva discusión.

Recomendaciones

He estado quejándome del lamentable estado de los servicios VPN durante tanto tiempo, probablemente ya es hora de dar una charla adecuada sobre el tema. Resumen: use Algo.

-- Kenn White

Antes de elegir un proveedor/aplicación de VPN, asegúrese de investigar un poco https://research.csiro.au/ng/wp-content/uploads/sites/106/2016/08/paper-1.pdf ... – o considere Algo

-- The Register

Algo es realmente fácil y seguro.

-- the grugq

Jugué con Algo VPN, un conjunto de scripts que le permiten configurar una VPN en la nube en muy poco tiempo, incluso si no sabe mucho sobre desarrollo. Debo decir que quedé bastante impresionado con el enfoque de Trail of Bits.

-- Romain Dillet para TechCrunch

Si no se siente cómodo pagando a un proveedor de VPN anónimo y aleatorio, esta es la mejor solución.

-- Thorin Klosowski para Lifehacker

Contribuir

Consulte nuestra Guía de Desarrollo para obtener información sobre:

  • Configuración de su entorno de desarrollo
  • Uso de hooks de pre-commit para calidad de código
  • Ejecución de pruebas y linters
  • Contribución de código mediante pull requests

Apoyar a Algo VPN

PayPal Patreon

Todas las donaciones apoyan el desarrollo continuo. ¡Gracias!

  • Aceptamos donaciones a través de PayPal y Patreon.
  • Use nuestro código de referencia cuando se registre en Digital Ocean para obtener un crédito de $10.
  • También aceptamos y apreciamos contribuciones de nuevo código y correcciones de errores a través de Pull Requests de Github.

Algo está licenciado y distribuido bajo AGPLv3. Si desea distribuir una modificación o servicio de código cerrado basado en Algo, considere comprar una excepción. Al igual que con los métodos anteriores, esto ayudará a apoyar el desarrollo continuo.

Descargar herramienta
puede requerir que despliegue un servidor completamente nuevo
  • Inicie el despliegue. Vuelva a su terminal. En el directorio de Algo, ejecute el script apropiado para su plataforma:

    macOS/Linux:

    root@kitploit:~
    ./algo
    

    Windows:

    root@kitploit:~
    .\algo.ps1
    

    La primera vez que ejecute el script, instalará automáticamente el entorno Python requerido (Python 3.11+). En ejecuciones posteriores, se inicia inmediatamente y funciona en todas las plataformas (macOS, Linux, Windows mediante WSL). El script de PowerShell de Windows usa WSL automáticamente cuando es necesario, ya que Ansible requiere un entorno tipo Unix. Hay varias características opcionales disponibles, ninguna de las cuales es necesaria para un servidor VPN completamente funcional. Estas características opcionales se describen en la documentación de despliegue.