DNSSEC im Caching Resolver

7. Januar 2010 | Von | Kategorie: Admin | DNS | Firewalling | VPN | IDS

DNSSEC hat nun auch bei uns einzug gehalten. Die ersten Zonen werden nach langer Wartezeit signiert.  Warum hat es so lange gedauert und warum werden nicht alle Zonen signiert? Immerhin bieten wir seit über einem Jahr einen Kurs an, der sich auch mit DNSSEC beschäftigt (siehe Kurs 1022: DHCP, DNS & DNSSEC).

Wir befinden uns noch in der Umstellung (fast abgeschlossen) auf IPv6 und viele Systeme müssen noch in unser neues AS49552 umziehen. Hier würde eine DNSSEC signiert Zone unnötig Aufwand erzeugen. Warum wir es nun doch machen, bevor der Umzug abgeschlossen ist? Das übt und zeigt auch uns immer wieder die Probleme auf, die bei dem täglichen Einsatz entstehen.

Bevor man jedoch damit beginnt, sollte der eigene Caching Nameserver auch DNSSEC-Validierungen durchführen. Sonst macht das ganze Signieren ja keinen Sinn. Mit Hilfe der Signatur sollen die Clients die Korrektheit der per DNS erhaltenen Daten prüfen. Da die  Resolver-Bibliotheken der meisten Betriebssysteme dies nicht selbst können, muss diese Aufgabe an den lokalen Caching DNS-Server delegiert werden. Dadurch ist natürlich lokal in dem Netz immer noch ein Angriff möglich! Das lässt sich leider nicht vermeiden.

Einem Bind9-DNS-Server DNSSEC beizubringen ist super einfach. Hierzu tragen Sie einfach unter den Optionen die folgenden Einträge ein:

options {
dnssec-enable yes;
dnssec-validation yes;
};

Nun prüft der Bind bereits jede Antwort mit Hilfe von DNSSEC. Woher erhält er die hierfür notwendigen Schlüssel? Ziel von DNSSEC ist es, dass die DNS-Root „.“ über zentrale Schlüssel verfügt. Hiermit werden alle weiteren TLDs signiert. Diese signieren dann die weiteren Domänen und Subdomänen. Bis zur signierten Root ist es noch ein weiter Weg. Jedoch wird er jetzt beschritten 😉

Als Alternative kann ich die Schlüssel bekannter Domänen einzeln hinterlegen. Unschön, wenn man bedenkt, wieviele Domänen es gibt. Also gibt es auch noch DNSSEC-Lookaside-Validation (DLV). Hier prüft der Resolver, ob die Antwort signiert ist und bei Existenz einer Signatur wird Out-of-Band in einer externen Datenbank nach dem passenden Schlüssel gesucht. Es gibt eine Reihe dieser Datenbanken:

  • ISC: dlv.isc.org
  • IKS: dnssec.iks-jena.de
  • etc.

Hier hinterlege ich dann nur die Schlüssel dieser Datenbanken und definiere sie als Trust-Anchor. Die Trust-Anchor Definition erfolgt wieder in den Optionen. Der Schlüssel wird extra angegeben:

options {

....

dnssec-lookaside "." trust-anchor "dlv.isc.org";

...

};

trusted-keys {

 dlv.isc.org. 257 3 5 "BEAAAAPHMu/5onzrEE7z1egmhg/WPO0+juoZrW3euWEn4MxDCE1+lLy2 brhQv5rN32RKtMzX6Mj70jdzeND4XknW58dnJNPCxn8+jAGl2FZLK8t+ 1uq4W+nnA3qO2+DL+k6BD4mewMLbIYFwe0PG73Te9fZ2kJb56dhgMde5 ymX4BI/oQ+cAK50/xvJv00Frf8kw6ucMTwFlgPe+jnGxPPEmHAte/URk Y62ZfkLoBAADLHQ9IrS2tryAe7mbBZVcOwIeU/Rw/mRx/vwwMCTgNboM QKtUdvNXDrYJDSHZws3xiRXF1Rf+al9UmZfSav/4NWLKjHzpT59k/VSt TDN0YUuWrBNh";

 "iks-jena.de." 257 3 5 "BQEAAAAB3npj9VrGUYFliUSckn8NAzYske5hhOUcg8VRqgrzhaMZWwB4 VBxRjrbLZI0KPe9MoQpkKL/ijeBW0eHDp7BT4xsTlyaYDvbIU99hWS06 klQWFPCvSluzLdQs6I5TuAw+zKAU2qd0vXW4bFJLufdOmxp9n5v12oS/ b3efkPPBW1QxO/MxBRZl2D+0Y2vpGQg48Jn7ysfC01cNw31lPaYQfNVf 3TBwO6oFCYOBWtVC6eFakF14wQ0pYNPw1AutNxyQVmOLMdR1kQ9Ge4UT AwAzzjJTSKI2NyEeaW9dWjJvxB0x6x+9YFv7VLzZAzSA967f84TABrEZ O91AS5LobrFR9w==";

};

Erste Tests mit der IKS-Jena DLV-Datenbank verliefen zwiespältig. Viele Domänen ließen sich korrekt validieren. Aber gerade ripe.net und alle weiteren RIPE-Domänen funktionierten nicht mehr. Hier stellt sich sowieso eines der wesentlichen Probleme: Woher weiß ich, dass der Betreiber der Datenbank die eingetragenen Schlüssel korrekt prüft? Wie stelle ich sicher, dass diese Schlüssel auch immer aktuell sind? Sobald sich hier ein Fehler einschleicht, sind die entsprechenden Domänen nicht mehr erreichbar. Leider bekomme ich kein DNSSEC-Fehler sondern nur ein „Domäne nicht existent“ bzw. „DNS-Server Fehler“. In den meisten Clients (Browser, E-Mail-Client, etc.) wird hier kein Unterschied gemacht.

Mit der DLV des Internet Software Consortium (ISC) habe ich aber bisher noch keine negativen Erfahrungen gemacht.

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Ping.fm Post to Reddit

Tags: | | | |

Schreibe einen Kommentar

Fühle dich ermuntert einen Kommentar, Anmerkungen, Hinweise oder deine Ideen zum Thema zu hinterlassen. Wir freuen uns über deine Rückmeldung.