Pseudo top level domain DNSSEC: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 79: Zeile 79:
 
===Überprüfung von DNSSEC ===
 
===Überprüfung von DNSSEC ===
 
Zur Kontrolle, ob DNSSEC korrekt funktioniert:
 
Zur Kontrolle, ob DNSSEC korrekt funktioniert:
<pre>
+
*dig DNSKEY int @localhost +dnssec
dig DNSKEY int @localhost +dnssec
+
*dig A www.it100.int @localhost +dnssec
dig A www.it100.int @localhost +dnssec
 
</pre>
 
  
 
Falls die Konfiguration korrekt ist, sollten RRSIG-Einträge sichtbar sein.
 
Falls die Konfiguration korrekt ist, sollten RRSIG-Einträge sichtbar sein.

Version vom 13. März 2025, 16:11 Uhr

DNSSEC-Umstellung für eine Pseudo-Top-Level-Domain

Einleitung

Dieser Artikel beschreibt die Aktivierung von DNSSEC für eine Pseudo-Top-Level-Domain (TLD), die mit BIND9 verwaltet wird. DNSSEC stellt sicher, dass die Antworten des DNS-Servers authentifiziert und vor Manipulation geschützt sind.

Voraussetzungen

  • Ein laufender BIND9-Nameserver, der als autoritativer DNS-Server für die Pseudo-TLD dient.
  • Installation der notwendigen Werkzeuge: `dnssec-tools` oder `bind9-utils`.
  • Zugriff auf das Verzeichnis `/var/cache/bind/` zur Speicherung der signierten Zonen.

Generierung der DNSSEC-Schlüssel

DNSSEC benötigt zwei Arten von Schlüsseln:

  • Zone Signing Key (ZSK): Signiert die Zone und wird häufiger gewechselt.
  • Key Signing Key (KSK): Signiert den ZSK und wird seltener gewechselt.

int

ZSK erzeugen

  • dnssec-keygen -a RSASHA256 -b 2048 -n ZONE int

KSK erzeugen

  • dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE int

Die generierten Dateien sehen ungefähr so aus:

Kint.+008+12315.key
Kint.+008+12315.private
Kint.+008+43144.key
Kint.+008+43144.private
Integration der DNSSEC-Schlüssel in die Zone

Die .key-Dateien müssen in die Zonendatei /var/cache/bind/int eingebunden werden:

  • for k in Kint*.key ; do echo \$INCLUDE /var/cache/bind/$k >> /var/cache/bind/int; done

88.10.in-addr.arpa

ZSK erzeugen

  • dnssec-keygen -a RSASHA256 -b 2048 -n ZONE 88.10.in-addr.arpa

KSK erzeugen

  • dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE 88.10.in-addr.arpa

Die generierten Dateien sehen ungefähr so aus:

K88.10.in-addr.arpa.+008+06136.key
K88.10.in-addr.arpa.+008+06136.private
K88.10.in-addr.arpa.+008+29361.key
K88.10.in-addr.arpa.+008+29361.private
Integration der DNSSEC-Schlüssel in die Zone

Die .key-Dateien müssen in die Zonendatei /var/cache/bind/88.10.in-addr.arpa eingebunden werden:

  • for k in K88*.key ; do echo \$INCLUDE /var/cache/bind/$k >> /var/cache/bind/88.10.in-addr.arpa; done

Zonensignierung mit DNSSEC

Sobald die Schlüssel eingebunden sind, wird die Zone signiert:

  • dnssec-signzone -A -N INCREMENT -o int -t /var/cache/bind/int
  • dnssec-signzone -A -N INCREMENT -o 88.10.in-addr.arpa -t /var/cache/bind/88.10.in-addr.arpa

Dies erzeugt signierte Dateien mit der Endung .signed.

BIND9-Konfiguration anpassen

Die Datei `/etc/bind/named.conf.local` muss angepasst werden, damit die signierte Zone verwendet wird:

zone "int" {
    type master;
    file "/var/cache/bind/int.signed";
    allow-query { any; };
    dnssec-policy default;
    inline-signing yes;
};

DNSSEC in BIND9 aktivieren

In der Datei `/etc/bind/named.conf.options` folgende Einstellungen setzen:

options {
        directory "/var/cache/bind";
        listen-on-v6 { any; };
        dnssec-validation auto;
};

Neustart von BIND9

Nach den Änderungen muss der DNS-Server neu gestartet werden:

  • systemctl restart bind9

Überprüfung von DNSSEC

Zur Kontrolle, ob DNSSEC korrekt funktioniert:

  • dig DNSKEY int @localhost +dnssec
  • dig A www.it100.int @localhost +dnssec

Falls die Konfiguration korrekt ist, sollten RRSIG-Einträge sichtbar sein.

Fazit

Mit diesen Schritten ist die Pseudo-Top-Level-Domain mit DNSSEC abgesichert. Falls ein Slave-Server existiert, muss auch dort DNSSEC aktiviert und die signierte Zone übernommen werden.