È possibile creare il proprio server DNS root?


14

Sono curioso. Continuo a leggere come i nostri ISP e intermediari di Internet registrano e tengono traccia di tutte le richieste DNS sostanzialmente lasciando una scia di briciole di pane in molti registri e consentendo anche il dirottamento del DNS a scopi pubblicitari (ti sto guardando Cox Communications!).

Indipendentemente da altri metodi per la privacy / sicurezza, mi piacerebbe in particolare sapere se è possibile eseguire un server DNS sulla propria rete locale, _ che in realtà ha le informazioni sulla zona dei server DNS radice (per .com, .net ,. org) domini.

So che puoi configurare DNS che fondamentalmente si limita a mappare le macchine nel tuo dominio, ma è fondamentalmente possibile richiedere una copia / trasferimento delle informazioni DNS di root da archiviare sul tuo server DNS in modo da poter evitare di andare su Internet per DNS informazioni per la navigazione web?

Spero di essere chiaro. Non voglio che il mio server DNS abbia solo informazioni sulla mia rete interna - voglio che abbia informazioni duplicate che hanno i grandi server DNS Internet, ma vorrei che tali informazioni localmente sul mio server DNS.

Esiste qualcosa come i trasferimenti BGP Zone ma per DNS?

Aggiornamento: ci sono prodotti / software OSS che potrebbero sostanzialmente "raschiare" queste informazioni dalla catena DNS esterna nella cache locale in grandi quantità in modo che siano pronte quando ne hai bisogno, invece di memorizzarle nella cache quando richiedi esplicitamente i record di dominio?

Risposte:


12

DNS in base alla progettazione non consente di disporre di una copia autorevole di tutte le zone, poiché utilizza un sistema di denominazione gerarchico.

I server root sono autorevoli per identificare il server responsabile del dominio di primo livello (TLD) in questione. Ad esempio, la risoluzione www.example.netrichiederà innanzitutto un server root per identificare il nameserver autorevole .net. Il .netnameserver identificherà il nameserver autorevole per example.net, che quindi restituirà il record per www.example.net.

Non è possibile scaricare una copia di tutte le zone. Tuttavia, è possibile eseguire un nameserver di memorizzazione nella cache locale. Il nameserver di memorizzazione nella cache fornirà una copia locale di tutti i record risolti, che scadono utilizzando il Time To Live (TTL) specificato per il record. Tieni presente che la mia spiegazione è una descrizione semplicistica del protocollo DNS, che può essere esplorata in dettaglio leggendo le definizioni nella Richiesta di commenti .

Mentre il dirottamento di NXDOMAIN può essere evitato eseguendo una cache locale, tenere presente che tutto il traffico di risoluzione DNS verrà comunque trasmesso tramite la connessione Internet non crittografato. Il tuo ISP potrebbe potenzialmente monitorare quel traffico e vedere comunque la comunicazione. I contratti che hai con il tuo ISP e le tue leggi locali saranno i tuoi mezzi definitivi per stabilire come vengono trattate le tue comunicazioni. I contratti del tuo ISP includeranno i Termini di servizio, le politiche sulla privacy e tutti i contratti aggiuntivi che potresti avere con il tuo ISP.

L'uso di protocolli crittografati è uno dei metodi migliori per assicurare i tuoi dati contro le intercettazioni durante il transito. Tuttavia, anche questo non ha alcuna garanzia di anonimato. Esistono protocolli aggiuntivi come Tor e Freenet , che tentano di introdurre l'anonimato in Internet, poiché non è mai stato progettato per essere veramente anonimo.


1
La risposta semplice è no, non puoi. La risposta tecnica è sopra nella risposta di Warner. Non esiste un set di server che contenga tutte le informazioni DNS. I server root fanno semplicemente riferimento a uno dei server TLD che fa riferimento alla richiesta più in basso.
Rex,

1
Alcuni ISP forniscono un modo per disattivare il dirottamento di NXDOMAIN. Alcuni ISP forniscono un meccanismo basato su cookie (stupido e falso) per "disattivare" il dirottamento di NXDOMAIN. Esistono anche server dei nomi alternativi che possono essere utilizzati al posto del server dei nomi dell'ISP.
Brian,

3

Poche cose:

Se configuri il tuo server per utilizzare i suggerimenti di root invece di utilizzare i server d'inoltro, non devi preoccuparti dei problemi MITM (almeno dai provider di servizi Internet e dirottatori DNS). Per tutta la risoluzione DNS esterna, il tuo server dovrebbe interrogare i suggerimenti di root, che ti farebbero riferimento ai server gTLD per il dominio di primo livello in questione (.com, ecc.), Che ti farebbe quindi riferimento ai server NS per il dominio in questione .

Se vuoi davvero creare il tuo root server, sicuramente puoi, anche se non vedo come ti farebbe molto bene. Ecco come lo fai su un server DNS di Windows:

Scarica il file della zona radice DNS e salvalo come root.dns nella directory% systemroot% \ system32 \ dns sul tuo server DNS Windows, usa la procedura guidata per la creazione della zona DNS per creare una nuova zona di ricerca diretta principale denominata "." (senza virgolette), deseleziona l'opzione per creare una zona integrata AD, digita "." per il nome della zona (senza virgolette), selezionare l'opzione per utilizzare un file esistente e il campo del nome del file della zona verrà automaticamente popolato con il nome root.dns (se non lo si digita), lasciare l'opzione per non consenti gli aggiornamenti dinamici così come sono, fai clic sul pulsante Fine dopo aver eseguito tutti i passaggi della procedura guidata. Ora hai un server root con zone e record di zona per tutti i server gTLD.

Si noti che ciò disabiliterà le opzioni di inoltro e dei suggerimenti di root sul server (poiché il server è ora un server di root) e si noti che se le informazioni gTLD cambiano, non è possibile che il server si accorga di tali cambiamenti.


Nulla impedisce all'ISP di dirottare l'IP dei server root (tranne DNSsec) ... A parte questo, corretto.
Chris S,

1

Per i server strettamente correlati ci sono trasferimenti di zona. Funzionano in modo molto simile agli annunci BGP. Per motivi di sicurezza, questi sono generalmente bloccati per altri server.

Se si esegue un server dei nomi con memorizzazione nella cache, questo copierà l'elenco dei server root e molto presto avrà i root per .com, .net, ecc. C'è una buona ragione per cui il DNS è distribuito. Altrimenti tutti lavorerebbero con dati obsoleti. La dimensione del database sarebbe piuttosto grande e la maggior parte dei dati non ti interessa.

Esistono opzioni per ridurre il rischio di avvelenamento da DNS e un buon software affronta i problemi non appena vengono conosciuti. Esistono organizzazioni che lavorano per fornire dati igienizzati che possono essere utilizzati come fornitori a monte. Questi filtreranno alcuni tentativi di avvelenamento. Guarda come usare OpenDNS o google come provider upstream.

Le zone DNS principali sono ora firmate e vedo sempre più il mio server di posta che segnala che i dati DNS sono stati firmati. La firma del DNS è stata segnalata come requisito per IPV6. Il DNS firmato rende molto difficile l'avvelenamento da cache, ma aumenta la difficoltà di gestione del DNS.


1

Puoi certamente configurare il tuo server e renderlo autorevole per il root, ma non so in alcun modo che puoi precompilarlo con i file di zona dei root-server. Non puoi semplicemente richiedere uno zonetransfer, quindi immagino che dovrai riempirlo mantenendo le tue cache.

Modifica i root.hints sugli altri nameserver per indirizzarli al tuo server root privato e lasciare che il test abbia inizio.

Ma tieni presente che i server root sanno solo quali server sono autorevoli per i TLD, nient'altro. Dovrai essenzialmente ricreare l'intera gerarchia di server, che sembra un'attività impossibile.


0

Sì, una delle funzionalità dei server DNS è la memorizzazione nella cache locale delle query richieste di frequente, troppo spesso aggirando il ttl specificato.

Puoi sicuramente eseguire il tuo dns, nessun problema. Ma i server root e i server di dominio di livello superiore, dovrai chiedere a zio sam.

La registrazione di tutte le richieste DNS è possibile, ma sarebbe folle.


Ma basarsi sulla cache implicherebbe che hai già dovuto inviare una richiesta DNS per il dominio in questione, il che vanifica l'intero scopo di provare ad avere solo (o principalmente) richieste DNS locali.
pythonnewbie,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.