IMC!


Contenuti


Foto

 







Curiosando...
Novita  Novità Link  Link Blog  Blog English  Español 
Navigare in internet tramite tunnel con SSH

Introduzione
Questa guida non vuole spiegare cosa siano il Protocollo SSH o un tunnel, ma semplicemente mostrare i passi pratici per realizzarne uno con lo scopo di navigare in internet.
Potremmo chiederci che senso abbia navigare con una connessione protetta. Ci sono vari motivi:
  1. Privacy: il sito che visiteremo non riceverà una domanda di visualizzazione dal nostro indirizzo pubblico, ma da quello del server SSH.
  2. Sicurezza: il tratto di connessione tra il computer dal quale navighiamo al server SSH sarà criptato. Se, ad esempio, il computer dal quale navighiamo si trova all'interno di una LAN con molti altri utenti, potremmo voler evitare che malintenzionati intercettino il nostro traffico. Per fare ciò, possiamo creare una connessione sicura con un server SSH posto all'esterno della LAN, e da li navigare liberamente nel web.
  3. Aggiramento di limiti: con questo metodo posssiamo accedere a siti internet posti su porte differenti dalla 80, come il Webserver di eMule o la WebGui di uTorrent, evitando firewall o problemi di NAT: useremo sempre la porta 22 per tutte le connessioni (o, alternativamente, un'altra porta disponibile. Eventualmente, ma da considerare come ultima possibiltà, anche la porta 80).
La soluzione proposta: un po di teoria
La soluzione di cui si parla in questo articolo prevede che disponiamo un computer correttamente proiettato su internet, sul quale è installato un server OpenSSH. Puoi leggere Installare e utilizzare un server SSH su Windows per capire come installare OpenSSH.
Chiameremo il computer dal quale navighiamo client, e il computer sul quale è disponibile un server SSH server. Supponendo che esista almeno una porta aperta in uscita sul firewall, ciò che realizzeremo è questo:
  1. Il nostro browser si collega a un client SSH presente sul nostro computer client.
  2. Il client SSH inoltra tutto il traffico attraverso una sola porta (usualmente la 22) al server SSH, posto sul computer server.
  3. Il server SSH inoltra tutto il traffico ai webserver del nostro sito, e viceversa.
Alcune porte che tipicamente potrebbero essere aperte sono la 21 (FTP), 22 (SSH), 23 (Telnet), 8080 (amministrazione di router), 443 (HTTPS), 110 (POP3), 25 (SMTP), e altre.
Se sul nostro computer server non è in esecuzione nessun webserver (come Apache) possiamo anche pensare di utilizzare la porta 80. Tuttavia questa deve essere l'ultima opzione, in quanto potrebbe creare problemi.


Passo 1: Installazione e uso di una sessione SSH da terminale
Dobbiamo innanzitutto realizzare una connessione SSH tra il client e il server. Rimando alla mia guida Installare e utilizzare un server SSH su Windows per questa fase.


Passo 2: Uso del tunnel SSH con un browser
Giunti a questo punto, abbiamo due possibilità, leggermente differenti. Le prenderemo in esame entrambe, perchè presentano pregi e difetti che possono soddifare differenti necessità.


Soluzione A: uso di un proxy trasparente SOCKS
In questa soluzione, faremo uso di un server proxy trasparente, SOCKS v5, che è implementato da OpenSSH. A meno che non necessitiamo di impostazioni particolari, OpenSSH avvia e utilizza questo proxy server correttamente e automaticamente. Il percorso, dal nostro client al nostro webserver contenente il sito che ci interessa, sarà:

Browser--> Client SSH --> Server SSH --> SOCKS --> webserver

Questa soluzione offre le seguenti caratteristiche:
  1. Modifica permanente delle impostazioni di connessione del browser: senza server SSH non sarà più possibile navigare. E' necessario modificare di nuovo le opzioni di connessione per poter navigare normalmente
  2. Realizzazione di un proxy completamente trasparente: potremo navigare senza accorgerci della sua esistenza.
Per realizzare questa soluzione, seguiamo questi passi:
  1. In Putty, seleziona Connection, SSH, Tunnels. Inserisci questi valori:

    Source port: una porta a caso non utilizzata sul pc client. Ad esempio 1234. Questa sarà la porta che Putty renderà visibile al browser sul nostro computer client.

    Destination: lasciamo vuoto. Sarà infatti OpenSSH, tramite l'attivazione del proxy trasparente SOCKS 5, a indirizzare le richieste per il sito che vogliamo visualizzare.

    Selezioniamo anche l'opzione Dynamic.
  2. Avvia la sessione di Putty così impostata.
Impostiamo ora Firefox
  1. Apriamo Firefox
  2. Rechiamoci alla finestra Strumenti, Opzioni, Rete, Connessione, Impostazioni.
  3. Scegliamo la voce "Configurazione manuale del proxy".
    Selezioniamo l'opzione SOCKS v5

    HOST Socks scriviamo l'indirizzo di loopback 127.0.0.1 (dato che Putty rende disponibile sul nostro client stesso le porte inoltrate dal server) e la porta da noi scelta (ad esempio, 1234).

    Nessun proxy per: localhost, 127.0.0.1

  4. Ora possiamo navigare con una connessione protetta SSH.


Soluzione B: uso del solo server SSH
In questa soluzione eviteremo di usare un proxy SOCKS. In questo caso il server SSH agirà per noi come una sorta di proxy, ma con alcune limitazioni. Il percorso, dal nostro client al nostro webserver contenente il sito che ci interessa, sarà:

Browser --> Client SSH --> Server SSH --> webserver

Questa soluzione offre le seguenti caratteristiche:
  1. Nessuna modifica permanente delle impostazioni di connessione del browser: senza server SSH sarà comunque possibile navigare.
  2. Realizzazione di un proxy parziale: potremo visualizzare correttamente solo la pagina impostata in Putty (vedi il procedimento per capire), ma i link di tale pagina potrebbero essere raggiunti dal browser tramite richiesta diretta, e non passando dal server OpenSSH.
E' una soluzione occasionale, per visualizzare una pagina rapidamente senza modificare le impostazioni di connessione del browser. Ad esempio, può essere utile per controllare un Webserver di eMule dall'ufficio o da scuola.

Il procedimento è il seguente:
  1. In Putty, seleziona Connection, SSH, Tunnels. Inserisci questi valori:

    Source port: una porta a caso non utilizzata sul pc client. Ad esempio 1234. Questa sarà la porta che Putty renderà visibile al browser sul nostro computer client.

    Destination: L'indirizzo e la porta, visti da OpenSSH, del sito che vogliamo visualizzare. Ad esempio, "google.it:80" per un sito normale, oppure "indirizzo_webserver_emule:porta_webserver"

    Selezioniamo anche l'opzione Local.
  2. Avvia la sessione di Putty così impostata.
Impostazione di Firefox:
  1. Apri Firefox
  2. Scivi come indirizzo "127.0.0.0:1234" (dato che Putty ha reso disponibile la porta 80 del webserver google sul client locale)
  3. Buona navigazione!






Commenti

1 - AnonimoGio 20 Set 2012 - 03:06:53  

ke si deve skrivere in host name???


Scrivi un commento

Pui scrivere quì sotto un commento all'articolo che hai appena letto. Non sono abilitate smile, immagini e link. La lunghezza massima del commento è 4000 caratteri. La buona educazione è benvenuta, tutti i commenti offensivi saranno cancellati.

Your comment (lascia bianco!):
Utente (max 25 caratteri, obbligatorio)
Sito web (max 255 caratteri, facoltativo)
e-Mail (max 255 caratteri, facoltativa, non sarà pubblicata) Your opinion (lascia bianco!):
Commento (max 4000 caratteri, obbligatorio):





Valid HTML 4.01 Transitional
E-Mail - 22.61 ms

Valid HTML 4.01 Transitional