Cosa succede quando il tuo TTL viene rovinato nel tuo record DNS?


13

Cosa succede quando qualcuno ottiene l'accesso al tuo controllo DNS e imposta un TTL di 100 anni sul tuo dominio, indicando il suo IP su un sito Web oscuro?

(e lo scopri troppo tardi ovviamente)


10
Il responsabile viene licenziato.
Xavier Lucas,

5
Solo una breve nota: il valore TTL massimo è 2 ^ 31-1, che è poco più di 68 anni :) Vedi RFC 2181 .
Sven

Risposte:


21

Ryan ha fornito un'ottima risposta a un'interpretazione della tua domanda. Dato il nostro pubblico di destinazione, tuttavia, e la situazione delle persone che più probabilmente inciamperanno sulla domanda, ho intenzione di rispondere a un'altra.

Cosa fa un'azienda quando un cattivo TTL esce allo stato brado?

Hai alcune opzioni qui. Innanzitutto, è necessario identificare il vettore del problema ed eliminarlo. Cercare di contenere il danno è inutile quando non si ha il controllo sul problema che si ripete.

  1. Aspettare. Se non è un record cruciale, probabilmente puoi aspettare. Come ha coperto Ryan, il "danno massimo" non è di 68 anni, ma in pratica molto probabilmente sarà di 7 giorni. Questo è il valore predefinito più comune per la durata massima di una voce cache positiva (BIND, JunOS, ecc.). Anche nei casi in cui ciò non sia accurato, si spera che il server stia ricevendo aggiornamenti di sicurezza di routine che impongono un riavvio del processo. Parlando come operatore di diversi grandi cluster, non trovo probabile che un MSO lo imposti su un valore più grande di proposito: serve solo a generare più richieste esterne (che odiamo). Potrebbe essere necessario passare ai passaggi successivi per le aziende che utilizzano software meno diffusi o per gli operatori che si odiano.
  2. Operatori di cache DNS fastidiosi. Se hai bisogno di cancellare i record dalla cache il prima possibile, l'unica vera scelta è quella di iniziare a contattare i maggiori fornitori di DNS ricorsivo a cui puoi pensare e scendere. È probabile che alcune di queste aziende ti ignorino: o pensano che la tua azienda sia troppo piccola per essere interessata ai loro clienti, oppure istituiscono proprie politiche di eliminazione della cache per ridurre al minimo il numero di chiamate di supporto che devono gestire. In quest'ultimo caso, probabilmente scrolleranno le spalle e lasceranno che il problema si prenda cura di sé all'orario previsto. Dopo tutto, la tua azienda ha creato questo problema da sola.
  3. Fai in modo che i clienti ISP infastidiscano il loro ISP per te. Se sono trascorsi alcuni giorni e un grande ISP sta ignorando il record memorizzato nella cache, prova a convincere uno dei suoi clienti a lamentarsi e a generare un biglietto interno a quella compagnia. Questo è più difficile da ignorare per loro, ma non ti farà ottenere alcun favore con il loro team operativo poiché dal loro punto di vista lo hai fatto a te stesso. Se questo è un evento ripetuto, probabilmente inizieranno a cancellare questi biglietti solo per farti dispetto.
  4. Consiglia ai tuoi partner di ignorare il record DNS. Se si tratta di un record DNS mission-critical consumato dai tuoi partner e nessuna delle opzioni di cui sopra è accettabile (ovvero stai sanguinando i ricavi di minuto in minuto), la tua azienda non ha altra scelta che lavorare con i suoi partner per aggirare il problema. Se non controllano la loro cache locale, ciò avviene di solito inserendo voci nella tabella hosts dei sistemi interessati in quanto evita la necessità di modificare i programmi che utilizzano il record DNS. Ciò è possibile solo se la perdita di entrate è legata a poche società selezionate che consumano i dati. In tutti gli altri casi sei bloccato con le prime tre opzioni.

3
Ad esempio per l'opzione 2, il DNS pubblico di Google ha questa pagina per cancellare la sua cache.
Bardi Harborow,

16

Bene, prima di tutto il manuale di configurazione di Bind che sto esaminando afferma che TTL è un numero intero a 32 bit con segno, espresso in secondi, che gli dà un massimo teorico di 2 ^ 31. Dice

I TTL validi sono compresi nell'intervallo 0-2147483647 secondi.

O circa 68 anni. Quindi probabilmente non puoi impostarlo su 100 anni in primo luogo.

Quindi, supponiamo di averlo impostato su 68 anni. È abbastanza chiaro cosa sarebbe successo. I resolver DNS che rispettavano il TTL estremamente lungo nei tuoi record DNS li avrebbero memorizzati nella cache il più a lungo possibile. Alcuni resolver DNS non rispettano affatto i TTL e implementano la propria politica di memorizzazione nella cache come desiderano.

Il motivo per cui non possiamo mettere un singolo numero massimo sui massimi è perché ci sono molte diverse implementazioni di DNS create da molti fornitori diversi e usano tutte variabili leggermente diverse. Ad esempio, un server DNS in esecuzione su Juniper JunOS andrà fino a 604800 secondi, o 7 giorni, sul TTL.


Quindi ciò significa che quando qualcuno hackera il controllo DNS dell'azienda X lo mette su 68 anni e inoltra l'IP a pornhub, ha effettivamente distrutto il nome di dominio "per sempre" ?? : X
Dirk Boer,

11
Supponendo di aver corretto il problema, è improbabile che i server DNS downstream durino 68 anni senza che le loro cache vengano cancellate, ad esempio riavviando. È anche probabile che i resolver DNS a valle implementino la propria idea di "MAXTTL" che pone un limite più ragionevole ai TTL ricevuti come 3 giorni anziché 68 anni. Leggi RFC 2308 come esempio di ciò di cui sto parlando.
Ryan Ries,

4
Per quanto riguarda BIND, in particolare ha un limite predefinito di 7 giorni. max-cache-ttl: "Imposta il tempo massimo per il quale il server memorizzerà nella cache le risposte ordinarie (positive). L'impostazione predefinita è una settimana (7 giorni)."
Håkan Lindqvist,
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.