Ricerca nel sito web

SSHuttle: uno strumento simile a VPN per l'instradamento sicuro del traffico


SSHuttle è un potente strumento simile a una VPN che consente agli utenti Linux di instradare in modo sicuro il traffico di rete attraverso un server remoto utilizzando SSH. È ideale per scenari in cui è necessaria la crittografia sicura del traffico, l'esclusione dei firewall o l'accesso a risorse riservate senza il sovraccarico della configurazione di una VPN completa.

In questo tutorial imparerai:

  • Come instradare tutto il tuo traffico tramite SSH con SSHuttle
  • Opzioni SSHuttle avanzate per migliorare la funzionalità

Iniziare con SSHuttle

L'uso più elementare di SSHuttle è instradare tutto il traffico attraverso un server SSH remoto. Questo crea un tunnel simile a una VPN per tutta la tua attività di rete.

  1. Instrada tutto il traffico tramite SSH: instrada in modo sicuro tutto il traffico di rete attraverso un server SSH remoto.

    $ sshuttle -r user@remote-server 0/0

    Questo comando dirige tutto il traffico in uscita (0/0 indica tutti gli intervalli IP) attraverso il server remoto. Sostituisci user con il tuo nome utente SSH e remote-server con il nome host o l'indirizzo IP del server SSH. Dopo aver eseguito questa operazione, la tua attività Internet apparirà come proveniente dal server remoto, ignorando eventuali firewall locali o restrizioni di rete.

    PING NON FUNZIONA
    SSHuttle non supporta il traffico ICMP, quindi i comandi ping non funzioneranno. Instrada solo il traffico TCP e facoltativamente DNS. Utilizza invece strumenti come curl o ssh per testare la connettività.

  2. Includi traffico DNS: previeni perdite DNS instradando le query DNS attraverso il server remoto.

    $ sshuttle -r user@remote-server --dns 0/0
  3. L'opzione --dns garantisce che anche le richieste DNS vengano crittografate e instradate attraverso il tunnel SSH. Ciò è essenziale per mantenere la privacy ed evitare perdite DNS durante l'utilizzo di SSHuttle.

  4. Instrada solo traffico specifico: limita l'instradamento a una sottorete specifica, ad esempio le risorse aziendali interne.

    $ sshuttle -r user@remote-server 10.1.2.0/24

    Questo esempio instrada il traffico solo per la sottorete 10.1.2.x attraverso il tunnel SSH. Utile per accedere a sistemi interni remoti senza instradare traffico Internet non correlato.

  5. Solo traffico specifico del percorso

  6. Associa a un'interfaccia di rete specifica: controlla su quale interfaccia di rete SSHuttle è in ascolto.

    $ sshuttle --listen 10.1.2.99 -r user@remote-server 0/0
  7. L'opzione --listen collega SSHuttle a un'interfaccia locale specifica, come 10.1.2.99. Ciò è particolarmente utile nei sistemi multi-interfaccia per limitare il traffico di SSHuttle.

  8. Esegui come demone: mantieni SSHuttle in esecuzione in background.

    $ sshuttle -r user@remote-server 0/0 -D

    L'opzione -D esegue SSHuttle come demone (processo in background). Combina questo con la registrazione per il monitoraggio:

    $ sshuttle -r user@remote-server 0/0 -D --logfile /path/to/logfile.log
  9. Escludi host specifici: impedisce che determinati IP o domini vengano instradati tramite SSHuttle.

    $ sshuttle -r user@remote-server 0/0 --exclude example.com

    Utilizza l'opzione --exclude per ignorare host o sottoreti specifici, come example.com. Combina le esclusioni per gestire più casi:

    $ sshuttle -r user@remote-server 0/0 --exclude example.com --exclude 10.1.2.99
  10. Ciò consente di ottimizzare il percorso ed evitare traffico non necessario sul tunnel.

Conclusione

SSHuttle è uno strumento versatile che semplifica l'instradamento sicuro del traffico tramite SSH. Che tu abbia bisogno di instradare tutto il traffico, accedere a sottoreti specifiche o migliorare la funzionalità con opzioni come il routing DNS e la compressione del traffico, SSHuttle fornisce una soluzione leggera e flessibile. Combinando gli esempi sopra riportati, puoi personalizzare SSHuttle in base alle tue specifiche esigenze di rete.