Imposta SSH sul tuo router per un accesso Web sicuro da qualsiasi luogo



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 facilmente configurare il tuo router per supportare un tunnel sicuro e proteggere il traffico del tuo browser remoto: continua a leggere per vedere come.

Che cos'è e perché impostare un tunnel sicuro?

Potresti essere curioso di sapere perché vorresti persino impostare un tunnel sicuro dai tuoi dispositivi al router di casa e quali vantaggi trarrai da un progetto del genere. Esponiamo un paio di scenari diversi che coinvolgono l'utilizzo di Internet per illustrare i vantaggi del tunneling sicuro.





Scenario uno: sei in un bar e stai usando il tuo laptop per navigare in Internet tramite la connessione Wi-Fi gratuita. I dati lasciano il tuo modem Wi-Fi, viaggiano attraverso l'aria non crittografati al nodo Wi-Fi nella caffetteria e poi vengono trasmessi a Internet più grande. Durante la trasmissione dal tuo computer a Internet, i tuoi dati sono completamente aperti. Chiunque abbia un dispositivo Wi-Fi in 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, parlando in un telefono che parla cinese mandarino. Nel momento in cui entra qualcuno che parla cinese mandarino (lo sniffer Wi-Fi), la tua pseudo-privacy va in frantumi.

Scenario due: sei in un bar e stai usando il tuo laptop per navigare di nuovo in Internet tramite la loro 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 router di casa che funziona come un server proxy. Questa pipeline è impenetrabile per gli sniffer Wi-Fi che non vedrebbero altro che un flusso confuso di dati crittografati. Non importa quanto sia subdola la struttura, quanto sia insicura la connessione Wi-Fi, i tuoi dati rimangono nel tunnel crittografato e lo lasciano solo una volta che hanno raggiunto la tua connessione Internet domestica e sono usciti su Internet.



Nello scenario uno stai navigando completamente aperto; nello scenario due puoi accedere alla tua banca o ad altri siti web privati ​​con la stessa sicurezza che avresti dal tuo computer di casa.

Annuncio pubblicitario

Sebbene nel nostro esempio abbiamo utilizzato il Wi-Fi, potresti utilizzare il tunnel SSH per proteggere una connessione hardline per, ad esempio, avviare un browser su una rete remota e praticare un foro attraverso il 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 il 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 stai utilizzando DD-WRT sentiti libero di seguirlo. Se non hai modificato il firmware sul tuo 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 passare 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 pacchetto completo di mastice ed estrailo in una cartella a tua scelta. All'interno della cartella troverai PUTTYGEN.EXE. Avvia l'applicazione e fai clic su 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 di PuTTY Key Generator dovrebbe essere simile a questa; vai avanti e inserisci una password complessa:

Annuncio pubblicitario

Dopo aver inserito una password, vai avanti e fai clic su Salva chiave privata . Conserva il file .PPK risultante in un posto 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 enorme problema telnet nel router per installare manualmente un server SSH e configurarlo. In secondo luogo, poiché stai eseguendo il tuo server SSH sul tuo 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. Vai all'interfaccia web del tuo router, per il nostro router—un Linksys WRT54G con Tomato—l'indirizzo è https://redirect.viglink.com/?key=204a528a336ede4177fff0d84a044482&u=http%3A%2F%2F192.168.1.1 . Accedi all'interfaccia web e vai a Amministrazione -> Demone SSH . 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 esegue la scansione. Deseleziona Consenti accesso con password . Non utilizzeremo una password di accesso per accedere al router da lontano, utilizzeremo una coppia di chiavi.

Incolla le chiavi pubbliche che hai generato nell'ultima parte del tutorial nel Chiavi autorizzate scatola. Ogni chiave dovrebbe essere una propria voce separata da un'interruzione di riga. La prima parte della chiave ssh-rsa è molto importante. Se non lo includi con ciascuna chiave pubblica, sembreranno non validi per il server SSH.

Clic Parti ora e quindi scorrere verso il basso fino alla fine dell'interfaccia e fare 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 nulla di tutto ciò ha alcun valore a meno che tu non sia in grado di connetterti in remoto dal campo e di eseguire il tunneling nel tuo router. È ora di tirare fuori il nostro fidato netbook con Windows 7 e metterci al lavoro.

Annuncio pubblicitario

Innanzitutto, copia la cartella PuTTY che hai creato sull'altro computer (o semplicemente Scarica ed estrarlo di nuovo). Da qui 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 mobile per il resto del tutorial. Prima di accontentarti dovrai anche assicurarti di avere una copia del file .PPK che hai creato. Una volta estratto PuTTy e il .PPK in mano, siamo pronti per procedere.

Avvia PuTTY. La prima schermata che vedrai è la 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 demone SSH). Assicurarsi SSH è selezionato . Vai avanti e dai un nome alla tua sessione Così che tu possa salvarlo per uso futuro. Abbiamo intitolato il nostro Tomato SSH.

Navigare, tramite il riquadro di sinistra, verso il basso fino a Connessione -> Aut . Qui devi fare clic sul pulsante Sfoglia e selezionare il file .PPK che hai salvato e portato sul tuo computer remoto.

Mentre sei 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 . Sotto, nel Aggiungi nuova porta inoltrata sezione, inserisci 80 per il Porta di origine e l'indirizzo IP del router per il Destinazione . Dai un'occhiata Auto e Dinamico quindi fare clic su Aggiungere .

Ricontrolla che sia apparsa una voce nel Porte inoltrate scatola. Torna indietro nel sessioni sezione e clicca Salva di nuovo per salvare tutto il lavoro di configurazione. Ora clicca Aprire . PuTTY avvierà 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 aver fatto clic sull'avviso, dovresti vedere una schermata simile a questa:

Annuncio pubblicitario

Al terminal dovrai fare solo due cose. Al prompt di accesso digitare radice . Al prompt della passphrase inserisci la password del tuo 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 il gioco è fatto al prompt dei comandi. Hai creato una connessione sicura tra PuTTY e il router di casa. Ora dobbiamo istruire le tue applicazioni su come accedere a PuTTY.

Nota: se desideri semplificare il processo al prezzo di ridurre 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 alla semplice apertura dell'app, al caricamento del profilo e al 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 ad esso e rimane solo un passaggio. Devi dire alle applicazioni importanti di usare PuTTY come server proxy. Qualsiasi applicazione che supporti CALZINI 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 che non dovrebbe essere trascurato: tutto il tuo traffico non viene instradato attraverso il proxy PuTTY per impostazione predefinita; esso dovere essere collegato al server SOCKS. Potresti, ad esempio, 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 per Firefox si traduce praticamente in qualsiasi applicazione per la quale dovrai collegare le informazioni SOCKS. Avvia Firefox e vai a Opzioni -> Avanzate -> Impostazioni . Dall'interno del Impostazioni di connessione menu, selezionare Configurazione manuale del proxy 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 tuo router come hai inserito finora in ogni slot. Imposta la porta su 80 e fare clic su OK.

Abbiamo una piccola modifica 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 fiuta la connessione vedrà 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.

Tipo about:config nella barra degli indirizzi, quindi fai clic su Starò attento, promesso! se ricevi un avvertimento severo su come puoi rovinare il tuo browser. Impasto network.proxy.socks_remote_dns dentro 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 poi, sia la tua navigazione che le tue richieste DNS verranno inviate attraverso il tunnel SOCKS.

Annuncio pubblicitario

Sebbene stiamo configurando il nostro browser per SSH sempre, potresti voler cambiare facilmente le tue impostazioni. Firefox ha una comoda estensione, FoxyProxy , che rende super facile 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 in base alla tua a casa o fuori, ad esempio, FoxyProxy ti copre. Gli utenti di Chrome vorranno dare un'occhiata Cambio proxy! per funzionalità simili.

Vediamo se tutto ha funzionato come previsto, vero? 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 e a destra, per gentile concessione del nostro tunnel SSH, vediamo l'indirizzo IP del nostro router lontano. Tutto il traffico di Firefox viene instradato attraverso il server SSH. Successo!


Hai un consiglio o un trucco per proteggere il traffico remoto? Usi un server SOCKS/SSH con un'app particolare e ti piace? Hai bisogno di aiuto per capire come crittografare il tuo traffico? Sentiamone parlare nei commenti.

LEGGI SUCCESSIVO Foto del profilo di Jason Fitzpatrick Jason Fitzpatrick
Jason Fitzpatrick è l'editore capo di LifeSavvy, il sito gemello di How-To Geek incentrato su trucchi, suggerimenti e trucchi per la vita. Ha oltre un decennio di esperienza nella pubblicazione e ha scritto migliaia di articoli su Review Geek, How-To Geek e Lifehacker. Jason è stato l'editor del weekend di Lifehacker prima di entrare a far parte di How-To Geek.
Leggi la biografia completa

Articoli Interessanti