Oggi parliamo di un argomento che sta molto a cuore a coloro che utilizzano abitualmente una connessione ad internet attraverso firewall, spesso questi collegamenti impongono delle restrizioni sui siti visitabili. Per aggirare questo problema e poter vedere alcuni contenuti altrimenti non accedibili possiamo realizzare in modo relativamente semplice un tunnel ssh dinamico.
Il prerequisito è avere a disposizione un server ssh da qualche parte nel mondo ed esposto in internet.
Per semplicità immaginiamo di voler superare i vincoli sulla navigazione quando siamo sul pc dell’ufficio, supponiamo inoltre che a casa abbiamo a disposizione una connessione a banda larga flat con un router od un modem adsl (o altra tecnologia).
Ecco i passi da seguire:
a casa:
1) Dobbiamo predisporre sulla rete di casa un server ssh che ci servirà successivamente per fare un “tunnel” di rete. Nel mio caso il router che utilizzo per l’accesso ad internet (fonera 2.0n) dispone anche di un server ssh (nelle impostazioni del firewall va espressamente abilitato per essere acceduto dalla rete pubblica), nel caso il vostro router non lo abbia a bordo oppure nel caso abbiate solo un modem per l’accesso ad internet potete sempre installare un server ssh sul vostro pc di casa windows o linux (quest’ultimo lo ha di default). OpenSSH è disponibile per quasi tutte le piattaforme. Nel caso dell’installazione su Pc chiaramente quest’ultimo dovrà rimanere acceso, con il server ssh attivo e collegato ad internet.
2) E’ necessario consocere l’indirizzo IP pubblico associato al collegamento Internet di casa, se avete un IP statico basta annotarlo se invece (più comunemente) vi viene associato un IP dinamico lo dovete memorizzare di volta in volta oppure sfruttare un servizio di DNS dinamico, il più famoso è DynDNS.
in ufficio:

3) scaricatevi Putty, client telnet/ssh gratuito
4) lanciatelo ed inserite nella sezione Session l’indirizzo IP (oppure l’hostname) del server ssh di casa, la porta 22 è quella di default, lasciatela invariata.

5) Passare alla sezione Connection/SSH ed aggiungete una porta a vostra scelta su “Source Port”, nell’esempio ho impostato la 9990 (chiramente dev’essere una porta non utilizzata da altri servizi, controllate con netstat). Lasciate vuoto il campo “Destination” e spuntate “Dynamic”.

6) Ora avviate la sessione ssh cliccando sul pulsante “Open”, si avvierà un terminale in cui verrà richiesta l’autenticazione: nome utente e password per accedere al server ssh. Nel mio caso, sfruttando il router di casa ho passato le credenziali di amministratore del router (“root” come username e la pwd di admin impostata sul router). Una volta connessi possiamo ridurre ad icona putty, che non ci servirà più ma deve rimanere sempre attivo perchè ha stabilito il tunnel.
7) Ora configuriamo il browser internet per Navigare attraverso questo tunnel ssh che abbiamo appena creato. Si sfrutta il fatto che questo tunnel ssh con il forward dinamico delle porte si comporta di fatto come un proxy server di tipo Socks 5, quindi basta impostare sulle opzioni di rete del proprio browser, nella sezione proxy – Socks Host, l’indirizzo del pc locale su cui è in esecuzione putty (127.0.0.1) e la porta che abbiamo scelto di attivare (nel nostro caso la 9990). Ecco su Firefox le impostazioni da applicare (su Options/Advanced/Connection Settings):

Tutto funziona a meraviglia! La navigazione ora non ha più vincoli perchè sfrutta l’accesso alla rete di casa dove si presume non ci siano restrizioni.

3 Responses to “Aggirare il firewall aziendale attraverso putty ed un tunnel ssh”

  • Jose:

    One thing to add to the iotnrucsints for browser configuration, you need to manually delete any host you may have entered in the past into the proxy settings for other protocols, such as http. If these other fields have a host entered this will not work. Most people don’t have this problem, but I change my proxy settings frequently and ran into the issue.

  • alessandro:

    ma perchè il firewall aziendale non dovrebbe bloccare la connessione ssh all’origine?

  • Admin:

    ciao alessandro, il firewall aziendale generalmente lascia aperte in uscite alcune porte standard come la 80, 8080, 21, 43, ecc.
    io ho fatto in modo che il server ssh di casa stia in ascolto sulla 43 in modo da non avere problemi. tutto funziona perfettamente.

Leave a Reply