Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
algo — Configurare una VPN personale nel cloud. | Kitploit
Strumenti/GitHubGitHub/trailofbits/algo
Strumenti di Crittografia/DecrittografiaScripting e AutomazioneSicurezza di ReteSicurezza CloudPrivacy
GitHubtrailofbits/algo

algo

Configurare una VPN personale nel cloud.

Vedi Repository
30.4k2.4k713 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

Algo VPN

Twitter

Algo VPN è un insieme di script Ansible che semplificano la configurazione di una VPN personale WireGuard e IPsec. Utilizza le impostazioni più sicure disponibili e funziona con i comuni provider cloud.

Leggi il nostro annuncio di rilascio per maggiori informazioni.

Caratteristiche

  • Supporta solo IKEv2 con crittografia forte (AES-GCM, SHA2 e P-256) per iOS, macOS e Linux
  • Supporta WireGuard per tutti i suddetti, oltre ad Android e Windows 11
  • Genera file .conf e codici QR per i client WireGuard iOS, macOS, Android e Windows
  • Genera profili Apple per configurare automaticamente i dispositivi iOS e macOS per IPsec - nessun software client richiesto
  • Include script di supporto per aggiungere, rimuovere e gestire gli utenti
  • Blocca gli annunci con un resolver DNS locale (opzionale)
  • Configura utenti SSH limitati per il tunneling del traffico (opzionale)
  • Orientato alla privacy con registrazione minima, rotazione automatica dei log e miglioramenti configurabili della privacy
  • Basato su Ubuntu 22.04 LTS con aggiornamenti di sicurezza automatici
  • Si installa su DigitalOcean, Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, OpenStack, CloudStack, Hetzner Cloud, Linode o sul tuo server Ubuntu (per utenti avanzati)

Anti-caratteristiche

  • Non supporta suite o protocolli legacy come L2TP, IKEv1 o RSA
  • Non installa Tor, OpenVPN o altri server rischiosi
  • Non dipende dalla sicurezza di TLS
  • Non pretende di fornire anonimato o elusione della censura
  • Non pretende di proteggerti dall'FSB, MSS, DGSE o FSM

Deploy del Server Algo

Il modo più semplice per ottenere un server Algo in esecuzione è eseguirlo sul tuo sistema locale o da Google Cloud Shell e lasciare che configuri una nuova macchina virtuale nel cloud per te.

  1. Crea un account su un provider di hosting cloud. Algo supporta DigitalOcean (il più user-friendly), Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, DreamCompute, Linode, altri hosting cloud basati su OpenStack, hosting cloud basati su CloudStack, o Hetzner Cloud.

  2. Ottieni una copia di Algo. Gli script Algo verranno eseguiti dal tuo sistema locale. Ci sono due modi per ottenere una copia:

    • Scarica il file ZIP. Decomprimi il file per creare una directory chiamata algo-master contenente gli script Algo.

    • Usa git clone per creare una directory chiamata algo contenente gli script Algo:

      root@kitploit:~
      git clone https://github.com/trailofbits/algo.git
      
  3. Imposta le opzioni di configurazione. Apri config.cfg nel tuo editor di testo preferito. Specifica gli utenti che vuoi creare nell'elenco users. Crea un utente unico per ogni dispositivo che intendi connettere alla tua VPN. Dovresti anche rivedere le altre opzioni prima del deploy, poiché cambiarle in seguito .

Questo è tutto! Ora puoi configurare i client per connetterti alla tua VPN. Prosegui con Configura i Client VPN qui sotto.

root@kitploit:~
    "#                          Congratulations!                            #"
    "#                     Your Algo server is running.                     #"
    "#    Config files and certificates are in the ./configs/ directory.    #"
    "#              Go to https://whoer.net/ after connecting               #"
    "#        and ensure that all your traffic passes through the VPN.      #"
    "#                     Local DNS resolver 172.16.0.1                    #"
    "#        The p12 and SSH keys password for new users is XXXXXXXX       #"
    "#        The CA key password is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       #"
    "#      Shell access: ssh -F configs/<server_ip>/ssh_config <hostname>  #"

Configura i Client VPN

I certificati e i file di configurazione necessari agli utenti vengono inseriti nella directory configs. Assicurati di proteggere questi file poiché molti contengono chiavi private. Tutti i file vengono salvati in una sottodirectory denominata con l'indirizzo IP del tuo nuovo server VPN Algo.

Importante per gli utenti IPsec: Se in seguito desideri aggiungere o eliminare utenti, devi selezionare sì al prompt Vuoi conservare le chiavi (PKI)? durante il deploy del server. Questo preserva l'autorità di certificazione necessaria per la gestione degli utenti.

Apple

WireGuard viene utilizzato per fornire servizi VPN sui dispositivi Apple. Algo genera un file di configurazione WireGuard, wireguard/<username>.conf, e un codice QR, wireguard/<username>.png, per ogni utente definito in config.cfg.

Su iOS, installa l'app WireGuard dall'App Store iOS. Quindi, usa l'app WireGuard per scansionare il codice QR o AirDrop il file di configurazione al dispositivo.

Su macOS, installa l'app WireGuard dal Mac App Store. WireGuard apparirà nella barra dei menu una volta avviata l'app. Fai clic sull'icona di WireGuard, scegli Importa tunnel da file... , quindi seleziona il file di configurazione WireGuard appropriato.

Su iOS o macOS, puoi abilitare "Connetti su richiesta" e/o escludere determinate reti Wi-Fi fidate (come casa o lavoro) modificando la configurazione del tunnel nell'app WireGuard. (Algo non può farlo automaticamente per te.)

Se preferisci utilizzare la VPN IPsec integrata sui dispositivi Apple, o hai bisogno di "Connetti su richiesta" o reti Wi-Fi escluse configurate automaticamente, consulta la guida alla configurazione del client Apple IPsec per istruzioni dettagliate.

Android

WireGuard viene utilizzato per fornire servizi VPN su Android. Installa il Client VPN WireGuard. Importa il file wireguard/<name>.conf corrispondente sul tuo dispositivo, quindi configura una nuova connessione con esso. Consulta la guida di configurazione Android per istruzioni dettagliate di installazione e configurazione.

Windows

WireGuard viene utilizzato per fornire servizi VPN su Windows. Algo genera un file di configurazione WireGuard, wireguard/<username>.conf, per ogni utente definito in config.cfg.

Installa il Client VPN WireGuard. Importa il file wireguard/<username>.conf generato sul tuo dispositivo, quindi configura una nuova connessione con esso. Consulta le istruzioni di configurazione Windows per una guida più dettagliata e risoluzione dei problemi.

Linux

I client Linux possono utilizzare WireGuard o IPsec:

WireGuard: WireGuard funziona benissimo con i client Linux. Consulta la guida di configurazione WireGuard per Linux per istruzioni passo passo sulla configurazione di WireGuard su Ubuntu e altre distribuzioni.

IPsec: Per i client IPsec strongSwan (inclusi OpenWrt, Ubuntu Server e altre distribuzioni), consulta la guida di configurazione IPsec per Linux per istruzioni dettagliate.

OpenWrt

Per i router OpenWrt che utilizzano WireGuard, consulta la guida di configurazione WireGuard per OpenWrt per istruzioni specifiche per router.

Altri Dispositivi

Per i dispositivi non coperti sopra o per la configurazione manuale, avrai bisogno di file specifici di certificato e configurazione. I file necessari dipendono dalla piattaforma del tuo dispositivo e dal protocollo VPN (WireGuard o IPsec).

  • ipsec/manual/cacert.pem: Certificato CA
  • ipsec/manual/.p12: Certificato utente e chiave privata (in formato PKCS#12)
  • ipsec/manual/.conf: Configurazione client strongSwan
  • ipsec/manual/.secrets: Configurazione client strongSwan
  • ipsec/apple/.mobileconfig: Profilo Apple
  • wireguard/.conf: Profilo di configurazione WireGuard
  • wireguard/.png: Codice QR di configurazione WireGuard

Configura un Tunnel SSH

Se hai attivato il ruolo opzionale di tunneling SSH, verranno creati account utente locali per ogni utente in config.cfg, e i file delle chiavi autorizzate SSH saranno nella directory configs (user.pem). Gli account utente SSH non hanno accesso a una shell, non possono autenticarsi con password e hanno solo opzioni di tunneling limitate (ad esempio, è richiesto ssh -N). Questo garantisce che gli utenti SSH abbiano il minimo accesso necessario per configurare un tunnel e non possano eseguire altre azioni sul server Algo.

Usa il comando di esempio qui sotto per avviare un tunnel SSH sostituendo <user> e <ip> con i tuoi. Una volta configurato il tunnel, puoi configurare un browser o un'altra applicazione per utilizzare 127.0.0.1:1080 come proxy SOCKS per instradare il traffico attraverso il server 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 nel Server Algo

Il tuo server Algo è configurato per l'accesso SSH solo con chiave per scopi amministrativi. Apri l'app Terminale, cd nella directory algo-master dove hai scaricato originariamente Algo, quindi usa il comando elencato nel messaggio di successo:

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

dove <ip> è l'indirizzo IP del tuo server Algo. Se accedi regolarmente al server, sarà utile caricare automaticamente la tua chiave SSH di Algo. Aggiungi il seguente snippet in fondo a ~/.bash_profile per aggiungerla permanentemente al tuo ambiente shell:

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

In alternativa, puoi scegliere di includere la configurazione generata per qualsiasi server Algo creato nel tuo file di configurazione SSH. Modifica il file ~/.ssh/config includendo questa direttiva all'inizio:

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

dove <algodirectory> è la directory in cui hai clonato Algo.

Aggiungere o Rimuovere Utenti

Algo semplifica l'aggiunta o la rimozione di utenti dal tuo server VPN dopo il deploy iniziale.

Per gli utenti IPsec: Devi aver selezionato sì al prompt Vuoi conservare le chiavi (PKI)? durante il deploy iniziale del server. Questo preserva l'autorità di certificazione necessaria per la gestione degli utenti. Dovresti anche salvare le password della chiave p12 e CA mostrate durante il deploy, poiché vengono visualizzate una sola volta.

Per aggiungere o rimuovere utenti, modifica prima l'elenco users nel tuo file config.cfg. Aggiungi nuovi nomi utente o rimuovi quelli esistenti come necessario. Quindi naviga nella directory algo nel tuo terminale ed esegui:

macOS/Linux:

root@kitploit:~
./algo update-users

Windows:

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

Dopo il completamento del processo, verranno generati nuovi file di configurazione nella directory configs per tutti i nuovi utenti. Il server VPN Algo verrà aggiornato per contenere solo gli utenti elencati nel file config.cfg. Gli utenti rimossi non potranno più connettersi, e i nuovi utenti avranno certificati e file di configurazione freschi pronti per l'uso.

Privacy e Registrazione

Algo adotta un approccio pragmatico alla privacy. Per impostazione predefinita, minimizziamo la registrazione mantenendo comunque informazioni sufficienti per la sicurezza e la risoluzione dei problemi.

Cosa viene registrato per impostazione predefinita:

  • Eventi di sicurezza del sistema (tentativi di SSH falliti, blocchi del firewall, aggiornamenti di sistema)
  • Messaggi del kernel e diagnostica di avvio (con verbosità ridotta)
  • Stato del client WireGuard (visibile tramite sudo wg - mostra l'ultimo endpoint e il tempo di handshake)
  • Stato di base del servizio (avvii/arresti/errori del servizio)
  • Tutti i log ruotano automaticamente e vengono eliminati dopo 7 giorni

La privacy è controllata da due impostazioni principali in config.cfg:

  • strongswan_log_level: -1 - Controlla la registrazione delle connessioni StrongSwan (-1 = disabilitato, 2 = debug)
  • privacy_enhancements_enabled: true - Interruttore principale per rotazione log, cancellazione cronologia, filtraggio log e pulizia

Per abilitare il debug completo durante la risoluzione dei problemi, imposta sia strongswan_log_level: 2 che privacy_enhancements_enabled: false. Questo catturerà log di connessione dettagliati e disabiliterà tutte le funzionalità di privacy. Ricorda di ripristinare queste modifiche dopo il debug.

Dopo il deploy, verifica le tue impostazioni sulla privacy:

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

La privacy perfetta è impossibile con qualsiasi soluzione VPN. Il tuo provider cloud vede e registra i metadati del traffico di rete indipendentemente dalla configurazione del tuo server. E ovviamente, il tuo ISP sa che ti stai connettendo a un server VPN, anche se non può vedere cosa stai facendo attraverso di esso.

Per il massimo livello di privacy, tratta i tuoi server Algo come usa e getta. Crea una nuova istanza quando ne hai bisogno, usala per il tuo scopo specifico, poi distruggila completamente. La natura effimera dell'infrastruttura cloud può essere una caratteristica di privacy se la usi intenzionalmente.

Documentazione Aggiuntiva

  • FAQ
  • Risoluzione dei problemi
  • Come Algo utilizza i Firewall

Istruzioni di Configurazione per Provider Cloud Specifici

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

Installa e Distribuisci da Piattaforme Comuni

  • Distribuisci da macOS
  • Distribuisci da Windows
  • Distribuisci da Google Cloud Shell
  • Distribuisci da un contenitore Docker

Configura Client VPN per Connettersi al Server

  • Configura client Windows
  • Configura client Android
  • Configura client Linux con Ansible
  • Configura client Ubuntu per utilizzare WireGuard
  • Configura client Linux per utilizzare IPsec
  • Configura dispositivi Apple per utilizzare IPsec
  • Configura Mac con macOS 10.13 o precedenti per utilizzare WireGuard

Deploy Avanzato

  • Distribuisci sul tuo server Ubuntu e configurazione road warrior
  • Distribuisci da Ansible in modo non interattivo
  • Distribuisci su un server cloud al momento della creazione con shell script o cloud-init
  • Distribuisci su un provider cloud non supportato

Se hai letto tutta la documentazione e hai ulteriori domande, crea una nuova discussione.

Approvazioni

Ho criticato a lungo lo stato pietoso dei servizi VPN, probabilmente è ora di fare un discorso adeguato sull'argomento. TL;DR: usa Algo.

-- Kenn White

Prima di scegliere un provider/app VPN, assicurati di fare delle ricerche https://research.csiro.au/ng/wp-content/uploads/sites/106/2016/08/paper-1.pdf ... – o considera Algo

-- The Register

Algo è davvero facile e sicuro.

-- the grugq

Ho sperimentato con Algo VPN, un insieme di script che ti permettono di configurare una VPN nel cloud in pochissimo tempo, anche se non sai molto di sviluppo. Devo dire che sono rimasto molto colpito dall'approccio di Trail of Bits.

-- Romain Dillet per TechCrunch

Se non ti senti a tuo agio a dare soldi a un provider VPN anonimo e casuale, questa è la soluzione migliore.

-- Thorin Klosowski per Lifehacker

Contribuire

Consulta la nostra Guida allo Sviluppo per informazioni su:

  • Configurazione dell'ambiente di sviluppo
  • Utilizzo degli hook pre-commit per la qualità del codice
  • Esecuzione di test e linter
  • Contribuire con codice tramite pull request

Supporta Algo VPN

PayPal Patreon

Tutte le donazioni supportano lo sviluppo continuo. Grazie!

  • Accettiamo donazioni tramite PayPal e Patreon.
  • Usa il nostro codice di riferimento quando ti iscrivi a Digital Ocean per un credito di $10.
  • Accettiamo e apprezziamo anche contributi di nuovo codice e correzioni di bug tramite Pull Request su Github.

Algo è concesso in licenza e distribuito sotto AGPLv3. Se desideri distribuire una modifica closed-source o un servizio basato su Algo, contatta per acquistare un'eccezione. Come per i metodi sopra, questo aiuterà a sostenere lo sviluppo continuo.

Scarica lo strumento
potrebbe richiedere di distribuire un nuovo server
  • Avvia il deploy. Torna al tuo terminale. Nella directory di Algo, esegui lo script appropriato per la tua piattaforma:

    macOS/Linux:

    root@kitploit:~
    ./algo
    

    Windows:

    root@kitploit:~
    .\algo.ps1
    

    La prima volta che esegui lo script, installerà automaticamente l'ambiente Python richiesto (Python 3.11+). Nelle esecuzioni successive, parte immediatamente e funziona su tutte le piattaforme (macOS, Linux, Windows tramite WSL). Lo script PowerShell di Windows utilizza automaticamente WSL quando necessario, poiché Ansible richiede un ambiente Unix-like. Sono disponibili diverse funzionalità opzionali, nessuna delle quali è necessaria per un server VPN completamente funzionale. Queste funzionalità opzionali sono descritte nella documentazione di deploy.