Qualche giorno fa ero presso la sede di un cliente che utilizza come dns remoti quelli di OpenDns, il noto servizio pubblico di risoluzione nomi di dominio. E’ un servizio che aveva fatto molto scalpore al momento del suo lancio, ormai qualche anno fa’, e che poi è calato nell’ombra che spetta ai servizi che funzionano e non fanno (troppo) scalpore. I vantaggi che in OpenDns vanno promuovendo per i loro servizi sono:
- L’indipendenza dal provider (ovunque con una sola coppia di indirizzi ip, comodo soprattutto per coloro che, portatile alla mano, “migrano” in giro per il mondo)
- I servizi aggiuntivi di sicurezza (protezione dal phishing e content/domain filtering)
- I servizi di correzione degli errori negli url (ad un .og viene sostituito automaticamente .org e via dicendo)
- L’affidabilità dei loro sistemi, virtualmente “zero-downtime” (se paragonati all’affidabilità media dei nostri provider internet… :/)
Presentato così, il servizio offerto da OpenDns sembrerebbe essere una vera manna dal cielo, soprattutto per gli internauti italiani che proprio con i servizi dns dei provider hanno avuto alcune recenti disavventure (come dimenticare il mitico collasso di un anno fa’…). Eppure, a guardare più in profondità, si scoprono una serie di cose piuttosto fastidiose, problemi che complicano notevolmente la vita agli utenti al punto che, spesso e volentieri (ed è il mio caso) si rinuncia ad usare il servizio. Come tutte le cose belle infatti, esiste un rovescio della medaglia:
- Il sistema di “correzione degli url” rompe le scatole agli altri servizi che fanno affidamento sullo standard DNS per il loro funzionamento. Correggendo infatti l’url, e soprattutto redirigendo su una propria pagina tutti gli url sbagliati, OpenDns risponde positivamente a tutte le query DNS, indipendentemente che il dominio esista o meno, rendendo impossibile, basandosi sul solo protocollo DNS, capire se tutto funzioni correttamente o meno. Modificare uno standard non è mai una buona idea, ma questo è solo un problema minore che però infastidisce parecchio gli amministratori di sistema, che sono costretti ad un lavoro extra, fosse anche solo il filtrare le risposte che vengono ricevute da quelle che risolvono con gli ip di OpenDns (che magari poi non sarà sempre uno, no?), per far funzionare quegli script che altrimenti si metterebbero in piedi in 10 minuti netti.
- Se provate a risolvere, http://www.google.com usando OpenDns, vi troverete di fronte ad un risultato particolarmente carino:
;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 30 IN CNAME google.navigation.opendns.com. google.navigation.opendns.com. 30 IN A 208.69.34.231 google.navigation.opendns.com. 30 IN A 208.69.34.230
L’utente di OpenDns che vuole utilizzare Google (curioso come poi tutti i domini nazionali risolvano allo stesso modo) vengono inviati ad un server di opendns.com che riporta una pagina molto simile a quella del Google originale (quiz del giorno: scovate le differenze) che viene ospitata su questi server. La spiegazione ufficiale (e verosimile, seppure poco condivisibile) la troviamo qui, ma per i più paranoici, farò notare che questo significa dare a OpenDns la possibilità di monitorare tutte le connessioni che portano a Google degli utenti che sfruttano il loro servizio (e sapendo che tra Adsense e Google-Analytics il colosso di Montain View ha una pervasività della rete che si avvicina all’80%, possiamo immaginare che mole di dati, e di quale interesse, si trovi in possesso OpenDns). Leggetevi bene l’informativa sul trattamento di questi dati da parte di OpenDns… Per i meno paranoici, farò banalmente notare come questo riduca il numero di servizi comodamente utilizzabili accedendo alla homepage (reale) di Google, e anche questo potrebbe essere un danno minore, se paragonato agli ottimi servizi offerti gratuitamente.
- I servizi non sono poi cosi innovativi: Firefox stesso ha un sistema di protezione dal phishing (utilizzando le liste di Google, che con la base di domini sotto il suo controllo ha sicuramente i mezzi per riempirle adeguatamente), di correzione degli url errati (se il dns risponde con un dominio inesistente, Firefox chiede al motore di ricerca di Google di fornirgli un url alternativo che sia simile a quello digitato), ed è possibile fare content filtering usando un’apposita estensione. Tutto questo senza modificare in alcun modo un server dns. E qui è tutta scelta dell’utente, se usare un provider di servizi o un altro, anche a partire dalle sue esigenze, quindi, poco male.
- La cosa peggiore però, è che in OpenDns sembrano dimenticarsi dei concetti di “nat” (e del fatto che numerosi provider (Fastweb?) e “ip dinamico” per quel che riguarda il loro meraviglioso sistema di content-filtering. Se infatti un utente imposta un filtro per determinati host, OpenDns li applicherà a tutte le richieste provenienti da quell’indirizzo IP, senza curarsi che questo potrebbe essere l’IP di un nat (e quindi mascherare una schiera di utenti piuttosto ampia, parte dei quali vorrebbero magari utilizzare lo stesso servizio OpenDns ma senza quei filtri) o ancora peggio l’ip dinamico di una ADSL, che verrà quindi riassegnato poi ad un altro utente il quale si troverà (se usa OpenDns ben inteso) con dei filtri impostati dei quali non sà nulla (e sfido voi a fare il debug di un problema tipo “a volte certi siti non vanno” e giungere alla conclusione che è OpenDns…).
Ecco quindi brevemente spiegato il perché io continui ad usare dns miei (o del mio provider, se non ho voglia/tempo/capacità di mettere in piedi uno stupido sistema di caching in locale), ed evito di utilizzare i (seppur meravigliosi) servizi di OpenDns.