tunnelssh

In questo articolo vi verrà spiegato come creare un proxy sock utilizzando il servizio SSH.
La creazione di questo tipo di proxy comporta due vantaggi:

1 – ogni comunicazione attraverso il proxy viene criptata (essendo SSH un protocollo sicuro)
2 – utilizzando il proxy si scavalcano le restrizioni imposte dai firewall aziendali

Ecco lo schema sintetico di cosa andremo a fare con il tunnel / proxy SSH

ssh

I prerequisiti per creare questo tipo di proxy sono 2

1 – dovete avere la porta 22 aperta in uscita verso internet
2 – dovete avere accesso SSH ad una macchina esterna. E’ sufficiente ad esempio avere un sito web che permette l’accesso via SSH

Procediamo.
Windows di suo non ha un client ssh, dobbiamo quindi scaricare un programma per stabilire una connessione SSH.
Putty è il programma che fa al caso nostro: è opensource e gratuito. (si scarica da qui)

Lanciamo Putty e nella schermata iniziale inseriamo l’indirizzo IP della macchina sui cui gira il server SSH

putty01

Ora seguendo le indicazioni in figura sotto

1 – selezionate SSH
2 – selezionate Tunnels
3 – selezionate Auto
4 – selezionate Dynamic
5 – scegliete la porta (tra 3000 e 65000)
6 – premete Add

ssh2

Finalmente potete aprire la connessione premendo Open

Inserite le credenziali di accesso a SSH (login/pass) e lasciate Putty aperto

Ora dovrete configurare il vostro browser (o qualsiasi altro programma: msn, skype, utorrent etc etc) per utilizzare il proxy appena creato.

Prendiamo ad esempio la configurazione di Firefox

Andate sul menu Strumenti –> Opzioni…
e selezionate il tab Avanzate. Ora premete su Impostazioni..

ff01

Inserite qui i dati del proxy appena creato con la porta che avete scelto (nel mio caso la porta è la 1080)

ff02

Date OK e provate a navigare.
Se tutto funziona a dovere il vostro IP dovrebbe essere quello della macchina dove risiede il server SSH.

Se volete fare il tutto in modo più veloce basterà installare sulla vostra macchina CygWin e digitare nel terminale il seguente comando:

ssh -D 8182 utente@server

Dove utente è il vostro login e server è l’indirizzo ip della macchina dove risiede il server SSH

11 Commenti

  1. ciao !! ti ringrazio molto !!
    Ti sarei ulteriormente grato se mi spiegassi come settare il programma “jdownloader” perchè con firefox ho capito e funziona, l’ip è quello della macchina in remoto, ma con jdownloader non capisco bene come settarlo,

    ancora grazie !!

    Nicola

  2. Salve. Vorrei sapere… è possibile attuare questo procedimento, invertendo server e client ssh? Cioè, il pc che fa da proxy che sia il client, e quello che deve navigare su internet sia il server. Si potrebbe per esempio, in putty ssh tunnel, invece di porta remota, cliccare sulla voce “local”. Funzionerebbe?

  3. bello bello… mi piace… ma… domanda… volendo installare su un pc di casa un server ssh… cosa consiglieresti?
    googlando rapido ho visto FreeSSHd … ma non l’ ho ancora provato… lunedì @ work mi sa che faccio due prove…
    sono stufo del lento refresh del vnc per vedere le pagine che quello stupido sonicwall si inventa di categorizzarmi come non consentite!!!

    ^_^

  4. io penso che il problema non è decriptare il traffico ma proprio che su quelle porte (almeno la 80) ci Sia del traffico criptato.

  5. ma su un firewall aziendale serio le porte 80 e 443 sono si aperte ma anche quelle più sottoposte a, come dire, controllo, un amministratore, se tale, capirebbe facilmente l’inghippo.

  6. Infatti, come ho scritto, un prerequisito è che la porta 22 IN USCITA deve essere aperta e in molte realtà aziendali spesso lo è. Potresti comunque far girare il server SSH sulla porta 80 (HTTP) o 443 (HTTPS) che di sicuro sono aperte.

  7. Mi sfugge qualcosa, se il pc client si trova dietro un firewall aziendale e quindi si presuppone che se è un firewall serio la porta 22 sia chiusa e apribile solo dall’amministratore di rete, come fa l’user a rendere ad utilizzare questa guida????