Connettersi in sicurezza con hot spot Wi-Fi pubblici

Usando il firmware DD-WRT insieme a SSH è possibile attivare un canale di comunicazione cifrato. Ecco i passi necessari.

DD-WRT è un firmware personalizzato in grado di supportare decine di
router differenti, delle marche più disparate. Il software viene rilasciato
sotto licenza GNU GPLv2 ed è quindi utilizzabile senza problemi in qualunque
contesto d’impiego, sia in ambienti domestici che commerciali.

Il firmware di un dispositivo qual è un router può essere pensato
come un “programma” integrato capace di interagire con i vari componenti
hardware. In apparati di media complessità quali sono i router, il termine
firmware ha un significato più ampio stando ad indicare anche il vero
e proprio sistema operativo preinstallato nel dispositivo.

Tutti i moderni router dispongono di una comoda interfaccia web che, accessibile
semplicemente ricorrendo al browser, permette di gestire in modo agevole la
configurazione del device e regolare in profondità il suo comportamento.

Quando si acquista un router, di qualunque marca, questo utilizza di default
un firmware (da mantenere possibilmente aggiornato nel corso del tempo attraverso
l’applicazione degli update ufficiali) sviluppato dai tecnici dell’azienda produttrice.

Talvolta, però, alcune interessanti funzionalità non sono implementate
direttamente all’interno del firmware ufficiale: un prodotto a costo zero quale
DD-WRT consente di abilitare caratteristiche di grande interesse
per gli utenti più esperti (routing statico, gestione di reti VPN, esecuzione
di operazione su base programmatica e così via).

Se si dispone di un router ormai fuori garanzia e si volessero saggiare i
vantaggi derivanti dall’impiego di DD-WRT, è sufficiente fare riferimento
al sito web ufficiale del progetto per ottenere tutte le informazioni del caso.

In particolare, la prima operazione da effettuare, consiste nel cercare il
modello del proprio router all’interno del database di DD-WRT (ved. questa pagina).
Digitando il modello del dispositivo di cui si è in possesso, è
possibile stabilire immediatamente se tale router sia o meno supportato da DD-WRT.
Alcuni router, ad esempio quelli equipaggiati con il chipset Marvell, non supportano
in nessun modo l’installazione del firmware DD-WRT.

Attenzione! L’installazione di DD-WRT effettuata “con
leggerezza” e senza seguire attentamente tutti i passaggi raccomandati
potrebbe condurre al cosiddetto “bricking” del dispositivo ovvero
all’impossibilità di accedervi. Suggeriamo quindi di agire con la massima
cautela tenendo presente che qualunque modifica apportata al funzionamento del
router viene effettuata sotto la vostra piena ed esclusiva responsabilità.
In questo articolo vogliamo fornire solamente alcuni indicazioni a valore generale
che però dovranno essere approfondite consultando il sito ufficiale di
DD-WRT e le pagine di supporto per ciascun modello di router.

Hard reset del route
Prima di installare il firmware DD-WRT è sempre necessario effettuare
un hard reset del router. Così facendo si perderanno tutte le configurazioni
personalizzate precedentemente applicate al dispositivo. L’operazione di hard
reset si concretizza nella cosiddetta procedura 30/30/30.

Illustrata dettagliatamente a questo
indirizzo
, può essere riassunta in tre passi: il primo, consiste
nella pressione del pulsante “reset” del router per un periodo di
tempo pari a 30 secondi; in seconda battuta – sempre tendendo premuto
il pulsante “reset” del router – si dovrà scollegare
il dispositivo per 30 secondi; infine, come ultimo passo, si dovrà ricollegare
il device alla rete elettrica continuando a mantenere premuto il tasto di “reset”
per ulteriori 30 secondi.

La medesima prassi deve essere applicata prima e dopo qualunque upgrade o
downgrade del firmware. Infine, non si debbono mai usare file di backup della
configurazione del browser che siano stati generati con differenti versioni
del firmware adottato.

Come attivare un canale di comunicazione cifrato con SSH e DD-WRT
Tra le innumerevoli funzionalità addizionali introducibili mediante l’installazione
del firmware DD-WRT, vi sono gli strumenti che consentono di allestire agevolmente
un server SSH.

Quando ci si collega ad un access point Wi-Fi che non sia sufficientemente
protetto o, peggio, sia gestito da sconosciuti, i dati che si inviano e si ricevono
via Internet potrebbero cadere nelle mani di utenti malintenzionati.

Le informazioni in transito che non vengano in qualche modo crittografate,
infatti, possono essere agevolmente “spiate” da un aggressore che
non dovrebbe far altro che servirsi di un potente software quale Wireshark.

A tal proposito, si pensi anche al clamore sollevato a suo tempo dalla pubblicazione
di Firesheep, un plugin per il browser Mozilla Firefox capace di “rubare”
i dati di autenticazione degli utenti che usano Facebook, Twitter ed altri servizi
online (quando collegati alla medesima rete locale dell’aggressore e quando
non è attivato l’impiego del protocollo HTTPS).

Utilizzando il protocollo SSH ed il server impostato sul router DD-WRT si potrà
predisporre un accesso remoto che consenta di far riferimento alla rete locale
domestica od aziendale per la navigazione in Rete, anche se ci si sta connettendo
ad Internet dall’altro capo del mondo.

Il “benefit” aggiuntivo consiste nel disporre di un canale di comunicazione
(un “tunnel”) cifrato posto in essere tra il router e la locazione
remota dalla quale si accede alla Rete.

Chi dispone di un router già aggiornato con successo a DD-WRT non dovrebbe
incontrare alcuna difficoltà nel predisporre un impianto del genere.

Generazione delle chiavi
Prima di configurare il server SSH sul router aggiornato a DD-WRT, il primo
passo consiste nel generare una coppia di chiavi da utilizzare per crittografare
il canale di comunicazione.

Allo scopo, è possibile utilizzare PuTTY, nella versione completa prelevabile
facendo riferimento a questo
link
.

Dopo aver estratto il contenuto dell’archivio compresso in una cartella di
propria scelta, sul disco fisso, si potrà avviare l’eseguibile puttygen.exe
(PuTTY Key Generator).

Cliccando sul menù Key, Generate key pair, si dovrà muovere ripetutamente,
ed in modo casuale, il puntatore del mouse all’interno della finestra principale
di PuTTY Key Generator sintanto che la barra di avanzamento non sarà
completa. Si otterrà una schermata simile alla seguente:

Nelle caselle Key passphrase e Confirm passphrase si dovrà digitare
una password di propria scelta che sia sufficientemente lunga e complessa.

Facendo clic sul pulsante Save private key verrà memorizzata
sul disco la chiave privata (estensione .PPK).

Per quanto riguarda la chiave pubblica (mostrata nel riquadro Public key
for pasting into…
), si potrà temporaneamente salvarla, almeno
per il momento, in un normale file di testo.

Se si prevede di collegare col il server SSH su DD-WRT più dispositivi
diversi (notebook, smartphone, tablet,…), si dovrà aver cura di generare
una coppia di chiavi per ciascun device. Suggeriamo di annotare ogni chiave
pubblica prodotta all’interno del medesimo file di testo.

Configurazione del server SSH di DD-WRT
Il fatto che DD-WRT integri già, in modo predefinito, un server SSH,
salva l’utente dal dover effettuare ulteriori noiose operazioni di configurazione
(collegamento via telnet al router ed installazione manuale di un server SSH).

Un grandissimo vantaggio che deriva dall’aver a disposizione un server SSH
direttamente sul proprio router consiste nella possibilità di connettersi
a tale dispositivo senza che nessun altro sistema della LAN sia acceso. L’unico
device che deve essere mantenuto collegato alla rete Internet oltre che, ovviamente,
alla rete elettrica è appunto il router aggiornato a DD-WRT.

Utilizzando l’interfaccia web di DD-WRT, ci si dovrà collegare al pannello
di amministrazione del dispositivo (digitando, generalmente http://192.168.1.1
nel browser). Portandosi nella tabella Administration/Services, si
dovrà poi accedere alla sottosezione Services attivando la voce
SSHd.

La chiave pubblica precedentemente annotata, dovrà essere “incollata”
in corrispondenza del riquadro “Authorized key” (sezione
SSHd).

La prima parte delle chiavi pubbliche (ssh-rsa) è comunque molto importante
e deve essere sempre incollata. In mancanza di tale intestazione, il server
SSH di DD-WRT non riconoscerà la chiave come valida (altre informazioni
sono reperibili in questa pagina).

Impostare il computer per l’accesso remoto attraverso il tunnel cifrato
Per completare l’opera, è necessario estrarre il contenuto dell’archivio
di PuTTY sul sistema remoto che dovrà poi poter accedere in modo sicuro
al server SSH di DD-WRT. In prima battuta, sul personal computer remoto, si
dovrà avviare PuTTY facendo doppio clic sul file putty.exe.

Nella sezione “Session” si dovrà innanzi tutto indicare
l’IP remoto assegnato al router (si tratta dell’indirizzo, statico o dinamico,
attribuito dal provider Internet al momento della connessione) verificando che
la porta indicata sia quella riportata, lato server, su DD-WRT.

Come tipologia di connessione, è indispensabile optare per SSH.

Nella casella Saved sessions, si potrà assegnare un nome al
collegamento procedendo poi alla sua memorizzazione mediante la pressione del
pulsante Save.

E’ il momento di impostare la chiave privata generata in precedenza (file .PPK)
cliccando sulla voce Connection, su SSH quindi su Auth.
In corrispondenza della casella Private key file for authentication
si dovrà cliccare su Browse quindi scegliere il file .PPK prodotto
precedentemente con PuTTY Key Generator:

Dopo aver cliccato sulla voce Tunnels, collocata sempre nella colonna
di sinistra di PuTTY, si dovranno spuntare entrambe le caselle del riquadro
Port forwarding mentre poco più sotto si dovrà inserire
80 in Source port, specificare l’IP del router remoto nel
campo Destination, attivare Dynamic ed Auto quindi
cliccare su Add.

A questo punto, non bisognerà dimenticare di tornare alla scheda Sessions
e cliccare sul pulsante Save.

Cliccando sul pulsante Open verrà tentata la connessione al
server SSH remoto. Nel caso in cui dovesse apparire un messaggio d’allerta,
si potrà comunque confermare senza timori il collegamento.

Alla comparsa della finestra del terminale di PuTTY (a sfondo nero), l’unica
operazione da compiere consiste nel digitare root in corrispondenza dell’indicazione
Login as
.

Non appena apparirà la richiesta della passphrase, si dovrà digitare
quella definita in precedenza mediante PuTTY Key Generator. Si sarà così
creata una connessione sicura tra il client PuTTY ed il router installato nei
propri locali.

Fare in modo che il browser web si connetta al server SSH
Per concludere, è necessario impostare il browser affinché si
connetta a PuTTY ogniqualvolta dovesse essere richiesta la visita di una qualunque
pagina web.

Il traffico di rete originato dal sistema in uso non transiterà mai
attraverso PuTTY e non utilizzerà il tunnel cifrato a meno che non venga
collegato al server SOCKS del programma. Qualunque applicazione può essere
connesse al proxy server di PuTTY e scambiare dati attraverso il canale di comunicazione
sicuro appena allestito.

Nel caso di Mozilla Firefox (ma la configurazione è valida per qualunque
browser), basta accedere al menù Strumenti, Opzioni,
cliccare su Avanzate, sulla scheda Rete quindi sul pulsante
Impostazioni (“determina come Firefox si collega a Internet“).

Si dovrà quindi scegliere Configurazione manuale del proxy
ed, in corrispondenza di Host SOCKS, digitare 127.0.0.1 specificando
80 nella casella Porta.

Per chi vuole “esagerare”, c’è un’altra impostazione che si
rivela molto utile. Per il momento, infatti, abbiamo provveduto a reindirizzare
il traffico HTTP, sulla porta 80, verso il tunnel sicuro.

Le richieste DNS, tuttavia, non vengono trasmesse al server SSH remoto ma
continuano ad essere veicolate sulla connessione insicura alla quale si è
connessi.

Un malintenzionato potrebbe comunque riuscire, analizzando i pacchetti dati
in transito, a rilevare le richieste di connessione ai vari URL (ad esempio,
www.ilsoftware.it, www.facebook.com, www.google.it, e così via).

Affinché anche il traffico DNS venga reindirizzato sul tunnel cifrato,
nel caso di Mozilla Firefox, è necessario digitare about:config
nella barra degli indirizzi, e cerca la direttiva network.proxy.socks_remote_dns.
Impostandola a “true” (basta un semplice doppio clic), anche
le richieste DNS saranno trasmesse sul canale di comunicazione cifrato.

A questo punto, aprendo un sito web come DNSStuff, l’IP dal quale si apparirà
connessi (ved. l’indicazione posta in alto a sinistra, nella pagina di DNSStuff)
sarà proprio quello assegnato al router DD-WRT remoto.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome