C'è un modo per un dominio good.com
di promettere che firmerà tutti i suoi record DNS e che tutti i record senza firma per qualsiasi host *.good.com
dovrebbero essere rifiutati? In altre parole, esiste un modo per una zona di fornire un'istruzione firmata che indica che è protetta da DNSSEC e di suggerire che i client DNSSEC possono utilizzare il controllo rigoroso della firma per i record DNS in quella zona?
Questo sarebbe analogo a un record HSTS (in cui un sito sceglie solo HTTPS e suggerisce che i browser rifiutino qualsiasi tentativo di connessione tramite HTTP non sicuro) o un criterio SPF che opta per un controllo rigoroso (affermando che le e-mail che non essere conformi alla politica SPF dovrebbe essere respinta).
Sfondo (a quanto ho capito). In linea di principio, DNSSEC fornisce protezione contro gli attacchi man-in-the-middle: il client può verificare se la risposta DNS ha una firma valida e ignorare tutte le risposte e le risposte non firmate con firme non valide. Sfortunatamente, in pratica, questo ha un costo di compatibilità inaccettabile . Se consideri tutte le risposte non firmate come non valide, allora "interroghi Internet": alcuni siti smettono di funzionare, perché il dominio non firma in modo coerente tutti i record o (mi viene detto) perché le firme vengono talvolta rimosse dai middlebox.
Di conseguenza, per motivi di implementazione pratica, molti client compatibili con DNSSEC in realtà non convalidano : guarda la firma, ma se manca la firma, accetta ancora la risposta DNSSEC. (Anche il resolver DNS pubblico di Google lo farà in alcuni casi .)
Questo apre un brutto attacco man-in-the-middle: il man-in-the-middle semplicemente spoglia tutte le firme DNSSEC e poi modifica i record come preferisce. Se il client accetta risposte DNS senza segno, questo attacco man-in-the-middle nega il valore di DNSSEC. Ovviamente l'altro lato di questa infelice situazione è che se il client rifiuta tutte le risposte DNS senza segno, allora potrebbe essere sicuro contro gli attacchi man-in-the-middle, ma molti siti legacy smetteranno di funzionare, causando costi inaccettabili di compatibilità. Almeno, questa è la mia comprensione.
Si potrebbe immaginare una soluzione migliore potrebbe essere possibile se i client DNSSEC-aware hanno un modo per dire quali zone devono utilizzare la convalida della firma rigorosa. In particolare, se google.com
o good.com
ha un modo per dichiarare "Garantisco che tutti i miei record DNS siano firmati e voglio che tu consideri i record non firmati come non validi", un client cooperante potrebbe applicare una convalida rigorosa a Record DNS per *.good.com
, mentre non è valido per altre zone. Ciò potrebbe consentire una buona compatibilità con i domini legacy consentendo al tempo stesso un controllo rigoroso delle zone che vogliono optare per l'accesso, in altre parole, fornendo una protezione parziale contro gli attacchi man-in-the-middle senza "rompere Internet".
Esiste un tale meccanismo?