NSEC Resource Record

Mit NSEC Resource Records werden bei DNSSEC signierten Zonen alle Labels (Namen) in alphabetischer (kanonischer) Reihenfolge verkettet. Der Typ NSEC löste 2004 den nahezu identischen Typ NXT ab.

Hintergrund

Mit dem Signieren von DNS-Einträgen kann verifiziert werden, dass diese Einträge nicht verfälscht wurden und von den korrekten autoritativen Zonen stammen. Was nicht möglich ist, ist das Nicht-Vorhandensein von DNS-Einträgen zu beweisen. Fragt etwa ein Client den Namen test.example.com an, so kann ein Angreifer die entsprechenden Daten aus dem Antwortpakets des Servers entfernen, ohne dass das dem Client ersichtlich wird.

Um derartige Denial of Service Attacken zu verhindern, werden alle Namen einer Zone über NSEC Records alphabetisch geordnet ringförmig verkettet, wobei der letzte Eintrag auf den ersten zeigt. Beispiel:

name1  NSEC  name2
name2  NSEC  name5
name5  NSEC  name1

Jeder NSEC Record wird per RRSIG Resource Record unterschrieben, so dass er nicht verfälscht werden kann. In seinen Antwortpaketen liefert ein DNS-Server jeweils den zugehörigen NSEC-Eintrag mit. Bei einer Anfrage zum nicht existierenden Namen name3 wird „name2 NSEC name5“ mitgeliefert. Der Client kann damit sicher sein, dass der name3 tatsächlich nicht existiert und nicht etwa auf dem Transportweg entfernt wurde.

Der NSEC-Record besitzt noch eine zweite Funktion: Er listet alle Typen gleichen Namens auf (siehe Beispiel).

Aufbau

Ein NSEC-RR besteht aus den folgenden Feldern:

Label
Name des Besitzers des Schlüssels
Typ
NSEC (47)
Next Domain Name
der alphabetisch folgende Name
Liste der Typen

Beispiel

 name2   NSEC               ; Typ
         name5              ; alphabetischer Nachfolger
         NS DS RRSIG NSEC   ; Liste der Typen des Labels name2

Sicherheit des Verfahrens

Ein wichtiger Nachteil dieses Verfahrens ist, dass ein Angreifer die NSEC-Kette sukzessive durchlaufen und so alle Einträge einer Zone ermitteln kann. Dieser Vorgang wird als Zone Walking (auch DNSSEC Walking) bezeichnet. Ein vergleichbares Lesen einer kompletten Zone ist bei herkömmlichen DNS und abgesicherten Zonentransfer nicht möglich.

Maßnahmen zur Verhinderung des Zone Walkings wurden diskutiert (z. B. RFC 4470[1]). Gelöst wurde das Problem durch einen neuen Resource Record NSEC3, bei dem die beteiligten Namen nicht mehr in Klartext, sondern als Hash dargestellt werden (RFC 5155[2]).

  • RFC 4034 – Resource Records for the DNS Security Extension. (englisch).
  • RFC 5155 – DNS Security (DNSSEC) Hashed Authenticated Denial of Existence. (englisch).

Einzelnachweise

  1. RFC 4470 – Minimally Covering NSEC Records and DNSSEC On-line Signing. April 2006 (englisch).
  2. RFC 5155 – DNS Security (DNSSEC) Hashed Authenticated Denial of Existence. März 2008 (englisch).