Verwendung von DNSSEC

Kategorie: DNS
Erstellt: 25.06.2015
Aktualisiert: 18.08.2020

Seit Version 1.8.2 unterstützt LiveConfig DNSSEC. Damit werden kryptographische Prüfsummen über Domaindaten erzeugt, um diese gegen Modifikationen bei der Übertragung zu sichern.

Die wichtigsten Komponenten bei DNSSEC sind:

  • Resource Records (RRs): das sind die eigentlichen DNS-Nutzdaten (also A/AAAA/MX/CNAME-Einträge u.s.w.).
  • RRSIG: spezielle Resource Records, welche ein Prüfsumme über die zu schützenden Resource Records (A/AAAA/MX/CNAME/etc.) enthalten
  • Zone Signing Key (ZSK): RSA-Schlüsselpaar, mit welchem die RR-Signaturen (RRSIG) erzeugt werden. Da diese Signaturen zur Prüfung häufig berechnet werden müssen, wird üblicherweise ein relativ kurzer RSA-Schlüssel gewählt (z.B. 1024 Bit). Dafür sollten die Zone Signing Keys nur für einen kurzen Zeitraum (1-3 Monate lang) gültig sein.
  • Key Signing Key (KSK): RSA-Schlüsselpaar, mit dem die Zone Signing Keys unterschrieben werden. Diese Schlüssel sind größer (z.B. 2048 Bit). Diese schließen die Signatur-Kette zwischen der Domain und den Resource Records - der öffentliche Schlüssel muss also im DNS bei der jeweiligen Toplevel-Domain hinterlegt werden (wird weiter unten beschrieben). Da die Aktualisierung relativ aufwendig ist, sind diese Schlüssel länger gültig (z.B. 1-2 Jahre).

LiveConfig ermöglicht die automatisierte Signatur von Domains mit NSEC3 Resource Records (nach RFC5155). Wenn Sie in LiveConfig DNSSEC für eine Domain aktivieren, passiert Folgendes:

  1. LiveConfig erzeugt automatisch einen NSEC3PARAM Resource Record - das sind die für NSEC3 notwendigen Signatur-Parameter (insbes. ein Zufallswert/“Salt” für die Prüfsummen).
  2. LiveConfig schreibt den Key Signing Key in ein spezielles Verzeichnis, auf welches die Nameserver-Software (BIND) Zugriff hat. BIND wiederum erzeugt automatisch einen Zone Signing Key, nimmt KSK und ZSK in die Zone mit auf (DNSKEY RRs) und signiert alle vorhandenen Resource Records.
  3. BIND aktualisiert selbständig die Zone Signing Keys und signiert diese mit dem vorliegenden Key Signing Key. Die Rotation der ZSKs findet also komplett automatisch statt.
  4. Sämtliche Änderungen an der Zone (z.B. nach dem Hinzufügen oder Bearbeiten eigener DNS-Einträge via LiveConfig) werden ebenfalls automatisch signiert.

Mit diesem Verfahren werden dynamische Zonenänderungen zeitnah und automatisch durchgeführt und signiert, ohne manuell die komplette Zone immer neu erzeugen, signieren und laden zu müssen. Die Zonenänderungen inklusive der neuen Signaturen werden per Zonentransfer (AXFR/IXFR) an die Slave-Server übermittelt.

Voraussetzungen

  • Zumindest der primäre Nameserver muss durch LiveConfig verwaltet werden. (ein oder mehrere Secondary-DNS können also durchaus auch „extern“ sein, z.B. vom Domainregistrar)
  • Alle Nameserver (Primary und alle Secondaries) müssen DNSSEC unterstützen.
  • Eine Hidden Primary-Konfiguration ist mit DNSSEC problemlos möglich.
  • Ein Nameserver kann nicht gleichzeitig authoritativer DNS und Resolver für die selbe DNSSEC-Domain sein (das ist mit dem DNSSEC-Protokoll aufgrund der Query-Flags nicht möglich); es wird aber ohnehin empfohlen, Resolver separat und dediziert zu betreiben.

DNSSEC aktivieren

Wenn der Primary-DNS des ausgewählten DNS-Templates DNSSEC unterstützt, haben Sie beim Hinzufügen einer Domain (unter Kunden -> Domains oder Mein Hosting -> Domains) automatisch die Möglichkeit, DNSSEC zu aktivieren. Hierzu müssen Sie einen Key Signing Key (KSK) erzeugen. Bitte legen Sie nur einen KSK an - mehrere Schlüssel brauchen Sie nur während eines Schlüsselaustauschs (Key Rollover); jeder unnötige Schlüssel erhöht den Rechenaufwand für die Signatur sowie das vom DNS erzeugte Datenvolumen und somit auch DNS-Anfragen erheblich.

DNSSEC für eine Domain aktivieren

Nachdem die Domain mitsamt KSK gespeichert wurde, können Sie diese erneut zur Bearbeitung öffnen und sich den KSK anzeigen lassen (auf diese Weise ist sichergestellt, dass der KSK tatsächlich gespeichert wurde):

Anzeige des DNSSEC Public Key für eine Domain

Den angezeigten öffentlichen Schlüssel des KSK müssen Sie bei Ihrem Domainanbieter als sogenannten Delegation Signing Resource Record (DS-Record) hinterlegen. Wählen Sie als Algorithmus dabei unbedingt RSASHA1-NSEC3-SHA1 aus.

Beispiel: Verwaltung des DS-Records in InterNetX’ AutoDNS3

DNSSEC-Einstellungen für eine Domain in AutoDNS3