Mettere in sicurezza la rete di casa

Contattato da diverse persone, ho deciso di pubblicare alcuni appunti che – nel tempo – hanno costituito un argomento più volte condiviso con numerosi internauti ovvero come mettere in sicurezza la propria rete di casa, soprattutto quella parte di rete che espone i vostri documenti personali (files, fotografie, video ecc…) ai vari device collegati all’interno delle vostre mura domestiche.

La configurazione di rete che numerose famiglie si ritrovano in casa senza nemmeno saperlo, la si può riassumere con la figura seguente:

Tipicamente il modem ADSL (quello che in figura è schematizzato dal cilindro con le quattro frecce) è un dispositivo offerto in comodato d’uso dalla compagnia di telefonia. Attraverso di esso il servizio voce può essere veicolato sia in maniera tradizionale (usando uno splitter che separa il canale voce da quello dati) oppure sfruttando il medesimo canale dati (in questo caso di parla di Voice-over-IP, ovvero VoIP).

Ma passiamo all’argomento di nostro interesse: quanto è sicura la rete LAN alla quale colleghiamo i nostri dispositivi di casa? Quanto è possibile, dal mondo esterno, arrivare ai nostri documenti privati? La risposta non è semplice ma come primo tentativo si può certamente rispondere dicendo che dipende da come è configurato il modem ADSL.

Ora, non tutti forse sanno che i modem di alcune compagnie non sono configurabili a piacimento: ci sono alcune parametrizzazioni fissate “di fabbrica”, che non permettono all’utente – anche al più esperto – di configurare al meglio il proprio device. Non solo: non sempre questi dispositivi offrono il massimo della sicurezza. Un tipico esempio, seppur banale, è quello della Vodafone Station la cui password di rete (WPA2) può essere visualizzata in chiaro con una rapida sequenza di tasti eseguibile direttamente sul dispositivo. Per non parlare di chi, agli amici che lo vengono a trovare, comunica a voce la password di rete per poter condividere la connettività Internet. E via dicendo…

Insomma, ci poniamo questa domanda: è possibile creare una seconda rete più sicura all’interno di quella attualmente presente in casa? Una rete accedibile solo da alcuni dispositivi autorizzati e ben configurati? Una rete all’interno della quale i nostri documenti più preziosi sono al sicuro da attacchi esterni? Pur confidando nella buona fede dei vostri amici appena tornati dalle vacanze, con laptop alla mano per farvi vedere le loro fotografie, è possibile lasciarli collegare alla vostra WiFi senza il rischio che un virus possa cancellare i vostri dati più preziosi? La risposta è sì. Lo schema che segue ne rappresenta una configurazione minimale e funzionante:

Come prima cosa bisogna procurarsi un piccolo firewall/router (in colore blu nello schema), ovvero un dispositivo che possiede almeno 2 porte fisiche e che avrà il compito di separare la nuova rete “sicura” da quella esistente. Di questi dispositivi ce ne sono parecchi in Internet: con poche decine di euro si riescono a trovare soluzioni di buona qualità, anche con la componente wireless integrata (che vi permetterà di accedere via WiFi alla rete sicura).

Successivamente questo dispositivo andrà opportunamente configurato di modo che possa “vedere” le due sottoreti separatamente e, mediante le proprie regole interne, poter decidere quale traffico far passare e quale no. Una configurazione di esempio di questo dispositivo, considerando che il modem ADSL mappi la sottorete 192.168.0.0./24, è la seguente:

IP porta WAN:  192.168.0.2/24 (se modem ADSL su 192.168.0.1)
IP porta LAN:  192.168.1.1/24
DHCP:          attivo sul range 192.168.1.2-100
Gateway:       192.168.0.1
Primary DNS:   192.168.0.1
Secondary DNS: n/d

Nel caso in cui il modem ADSL avesse il DHCP attivato, l’indirizzo IP della porta WAN non dovrà andare in conflitto con il range di assegnazione degli IP: in taluni casi è opportuno fissare come 192.168.0.254.

La configurazione minimale è completata, anche perchè – in genere – i firewall/router possiedono già una configurazione standard sicura (nulla toglie, tuttavia, di mettere mano ad alcuni parametri).

A questo punto sarete voi a decidere a quale rete collegare i vostri dispositivi. Tipicamente i telefonini, i tablet e i device degli amici potranno continuare a collegarsi al WiFi standard del modem ADSL mentre altri dispositivi come computer desktop, laptop e dispositivi multimediali come le console da gioco (usate magari per accedere via DLNA ad un disco di rete) potranno connettersi, via cavo o via WiFi, alla rete sicura che avete predisposto.

Vodafone Station – Alcune cose da sapere

Vodafone Station RevolutionI fortunati possessori della Vodafone Station 2 e della Vodafone Station Revolution avranno scoperto, come me, alcuni chiari vantaggi di questa soluzione, primo fra tutti una maggiore e più stabile larghezza di banda, dovuta anche alla conversione in VoIP della parte fonia (che permette di sfruttare quella parte di canale “voce” per i dati, rendendo in tal modo la banda “più larga” e quindi il segnale più robusto). Anche la fibra (in tutte le sue versioni) rappresenta un ottimo servizio, che porta la banda disponibile da 50 Mbps in su. Tuttavia, abituati alle libertà di qualche altro provider tradizionale, si scoprono ben presto anche alcune limitazioni di questo dispositivo che cercherò di riassumere nel seguente elenco:

  • DHCP: nonostante un pannello di controllo abbastanza configurabile, la Vodafone Station viene fornita con un DHCP sempre attivo, non configurabile nè disattivabile. Ciò significa dover disattivare qualsiasi altro DHCP presente all’interno della vostra LAN sullo stesso spazio di indirizzi (tipico esempio un access point casalingo) ed accettare che la Vodafone Station assegni gli indirizzi nell’intero range della vostra subnet come meglio crede. Il range “standard” offerto dalla Station è la classica rete 192.168.1.0/24 configurabile a piacere con pochi click: tuttavia il DHCP vi seguirà come un’ombra. Nell’immagine sotto viene riportato l’esempio di una Station configurata nello spazio di rete 192.168.0.0/24: come si vede, non ci sono parametri per la disabilitazione del DHCP, solo la reservation.

  • Hostnames: la Vodafone Station crea un dominio DNS locale chiamato vodafone.station sul quale mappa tutti i dispositivi collegati e da lei riconosciuti. Peccato che non sia possibile assegnare un nome “ragionato” per ognuno di questi, che nel caso migliore vengono chiamati “computer” o qualcosa di ancor più generico. Nel caso sotto riportato “computer” è in realtà un router-access point della TP-Link:

  • DNS ed enrollment: è la parte più dolente della Vodafone Station. Forse impostato in questo modo per poter “interagire” con l’utente medio fin dal primo momento (imponendo alcuni pop-up via browser al primo collegamento) e per gestire al meglio il propri servizi di “rete sicura”, la Vodafone Station intercetta tutto il traffico DNS imponendo un proprio sistema di name resolution: non c’è verso di poter configurare all’interno della Station un DNS pubblico, nemmeno inserendolo esplicitamente all’interno della configurazione di rete del proprio computer. Questo meccanismo garantisce alla Vodafone Station un processo di enrollment browser-based di qualsiasi nuovo dispositivo che si aggancia per la prima volta alla LAN via protocollo HTTP, iniettando nel browser una pagina web di benvenuto (generata dalla Station) con alcuni script Java-based che leggono l’indirizzo MAC del dispositivo, lo registrano e gli assegnano un nome all’interno del dominio vodafone.station della vostra LAN. Questo processo avviene solamente una volta, al primo accesso mediante il nuovo dispositivo, dopodichè il riconoscimento è del tutto trasparente.

Vodafone Station 2Non pochi problemi ho quindi avuto con un Raspberry PI presente all’interno della mia LAN. Infatti il comando “apt-get update”, essendo http-based, non riusciva a funzionare poichè la Station, non riconoscendo l’indirizzo MAC del Raspberry ma intercettando traffico http, lo reindirizzava alla pagina HTML di enrollment (Java-based!) dando il benvenuto e chiedendo di “Abilitare” (tramite click!) la sorgente chiamante. Così pure mi si bloccavano diverse istruzioni che viaggiavano su canale http quali ad esempio “curl” e “wget”. In altre parole: qualsiasi dispositivo che viene visto per la prima volta dalla Vodafone Station, se non provvisto di browser web, non può essere “registrato” e quindi non può navigare verso Internet: ciò può accedere anche con alcune smart-TV oppure con alcuni lettori multimediali che necessitano di collegarsi ad Internet su canale HTTP, non avendo essi alcun browser web interno per confermare l’abilitazione.

Questo problema l’ho risolto con il seguente workaround: aprite un qualsiasi browser (da un computer di casa) ed inserire questa stringa, dove al posto di <indirizzo MAC> si dovrà indicare l’indirizzo MAC del dispositivo da registrare nella Station (attenzione, le parentesi non devono comparire!):

vodafone.station/?page=dashboard_wizard.html&host_mac=<indirizzo MAC>

Problema risolto!

Un commento finale: la Vodafone Station è sicuramente un ottimo dispositivo, con alcune fastidiose limitazioni dovute al fatto che il traffico viene in qualche modo intercettato e “proxato” da Vodafone per i suoi servizi aggiuntivi a pagamento: quindi dimenticatevi DNS alternativi a meno di non attivare un abbonamento VPN per la navigazione sicura con qualche altro servizio offerto da terzi. Dimenticatevi pure il DHCP “autonomo”. Tuttavia questo ultimo aspetto sono riuscito a risolverlo segmentando la mia rete con un router e lasciando la Station “da sola” come solo gateway di navigazione Internet e mappando il resto della mia rete (con DHCP autonomi) come meglio credevo. Ho infatti inserito la Vodafone Station all’interno della sottorete 192.168.0.0/24 separandola con un router TP-Link dalla sottorete 192.168.1.0/24. Ecco qui uno schema semplificato:

Subnet Vodafone

Aggiornamento: grazie a VMax, che ha indicato un modo per usare dei DNS alternativi. I server DNS di opendns rispondono infatti anche sulle porte 443 e 5353, non intercettate dalla Vodafone Station (che controlla solo la porta 53).

Utilizzare Postfix con Gmail

Dopo vari tentativi di inviare notifiche via e-mail tramite Postfix, risultati vani, sono riuscito ad ottenere una configurazione perfettamente funzionante utilizzando Gmail come relay host. Infatti, l’invio in modalità diretta di e-mail dall’SMTP Server Postfix verso caselle di posta in Internet viene in genere bloccato dalla destinazione, in quanto il server Postfix – configurato all’interno di una rete locale casalinga collegata ad Internet con indirizzi IP dinamici – non viene riconosciuto come un server di posta sicuro. In altri termini come un potenziale server di spam.

Ho dunque utilizzato il server SMTP di Gmail, superando – con la configurazione che segue – alcuni noti problemi documentati in Internet (tra i quali il problema “Must issue a STARTTLS command first”).

Riporto dunque le uniche righe di configurazione che devono comparire all’interno del file main.cf posto in /etc/postfix e precisamente:

inet_protocols = ipv4
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtp_sasl_security_options =
relayhost = [smtp.gmail.com]:587
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options =
smtpd_recipient_restrictions = permit_mynetworks permit_inet_interfaces

Come è facile intuire, la riga relayhost indica appunto il relay host di Gmail e la porta sulla quale eseguire l’autenticazione.

E’ inoltre necessario che il file sasl_password posto nella directory /etc/postfix contenga un’unica riga con user-id e password per l’autenticazione al server SMTP:

[smtp.gmail.com]:587 nome.cognome@gmail.com:password

Per quanto riguarda la password, ho utilizzato una password per applicazioni generata all’interno del mio account Gmail.

Riavviate il server e tutto funzionerà perfettamente.