La connessione a Internet da hotspot Wi-Fi, al lavoro o in qualsiasi altro luogo lontano da casa espone i tuoi dati a rischi inutili. Puoi configurare facilmente il tuo router per supportare un tunnel sicuro e proteggere il traffico del browser remoto: continua a leggere per vedere come.
Che cos'è e perché impostare un tunnel sicuro?
Potresti essere curioso del motivo per cui vorresti persino impostare un tunnel sicuro dai tuoi dispositivi al router di casa e quali vantaggi potresti trarre da un tale progetto. Descriviamo un paio di scenari diversi che prevedono l'utilizzo di Internet per illustrare i vantaggi del tunneling sicuro.
Scenario uno: sei in un bar e utilizzi il tuo laptop per navigare in Internet tramite la connessione Wi-Fi gratuita. I dati lasciano il tuo modem Wi-Fi, viaggiano nell'aria non crittografati fino al nodo Wi-Fi nella caffetteria e quindi vengono trasmessi a Internet. Durante la trasmissione dal tuo computer a Internet i tuoi dati sono completamente aperti. Chiunque abbia un dispositivo Wi-Fi nella zona può annusare i tuoi dati. È così dolorosamente facile che un dodicenne motivato con un laptop e una copia di Firesheep potrebbe strappare le tue credenziali per ogni sorta di cose. È come se fossi in una stanza piena di persone che parlano solo inglese, a parlare al telefono in cinese mandarino. Nel momento in cui arriva qualcuno che parla cinese mandarino (lo sniffer Wi-Fi) la tua pseudo-privacy viene infranta.
Scenario due: sei in un bar e utilizzi di nuovo il tuo laptop per navigare in Internet tramite la connessione Wi-Fi gratuita. Questa volta hai stabilito un tunnel crittografato tra il tuo laptop e il router di casa utilizzando SSH. Il tuo traffico viene instradato attraverso questo tunnel direttamente dal tuo laptop al tuo router di casa che funziona come un server proxy. Questa pipeline è impenetrabile agli sniffer Wi-Fi che non vedrebbero altro che un flusso confuso di dati crittografati. Non importa quanto sia instabile la struttura, quanto sia insicura la connessione Wi-Fi, i tuoi dati rimangono nel tunnel crittografato e lo lasciano solo quando hanno raggiunto la tua connessione Internet domestica ed escono su Internet.
Nello scenario uno stai navigando a cielo aperto; nello scenario due puoi accedere alla tua banca o ad altri siti web privati con la stessa sicurezza che faresti dal tuo computer di casa.
Sebbene nel nostro esempio abbiamo utilizzato il Wi-Fi, potresti utilizzare il tunnel SSH per proteggere una connessione hardline, ad esempio, per avviare un browser su una rete remota e fare un buco nel firewall per navigare liberamente come faresti con la tua connessione domestica.
Suona bene, vero? È incredibilmente facile da configurare, quindi non c'è tempo come il presente: puoi avere il tuo tunnel SSH attivo e funzionante entro un'ora.
Cosa ti servirà
Esistono molti modi per configurare un tunnel SSH per proteggere la tua navigazione web. Per questo tutorial ci stiamo concentrando sulla configurazione di un tunnel SSH nel modo più semplice possibile con il minimo sforzo per un utente con un router domestico e macchine basate su Windows. Per seguire il nostro tutorial avrai bisogno delle seguenti cose:
- Un router che esegue l'estensione Pomodoro o DD-WRT firmware modificato.
- Un client SSH come PuTTY .
- Un browser web compatibile con SOCKS come Firefox .
Per la nostra guida utilizzeremo Tomato ma le istruzioni sono quasi identiche a quelle che seguiresti per DD-WRT, quindi se utilizzi DD-WRT sentiti libero di seguirle. Se non hai modificato il firmware sul router, controlla la nostra guida all'installazione di DD-WRT e Pomodoro prima di procedere.
Generazione di chiavi per il nostro tunnel crittografato
Sebbene possa sembrare strano saltare direttamente alla generazione delle chiavi prima ancora di configurare il server SSH, se abbiamo le chiavi pronte saremo in grado di configurare il server in un unico passaggio.
Scarica il file pacchetto PuTTY completo ed estrarlo in una cartella di tua scelta. All'interno della cartella troverai PUTTYGEN.EXE. Avvia l'applicazione e fai clic Chiave -> Genera coppia di chiavi . Vedrai una schermata molto simile a quella nella foto sopra; muovi il mouse per generare dati casuali per il processo di creazione della chiave. Una volta terminato il processo, la finestra del generatore di chiavi PuTTY dovrebbe essere simile a questa; vai avanti e inserisci una password complessa:
Dopo aver inserito una password, vai avanti e fai clic Salva chiave privata . Metti il file .PPK risultante da qualche parte al sicuro. Copia e incolla il contenuto della casella "Chiave pubblica per incollare ..." in un documento TXT temporaneo per ora.
Se prevedi di utilizzare più dispositivi con il tuo server SSH (come un laptop, un netbook e uno smartphone), devi generare coppie di chiavi per ogni dispositivo. Vai avanti e genera, password e salva le coppie di chiavi aggiuntive di cui hai bisogno ora. Assicurati di copiare e incollare ogni nuova chiave pubblica nel documento temporaneo.
Configurazione del router per SSH
Sia Tomato che DD-WRT hanno server SSH integrati. Questo è fantastico per due motivi. Innanzitutto, era un problema enorme telnet nel router per installare manualmente un server SSH e configurarlo. In secondo luogo, poiché stai eseguendo il tuo server SSH sul router (che probabilmente consuma meno energia di una lampadina), non devi mai lasciare il tuo computer principale acceso solo per un server SSH leggero.
Apri un browser web su una macchina connessa alla tua rete locale. Passa all'interfaccia web del tuo router, per il nostro router, un Linksys WRT54G che esegue Tomato, l'indirizzo è http://192.168.1.1 . Accedi all'interfaccia web e vai a Amministrazione -> SSH Daemon . Lì devi controllare entrambi Abilita all'avvio e Accesso remoto . Puoi cambiare la porta remota se lo desideri, ma l'unico vantaggio di farlo è che offusca marginalmente il motivo per cui la porta è aperta se qualcuno ti scansiona. Deseleziona Consenti accesso tramite password . Non useremo un login con password per accedere al router da lontano, useremo una coppia di chiavi.
Incolla le chiavi pubbliche generate nell'ultima parte del tutorial nel file Authorized_keys scatola. Ogni chiave dovrebbe essere la propria voce separata da un'interruzione di riga. La prima parte della chiave ssh-rsa è molto importante. Se non lo includi con ogni chiave pubblica, appariranno non validi per il server SSH.
Clic Parti ora quindi scorri verso il basso fino alla fine dell'interfaccia e fai clic su Salva . A questo punto il tuo server SSH è attivo e funzionante.
Configurazione del computer remoto per accedere al server SSH
Qui è dove avviene la magia. Hai una coppia di chiavi, hai un server attivo e funzionante, ma niente di tutto ciò ha alcun valore a meno che tu non sia in grado di connetterti in remoto dal campo e tunnel nel tuo router. È ora di tirare fuori il nostro fidato netbook con Windows 7 e mettersi al lavoro.
Innanzitutto, copia la cartella PuTTY che hai creato sull'altro computer (o semplicemente Scarica ed estrarlo di nuovo). Da qui in avanti tutte le istruzioni sono focalizzate sul tuo computer remoto. Se hai eseguito PuTTy Key Generator sul tuo computer di casa, assicurati di essere passato al tuo computer portatile per il resto del tutorial. Prima di stabilirti dovrai anche assicurarti di avere una copia del file .PPK che hai creato. Dopo aver estratto PuTTy e aver in mano il file .PPK, siamo pronti per procedere.
Avvia PuTTY. La prima schermata che vedrai è Sessione schermo. Qui dovrai inserire l'indirizzo IP della tua connessione Internet domestica. Questo non è l'IP del tuo router sulla LAN locale, questo è l'IP del tuo modem / router visto dal mondo esterno. Puoi trovarlo guardando la pagina di stato principale nell'interfaccia web del tuo router. Cambia la porta in 2222 (o qualunque cosa tu abbia sostituito nel processo di configurazione del daemon SSH). Assicurarsi SSH è selezionato . Vai avanti e dai un nome alla tua sessione Così che tu possa salvarla per usi futuri. Abbiamo intitolato il nostro Tomato SSH.
Navigare, tramite il riquadro di sinistra, fino a Connessione -> Aut . Qui è necessario fare clic sul pulsante Sfoglia e selezionare il file .PPK salvato e trasferito sul computer remoto.
Mentre ti trovi nel sottomenu SSH, continua fino a SSH -> Tunnel . È qui che configureremo PuTTY per funzionare come server proxy per il tuo computer mobile. Seleziona entrambe le caselle sotto Port forwarding . Di seguito, nel Aggiungi nuova porta inoltrata sezione, inserisci 80 per Porta di origine e l'indirizzo IP del tuo router per il Destinazione . Dai un'occhiata Auto e Dinamico quindi fare clic su Inserisci .
Controlla che sia apparsa una voce nel file Porte inoltrate scatola. Torna indietro nel file Sessioni sezione e fare clic su Salva di nuovo per salvare tutto il lavoro di configurazione. Ora fai clic Aperto . PuTTY lancerà una finestra di terminale. A questo punto potresti ricevere un avviso che indica che la chiave host del server non è nel registro. Vai avanti e conferma che ti fidi dell'host. Se sei preoccupato, puoi confrontare la stringa dell'impronta digitale che ti dà nel messaggio di avviso con l'impronta digitale della chiave che hai generato caricandola in PuTTY Key Generator. Dopo aver aperto PuTTY e fatto clic sull'avviso, dovresti vedere una schermata simile a questa:
Al terminale dovrai solo fare due cose. Al prompt di accesso digitare radice . Alla richiesta della passphrase inserire la password del portachiavi RSA - questa è la password che hai creato pochi minuti fa quando hai generato la tua chiave e non la password del tuo router. La shell del router verrà caricata e avrai finito al prompt dei comandi. Hai stabilito una connessione sicura tra PuTTY e il router di casa. Ora dobbiamo istruire le tue applicazioni su come accedere a PuTTY.
Nota: se vuoi semplificare il processo al prezzo di diminuire leggermente la tua sicurezza, puoi generare una coppia di chiavi senza password e impostare PuTTY per accedere automaticamente all'account root (puoi attivare questa impostazione in Connetti -> Dati -> Accesso automatico ). Ciò riduce il processo di connessione PuTTY semplicemente aprendo l'app, caricando il profilo e facendo clic su Apri.
Configurazione del browser per connettersi a PuTTY
A questo punto del tutorial il tuo server è attivo e funzionante, il tuo computer è connesso e rimane solo un passaggio. È necessario indicare alle applicazioni importanti di utilizzare PuTTY come server proxy. Qualsiasi applicazione che supporti CALZINI protocollo può essere collegato a PuTTY, come Firefox, mIRC, Thunderbird e uTorrent, solo per citarne alcuni, se non sei sicuro che un'applicazione supporti SOCKS cerca nei menu delle opzioni o consulta la documentazione. Questo è un elemento critico da non trascurare: tutto il tuo traffico non viene instradato attraverso il proxy PuTTY per impostazione predefinita; esso dovere essere collegato al server SOCKS. Ad esempio, potresti avere un browser web in cui hai attivato SOCKS e un browser web in cui non l'hai fatto, entrambi sulla stessa macchina, e uno crittograferebbe il tuo traffico e l'altro no.
Per i nostri scopi, vogliamo proteggere il nostro browser Web, Firefox Portable, che è abbastanza semplice. Il processo di configurazione di Firefox si traduce praticamente in qualsiasi applicazione per la quale dovrai inserire le informazioni SOCKS. Avvia Firefox e vai a Opzioni -> Avanzate -> Impostazioni . Dall'interno di Impostazioni di connessione menu, selezionare Configurazione proxy manuale e sotto SOCKS Host plug in 127.0.0.1 - Ti stai connettendo all'applicazione PuTTY in esecuzione sul tuo computer locale, quindi devi inserire l'IP dell'host locale, non l'IP del router come hai inserito finora in ogni slot. Imposta la porta su 80 e fare clic su OK.
Abbiamo un piccolo aggiustamento da applicare prima di essere pronti. Firefox, per impostazione predefinita, non instrada le richieste DNS attraverso il server proxy. Ciò significa che il tuo traffico sarà sempre crittografato ma qualcuno che ficcanaso la connessione vedrebbe tutte le tue richieste. Saprebbero che eri su Facebook.com o Gmail.com ma non sarebbero in grado di vedere nient'altro. Se desideri instradare le tue richieste DNS tramite SOCKS, dovrai attivarlo.
genere about: config nella barra degli indirizzi, quindi fai clic su "Starò attento, lo prometto!" se ricevi un avviso severo su come puoi rovinare il tuo browser. Incolla network.proxy.socks_remote_dns nel Filtro: casella e quindi fare clic con il pulsante destro del mouse sulla voce per network.proxy.socks_remote_dns e Attiva / disattiva a Vero . Da qui in avanti, sia la tua navigazione che le tue richieste DNS verranno inviate attraverso il tunnel SOCKS.
Anche se stiamo configurando il nostro browser per SSH in ogni momento, potresti voler cambiare facilmente le tue impostazioni. Firefox ha una comoda estensione, FoxyProxy , questo rende semplicissimo attivare e disattivare i tuoi server proxy. Supporta tantissime opzioni di configurazione come il passaggio da un proxy all'altro in base al dominio in cui ti trovi, ai siti che stai visitando, ecc. Se vuoi essere in grado di disattivare facilmente e automaticamente il tuo servizio proxy a seconda che ti trovi in a casa o fuori, ad esempio, FoxyProxy ti copre. Gli utenti di Chrome vorranno effettuare il check-out Proxy Switchy! per funzionalità simili.
Vediamo se tutto ha funzionato come previsto, va bene? Per testare le cose abbiamo aperto due browser: Chrome (visto a sinistra) senza tunnel e Firefox (visto a destra) appena configurato per utilizzare il tunnel.
A sinistra vediamo l'indirizzo IP del nodo Wi-Fi a cui ci stiamo connettendo ea destra, per gentile concessione del nostro tunnel SSH, vediamo l'indirizzo IP del nostro router distante. Tutto il traffico di Firefox viene instradato attraverso il server SSH. Successo!
Hai un consiglio o un trucco per proteggere il traffico remoto? Usa un server SOCKS / SSH con un'app particolare e ti piace? Hai bisogno di aiuto per capire come crittografare il tuo traffico? Sentiamolo nei commenti.