La cache DNS attenua gli attacchi DDOS sui provider DNS, ma la cache DOVREBBE durare per un breve periodo.
Il tempo massimo in cui un record di risorse deve essere memorizzato nella cache è specificato dal server, chiamato TTL.
The meaning of the TTL field is a time limit on how long an RR can be
kept in a cache. This limit does not apply to authoritative data in
zones; it is also timed out, but by the refreshing policies for the
zone. The TTL is assigned by the administrator for the zone where the
data originates. While short TTLs can be used to minimize caching, and
a zero TTL prohibits caching, the realities of Internet performance
suggest that these times should be on the order of days for the typical
host. If a change can be anticipated, the TTL can be reduced prior to
the change to minimize inconsistency during the change, and then
increased back to its former value following the change.
(tratto da RFC 1034)
Il server può dire al resolver che il record può essere memorizzato nella cache per oltre 68 anni, che di solito è abbastanza lungo per poter correggere un attacco. Ma i server di solito non lo fanno. I grandi siti Web non vogliono che un guasto nella rete li danneggi a lungo. Un modo per farlo è impostare il TTL dei propri record di risorse in un tempo relativamente breve, ad esempio 5 minuti. In questo modo, possono modificare il loro record DNS nel caso in cui alcuni dei loro server falliscano. E i client che eseguono query sull'RR ogni 5 minuti non sono molto sovraccarichi rispetto a una sola query.
Inoltre, le applicazioni di solito memorizzano nella cache la RR nella RAM. Quindi i record vengono persi dopo il riavvio dell'applicazione. (Ci sono delle eccezioni. Puoi scaricare la cache di BIND sul filesystem, per esempio.)
Voglio menzionare Namecoin qui. Memorizza i nomi di dominio sul disco, in una blockchain. Se il tuo sito web utilizza un dominio .bit, è improbabile che vada giù solo a causa del provider DNS.