Tag: vpn

  • sshuttle: creiamo una VPN (via transparent proxy) con SSH

    In passato vi ho spiegato come creare un tunnel SSH per poter “tunnelizzare” il traffico Internet usando da tramite un server che esponeva il demone sshd. La scomodità di questa soluzione risiede nell’ultimo passo: dobbiamo impostare un tunnel SOCKS per ogni programma di cui vogliamo tunnelizzare il traffico. Ok, questo può non essere una scomodità vera e propria, tuttavia: per esempio, vogliamo tunnelizzare solo il traffico del browser [pensiamo di trovarci in una rete pubblica], mentre il traffico SSH [già cifrato] non ha bisogno di essere tunnelizzato.

    Oggi facciamo un passo oltre: vogliamo sfruttare la connessione SSH che abbiamo per tunnelizzare  tutto il traffico attraverso SSH. Questo è equivalente a creare una VPN con il server remoto, ma l’unica differenza importante è che non si creano interfacce di rete aggiuntive!

    Di conseguenza, l’host locale (che chiamiamo client) instaurerà una connessione SSH verso il server che si assumerà la responsabilità di instaurare la connessione verso gli altri host e di fare da “passacarte” verso il client. La configurazione è molto utile nel caso in cui il client si trovi ad utilizzare una rete pubblica non sicura (pensiamo ad esempio a Starbucks) ma allo stesso tempo voglia che tutto il traffico sia cifrato per evitare problemi di sniffing.

    Il software che ci permette di costruire la VPN (vi ricordo che non è a tutti gli effetti una VPN, anche se ne si hanno tutti i benefici) è sshuttle, disponibile per Linux e OSX.

    Una volta installato solo sul client (lo trovate nei repo di Ubuntu e in homebrew), vi consiglio di configurarlo per fare il forward di tutto il traffico (comprese le richieste DNS) nel seguente modo:

    ./sshuttle --dns -vvr username@sshserver 0/0

    [Nota: 0/0 è uno shortcut per 0.0.0.0 – se volete modificarlo per fare selective routing verso il tunnel di una particolare subnet, sapete cosa dovete modificare ;)]

    Per i più curiosi, ecco una piccola spiegazione di cosa c’è under the hood di sshuttle.

  • Configurare una VPN IPsec Cisco con il client integrato di OSX Snow Leopard e iPhone

    A volte mi capita di dovermi connettere a qualche rete che utilizza un concentratore enterprise VPN di Cisco usando il sistema operativo OSX (o da iPhone); in teoria dovrei utilizzare il client VPN di Cisco, ma da OSX Snow Leopard è presente un client integrato che permette di accedere alle reti VPN di Cisco che utilizzano IPsec, senza necessità di installare software aggiuntivo.

    In questo post vi spiegherò come fare il setup di una connessione VPN con Group Secret usando il client integrato di OSX. Nel caso utilizziate i certificati, il procedimento è ancora più semplice: basterà inserire il file dei certificati al posto del GroupName e del GroupSecret più avanti.

    Il requisito fondamentale di questo metodo è di avere a disposizione i parametri di connessione della VPN; in alternativa, è necessario avere a disposizione il file di configurazione (file che hanno estensione .pcf, di solito sono distribuiti dall’organizzazione che eroga il servizio VPN insieme al client VPN di Cisco).

    Procediamo passo-passo:

    1. Innanzitutto apriamo le impostazioni di sistema, poi andiamo su “Rete” e aggiungiamo una nuova connessione.
    2. Selezioniamo l’interfaccia VPN, il tipo Cisco IPsec e assegniamo un nome qualsiasi alla connessione e diamo OK.
    3. Apriamo con un editor (ad es. Textmate o Textedit) il file di configurazione con estensione pcf.
    4. Ora dovremo identificare nel file pcf i parametri che ci servono per la VPN:
      • Host=1.2.3.4. Indirizzo IP per la connessione (in questo caso 1.2.3.4). Inseriamolo nel primo campo, “Indirizzo del server remoto”
      • GroupName=mygroup. Il nome del gruppo VPN da inserire sotto “Impostazioni di autenticazione”
      • enc_GroupPwd=<stringa di caratteri>. Questa è il “Group secret”, ovvero la password condivisa del gruppo. La password è però cifrata, quindi avete due possibilità: richiedere la password in chiaro a chi fornisce il servizio VPN. Oppure, cercare su Internet un modo per decifrarla. Una volta ottenuta la password decifrata, inseritela nel campo “Group secret”, sempre sotto “Impostazioni di autenticazione”

      Riassumendo, nel caso di esempio siamo arrivati alla situazione descritta dalle figure a lato.

    5. Inseriamo username e password per la VPN, se necessario, e infine clicchiamo su Connect.

    La VPN sarà instaurata e potremo accedere alla rete protetta.

    Nel caso di iPhone il procedimento è simile: il menu di configurazione della VPN lo trovate sotto Impostazioni > Generale > VPN.

    Nel caso in cui riscontriate qualche problema, segnalatelo nei commenti!

  • Come risolvere il problema della freccia azzurra verso l’alto [“stato: trasmesso(lento)”] di Hamachi: guida risoluzione passo-passo

    In alcuni casi Hamachi rappresenta una freccia azzurra vicino ad alcuni peer e visualizza il messaggio informatico (senza senso in italiano, a mio avviso): “stato: trasmesso (lento)“. Cosa significa? Significa che la connessione verso quel determinato peer è relayed (connessione indiretta): ciò si traduce in una latenza maggiore rispetto ad una connessione diretta.image

    Come si può risolvere questo problema?

    1. Aprire il client di Hamachi
    2. Selezionare le opzioni di Hamachi
    3. Selezionare Configurazione dettagliata
    4. Nella sezione “Connnessione mediante NAT”, selezionare “Porta UDP” e inserire un valore numerico.
    5. Impostare sul proprio router un NAT UDP (la porta UDP deve essere la stessa) dall’interfaccia esterna all’interfaccia di rete del computer su cui è attivo Hamachi (maggiori informazioni su: https://portforward.com/)
    6. Riavviare il client di Hamachiimageimage