sabato 7 gennaio 2017

Proteggere la privacy in Windows 10 (PARTE 3): bloccare i server Microsoft e quelli spia

AGGIORNAMENTO del 27/06/2019: questo articolo è stato aggiornato, consultare la nuova guida alla disattivazione della telemetria e dei server spia.
Nelle puntate precedenti di questa serie dedicata alla privacy, abbiamo visto come evitare l'invio automatico di dati da parte del sistema operativo e come minimizzare l'impatto della telemetria. In questo articolo vedremo come bloccare la comunicazione ai server Microsoft dedicati alla raccolta di questi dati e daremo qualche altra informazione utile.
Le impostazioni suggerite in questa serie di articoli sulla privacy si riferiscono a Windows 10 Anniversary Update, l'aggiornamento di Windows 10 rilasciato ad Agosto 2016 (che porta il numero di versione 1607) e dovranno essere ripetute ad ogni aggiornamento della versione di Windows 10. Per esempio, se avete eseguito le impostazioni in Windows 10 v1511 (Novembre 2015), dovrete ripeterle per Windows 10 v1607, e poi ripeterle di nuovo al prossimo avanzamento di versione di Windows 10 v1703 (Creators Update). Non è garantito che, con i futuri aggiornamenti di Windows, le opzioni descritte rimangano inalterate. Suggerisco ricontrollare le impostazioni in ogni caso dopo l'installazione ex-novo di Windows 10 e ad ogni suo aggiornamento maggiore (per esempio come da v1511 a v1607), nonché dopo l'installazione di applicazioni di comunicazione (chat, videotelefonia ecc.).

Recuperare gli indirizzi IP

Ogni dispositivo connesso in rete possiede un numero univoco che lo identifica, comunemente noto come "indirizzo IP". Se vogliamo comunicare con una risorsa in rete (un altro computer, un sito ecc.) dobbiamo conoscerne l'indirizzo IP, solitamente tuttavia ci è noto solo il nome (per esempio l'URL di un sito), mentre per recuperare il numero IP ci affidiamo ai meccanismi automatici messi a disposizione dal sistema operativo.
Per impostazione predefinita, la maggior parte dei sistemi operativi (Windows compreso) segue il seguente ordine per risolvere i nomi di risorse in rete:
  • prima consulta il file hosts, un piccolo file di testo all'interno del prorio file-system, e cerca all'interno di esso un numero IP che corrisponda alla risorsa desiderata;
  • se nel file hosts non c'è alcuna corrispondenza, Windows interroga i server DNS predefiniti per la connessione di rete;
  • solo per i sistemi Windows: se i precedenti metodi hanno fallito, Windows consulta il Netbios (un protocollo per condividere informazioni su una rete locale).

Il servizio Client DNS

Nel tentativo di velocizzare la velocità di reperimento degli IP, Windows usa un servizio chiamato Client DNS, che ha sia il compito di caricare in una memoria cache le voci eventualmente presenti nel file hosts che di registrare nella stessa cache le richieste fatte al DNS vero e proprio della connessione ad Internet.
Sulla carta è una buona idea: mantenere in una cache locale tutti gli IP già noti al sistema dovrebbe, almeno in teoria, velocizzarne il recupero. Tuttavia all'atto pratico questa maggior reattività non si nota oppure, se c'è, risulta inavvertibile all'utente. In compenso si possono avere diversi svantaggi:
  • se modificate "al volo" il file hosts, le modifiche potrebbero non essere recepite nella cache del servizio fino a quando non riavviate il computer (invece dovrebbero essere subito attive);
  • un file hosts di grosse dimensioni può intasare la cache del servizio, provocando un rallentamento della navigazione invece di una maggiore reattività (un problema evidente su computer con hardware obsoleto o con poca memoria RAM);
  • la cache del servizio potrebbe essere corrotta da un hijacker, ossia da un sofftware malevolo che ha lo scopo di redirigere il traffico in rete verso siti ostili.
Il servizio Client DNS non è necessario e può essere disabilitato: si risparmiano risorse (tempo di CPU e memoria RAM) e la risoluzione dei nomi di dominio avviene ugualmente per mezzo dei DNS (ormai talmente veloci ed efficienti che forniscono la risposta così rapidamente da non far rimpiangere la cache locale).
Per disabilitare il servizio, entrare in Windows come amministratore, aprire la finestra di esecuzione (Windows+R) e digitare services.msc. Scorrere la lista dei servizi, individuare Client DNS e selezionarlo con un doppio click del tasto sinistro del mouse; nella finestra a comparsa, selezionare la scheda Generale e in "Tipo di avvio" selezionare Disabilitato. Premere i pulsanti Applica, OK, chiudere la finestra dei servizi ed infine riavviare il computer.
Windows 10 - Client DNS
NOTA BENE: disabilitare il servizio Client DNS non ha influenza diretta sulla privacy, inoltre ci sarà sempre qualcuno pronto a giurarvi che rallenterete la navigazione dei siti che visitate più di frequente… Allora provateci! Navigate per un po' e vi renderete conto che i fantomatici rallentamenti non ci sono: come detto in precedenza, i moderni servizi DNS sono così rapidi che di fatto rendono questo servizio di Windows "inutile" (sempre che Microsoft, per imponderabili motivi, non decida di renderlo obbligatorio).

Disattivazione del servizio Client DNS se la modifica è disabilitata nei servizi

A partire da Windows 10 v1709 Fall Creators Update potrebbe essere impossibile disabilitare il servizio Client DNS, in quanto la voce non è selezionabile (la casella è in grigetto). In tal caso bisogna:
  • aprire il registro di configurazione di Windows (Windows+R, digitare regedit e premere Invio);
  • entrare in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache
  • individuare la chiave Start ed impostarla a 4 (impostare il valore 4 disabilita il servizio, il valore predefinito per i servizi in avvio automatico è 2;
  • chiudere il registro e riavviare Windows.
Dopo aver disabilitato il servizio Client DNS, il browser Microsoft Edge non è più in grado di navigare in Internet nel caso si usi una versione di Windows 10 inferiore all'Anniversary Update (v1607) senza gli aggiornamenti di Dicembre 2016. Essendo l'unico browser che non funziona, è un suo difetto. Questa situazione si è presentata  sin dall'introduzione di Windows 10 (Settembre 2014) su tutti i computer su cui ho installato il sistema e disabilitato il servizio. Gli aggiornamenti di Dicembre 2016 di Windows 10 Anniversary Update (v1607) e anche il successivo Creators Update (v1703) hanno ripristinato il funzionamento di Edge anche con il servizio "Client DNS" disabilitato. Pertanto, se avete la pessima abitudine di non aggiornare Windows 10, è possibile che dovrete navigare con un altro browser (Internet Explorer 11, Firefox e Chrome navigano senza problemi, anche se Windows 10 non è aggiornato ed il servizio "Client DNS" è disattivato).

Modificare il file HOSTS per bloccare i server spia

Se Client DNS è disabilitato, per risolvere i nomi di dominio Windows deve consultare prima il file hosts e in un secondo tempo interroga il DNS. Possiamo sfruttare ciò per bloccare i server Microsoft per la telemetria e la raccolta dei dati di feedback: un modo semplice di farlo è inserirli nel file hosts, reindirizzando le richieste in modo che cadano nel vuoto.
Bisogna innanzitutto procurarsi la lista dei server. Fortunatamente sono "pochi" (al momento in cui scrivo questo articolo sono più di 100 ma meno di 200 😈) e ci sono siti web che mantengono la lista di tali server costantemente aggiornata, come
https://raw.githubusercontent.com/WindowsLies/BlockWindows/master/hosts
Collegatevi ad uno di tali siti e lasciate aperta lista dei server in una finestra del browser (non chiudete il browser).
Il file hosts è un semplice file di testo ma è protetto dal sistema operativo, la sua modifica richiede alcune accortezze:
  • occorre essere connessi con i privilegi di Amministratore;
  • staccare momentaneamente la connessione ad Internet e disabilitare l'antivirus (sia Windows Defender che gli antivirus di terze parti, anche gratuiti come Avira Free non permettono, per ragioni di sicurezza, di modificare il file hosts);
  • con Esplora file (Windows+E), raggiungere il percorso
    C:\Windows\system32\drivers\etc\hosts
  • acquisire privilegi elevati sul file hosts diventandone proprietari (se non sapete come fare seguite questa guida);
  • copiare il file hosts sul desktop di Windows e togliere (momentaneamente) l'attributo di sola lettura (fare click con il tasto destro del mouse sul file, selezionare "Proprietà" e, nella scheda Generale, deselezionare la casella "Sola lettura", poi premere Applica e OK);
  • aprire il file hosts (la copia che avete sul desktop) con un editor di testo (va bene anche il Blocco Note), ed eseguire il copia-incolla della lista di server che avete lasciato aperta nel browser, salvare le modifiche e chiudere l'editor;
  • applicare al file hosts modificato l'attributo di sola lettura, poi copiarlo al posto di quello vecchio in C:\Windows\system32\drivers\etc\hosts;
  • abilitare di nuovo l'antivirus e ripristinare la connessione ad Internet.
Windows 10 - File HOSTS
Le righe aggiunte al file hosts sono tutte simili a
0.0.0.0   a.ads1.msn.com
Nella colonna di destra c'è il nome del server, in quella di sinistra l'indirizzo IP a cui il nostro computer viene reindirizzato. Qualora il nostro computer tentasse di connettersi ad uno dei server Microsoft (colonna di destra) verrebbe indirizzato all'IP numero 0.0.0.0 che è un particolare indirizzo usato (in ambito client) per indicare una destinazione non valida. Questo significa che le richieste di connessione verso i server di telemetria/feedback di Microsoft cadranno nel vuoto (non si potranno inviare dei dati a nostra insaputa).
NOTA: se avete una connessione in standard TCP/IPv6 l'indirizzo da mettere sulla colonna di sinistra è ::0).
È evidente che l'efficacia della protezione dipende dalla completezza della lista di server che inseriamo nel file hosts. Quella di cui all'URL precedente è piuttosto completa, anche se non si può escludere che Microsoft aggiungerà in futuro nuovi server (poco ma sicuro!). La tecnica mostrata è valida per bloccare qualunque server o sito web che non è di vostro gradimento e a cui non volete mai essere collegati: aggiungetelo al file hosts collegandolo all'IP 0.0.0.0 (o ::0) e lo escluderete dalle vostre connessioni.
NOTA: ancor meglio sarebbe bloccare gli host indesiderati direttamente all'interno del modem-router, tuttavia questa operazione (purtroppo) non sempre è fattibile con semplicità (consultate al riguardo la documentazione del vostro apparecchio).

POTREBBE INTERESSARTI ANCHE…