Uso pfSense (Unbound) come risolutore locale. Storicamente l'ho indicato alla risoluzione ricorsiva della radice, perché ho percepito la mia principale minaccia come attendibilità e recency dei dati (DNS avvelenato / non valido) e localizzazione DNS dell'ISP locale. (Non so se sia così, ma ho sentito che un server DNS di root all'estero potrebbe essere meno connesso a me personalmente e avere meno interesse in tutte le query che ho generato.) Uso principalmente IPv4 che potrebbe essere rilevante.
Con tutta l'attenzione sul tracciamento DNS, sono emerse alcune preoccupazioni e percezioni:
- Devo utilizzare un tipo di metodo di firma o encoding DNS, per la privacy / certezza? Non sto utilizzando DNSSEC o altre estensioni, quindi le mie query DNS sono "in chiaro". Sono guardabili da qui e dai vari server DNS, e non c'è sicuramente una manipolazione eccessiva "on the wire" (meno probabile ma notato). Ma che cosa usare e in che misura aiuterà, perché non è supportato da tutti.
- Devo usare un resolver esterno invece di interrogare i root server? Sto interrogando i root server fin dall'inizio, quindi sto inviando molte query dai root server alla sottorete attuale di interesse, invece di usare una voce precaricata su alcuni resolver / cache DNS esistenti. Ma ogni server DNS vede solo un componente del dominio, non riescono a vedere l'intero obiettivo. Se utilizzo un risolutore intermedio, specialmente uno con firma / crittografia, invio molte meno richieste DNS e quello che faccio è sempre crittografato e firmato. Ma richiede un intermediario scelto con notevole affidabilità (memorizzazione nella cache, ecc.) E non incide sul rischio di intercettazione.
- Devo indirizzare il DNS su un qualche tipo di proxy anonimo? È più lento per le prime richieste, ma Unbound memorizzerà nella cache eventuali risposte localmente e richiederà anche dati di aggiornamento prima che scadano i dati in cache, e suppongo che Si applica la regola 80/20 (la maggior parte delle query riguarderà lo stesso sottoinsieme di domini in cui ho già dati memorizzati nella cache), quindi non sono troppo preoccupato per l'aspetto della velocità. Ma quanto è pratico questo? Il metodo di anonimizzazione più importante è tor. Tor non esegue UDP, quindi gestisce il DNS chiedendo al nodo di uscita di eseguire una query DNS e si fida del risultato. Potrei configurare Unbound per eseguire query su DNS solo su TCP e instradare tramite tor locale, se questo lo risolvesse (= se la maggior parte dei nodi di uscita consentirà la porta 53 e se la maggior parte I server DNS parlano TCP). Sono anche felice di eseguire un nodo di anonimizzazione DNS se esiste un equivalente tor specifico per DNS, se aiuterà gli altri (questo potrebbe permettermi di unire il mio traffico con le query DNS generali) ma esiste una cosa del genere?
Quindi il mio attuale modello di rischio è probabilmente qualcosa di simile -
- Dati avvelenati / non validi ;
- Registrazione / monitoraggio sul server (i) e modifica / monitoraggio "sul cavo";
-
Legare le query all'anonimizzazione IP / DNS di origine
Se non utilizzo DNS proxy / anonimizzazione, ci sono solo 2 opzioni. Posso risolvere tutto da solo dai root server, nel qual caso confido che ogni server DNS su ogni dominio non effettui il log delle query che è improbabile, ma identificare gli obiettivi delle query è meno facile poiché le query di sottodominio risultanti sono distribuite molto ampiamente. Se uso un risolutore pubblico inserisco "tutte le mie uova in un unico paniere" poiché vedono l'intero dominio di destinazione, non solo parti di esso, e mi sto fidando che non vengano registrate, il che potrebbe anche non essere realistico. Quindi l'anonimizzazione DNS sembra necessaria, ma non è chiaro se è realistico.
Sono felice di mettere il lavoro per risolvere questo, e sono sicuro di poter migliorare su quello che sto facendo. Ma occorreranno soluzioni alternative, dal momento che il DNS è fondamentalmente insicuro.
Dato lo stato attuale del DNS e lo stato attuale delle tecnologie di anonimizzazione, qual è il mio miglior approccio alla mitigazione delle minacce per le query DNS?