Jag får ofta frågan om det går bra att använda en öppen rekursiv resolver, exempelvis Googles 8.8.8.8 eller de som eran Internetleverantör erbjuder.

Ska ni ha full säkerhet i eran DNS / DNSSEC implementation så är svaret NEJ.

Kom ihåg att

  • Kommunikation mellan en stub resolver (era vanliga datorer/klienter) och en rekursiv resolver går helt i klartext.
  • Det är den rekursiva resolverns jobb att verifiera DNSSEC signaturer och om de inte stämmer får klienten inget svar.
  • Klienter känner inte till DNSSEC överhuvudtaget, de ser bara svar eller felkoder (SERVFAIL).

Om en extern resolver används

  • Kommer ni inte ha full kontroll på vägen mellan era klienter och den externa resolvern
  • Det finns många sätt att påverka DNS svaren på vägen däremellan, via spoofing, ändring i globala routingen mm.

Detta har nyligen hänt så det är inte bara teori.

Googles externa resolver på 8.8.8.8 har redan blivit attackerad genom att ändra i den globala routingtabellen. Detta finns beskrivet på bla http://thehackernews.com/2014/03/google-public-dns-server-traffic.html

Alla frågor till 8.8.8.8 skickades under 22 minuter till icke-Google servrar i Venezuela och Brasilien och vilka typer av svar de returnerade är inte känt. Typiskt kan felaktiga IP adresser/servrar ha returnerats för populära hemsidor såsom Facebook, Google och Yahoo. Dessa servrar kan sedan gjort en “Man In The Middle” attack och fångat upp användarnamn och lösenord utan att någon märkt det.

Så, att använda en extern resolver kan inte rekommenderas, ni behöver lokala sådana som sköter DNSSEC validering och där svaret mellan resolvern och era klienter inte kan påverkas.