LINUXMAKER, OpenSource, Tutorials

DNSSEC

Bei DNSSEC (Domain Name System Security Extensions) soll die Authentizität und Integrität der im Domain Name System übertragenen Daten sichergestellt werden, indem Resource Records mit digitalen Zertifikaten abgesichert sind. Das in mehreren RFCs standardisierte Verfahren basiert auf privaten und öffentlichen Schlüsseln zum Signieren und Prüfen der DNS-Informationen. Eindeutiges Ziel von DNSSEC ist es, Manipulationen der Namensauflösung auszuschließen und die Schwachstelle der ungeschützten DNS-Übertragung zu beheben.

Durch DNSSEC wird sichergestellt, dass die DNS-Daten weder manipuliert wurden noch von einer anderen Quelle stammen können. Die privaten Schlüssel werden dazu verwendet, um die Resource Records digital zu signieren. Mit dem öffentlichen Schlüssel lässt sich dann die Signatur von den Empfängern der Daten prüfen. Damit die Sicherheitsmechanismen der Domain Name System Security Extensions funktionieren, muss DNSSEC auf Seiten des Anbieters der DNS-Informationen und beim anfragenden Clientsystem unterstützt werden.

Hier handelt es nicht um verschlüsselte DNS-Daten, die sind nach wie vor unverschlüssselt, sondern um signierte Daten wie der Resource Records. Dadurch wird gewährleistet, dass die DNS-Daten von dem DNS-Server stammen, zu dem auch der Schlüssel gehört.

Aufbau des DNSKEY-RR

Ein DNSKEY-RR ist wie abgebildet aufgebaut.

Label
Das ist der Name des Besitzers von dem Schlüssel.

Class
Das ist nur in Typ "IN" zulässig.

Typ
Logischerweise DNSKEY

Flags
Das sind zusätzliche Angaben wie Host-, Zonen- oder Schlüsselunterzeichnungs-Schlüssel. Bei Typ DNSKEY werden 256 für Zone und 257 für Schlüssel verwendet.

Protokoll
Hier gelten die Werte 1 (TLS), 2 (eMail), 3 (DNSSEC), 4 (IPsec) und 255 für alle.

Verschlüsselungsverfahren

  • 1:  RSA/MD5
  • 2:  Diffie Hellman
  • 3:  DSA/SHA-1
  • 4:  Elliptische Kurven
  • 5:  RSA/SHA-1
  • 6:  DAS/SHA-1/NSEC3
  • 7:  RSA/SHA-1/NSEC3
  • 8:  RSA/SHA-256
  • 10: RSA/SHA-512
  • 12: ECC-GOST
  • 13: ECDSA/Curve P-256/SHA-256
  • 14: ECDSA/Curve P-384/SHA-384

Schlüssel

In dem folgenden Beispiel lässt sich der Aufbau des DNSKEY-RR sehr gut nachvollziehen.

example.tld IN DNSKEY  (
                        256        ; Zonenschlüssel
                        3           ; DNSSEC
                        7           ; NSEC3-Verschlüsselung
                        AwEAAauXGNQMitXTRPKAkme9Gs7MvrHgNeNJ
                        ddafYO7F5i/TsLre8zitWD/+bJZXx0Vu89QT
                        jKX9zQwhSRegwFvH4gfe4Hvo0SHt9YsMGwA1
                        LDW9RfFXDCGWEemDnAxX0NV9330BSYyQ2fVr
                        PpJoyB+et/BrLi/IzBrrFXB+O24jkBYWTK0k
                        hA9c1lAk//nWEVstarXZgmz2WlF4//aPUpGq
                        OnDLjbv1gXo3vUfcSBN2EcAaXAyTSGTaJUA6
                        I6BEFbN1id2gbFI/RsVa0dYo3imvn46IgroV
                        mDhx+LbKlMq71GhePyaWzaZX8Bmi8Y9IxlJV
                        5+UizMqi3ZvO0yn19+nxfb8=
                        ) ; ZSK; alg = NSEC3RSASHA1 ; key id = 40385

example.tld. IN DNSKEY  (
                        257       ; Schlüsselunterzeichnungs-Schlüssel
                        3           ; DNSSEC
                        10          ; RSA/SHA-512-Verschlüsselung
                        AwEAAaoJiFk+Xj+9vRrKq2pdaFkwCKaGy1QN
                        Mbn/aQYTG5czj9aO/o400mS8YfEMGC3U+AY0
                        INliajs7sfeVuuFvJYbmkLpJGIbF1/3Tr/8j
                        zENJSEqxCh6y5iFz7HdgMat8+TekfyaDf30r
                        eM61l8G1BN3fcaFHf2DRv0+AkD/eY/kdId+n
                        gvQ1ifzk3tZNxIjeClEdQ7D2OTAazagcDl+v
                        SKWhzo3iSwyjMnboAo0RdHMKSuxgSDkMOch9
                        DIih5SVKRZy5zq9kJfuCPpgVAnjjB2oZ0K2r
                        pKu2FPHhV5zV9T2m2cBwYpldTobuAN8Ouj8m
                        72y4RdrI5ik1GOA4HzlUg0zKnaLhL1Y+Mxo2
                        Qz9hJMJ+rKifpcY72e5/FX9addolaqOjBX44
                        FvHJWaxcAjVVqFfPfgkMLMtcJY0YVMr694rN
                        ecfAFfVhn8UwQk9epq1xDI3D1pH8/HzmEdM7
                        lK9FLIx++fDtkpXqV7f5dorwm92kGZpdtZ/L
                        eCnFGpfLNeu4heQJ587pnwapj/wbNUF4IPuT
                        kuEpKJReQzWQ0gWp0yU3kDn7vcXD7Eee+3At
                        oobq6wwOsrkUXl1FVaF3rOm6L82S3dvtB/SS
                        uHCFjcdy33tlv1nE5cjaBZHRChKTMN4QNqRm
                        8l1RgnDq/2GvrxmSPXfGKyWmfjvSJot4EX2i
                        97ER
                        ^) ; KSK; alg = RSASHA512 ; key id = 64413