Dnssec Praxis

Aus Xinux Wiki
Version vom 3. März 2025, 16:55 Uhr von Thomas.will (Diskussion | Beiträge) (→‎Schlüsselerzeugung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Aktivierung von DNSSEC für die Zone int

Diese Anleitung beschreibt die vollständige Einrichtung von DNSSEC für die Zone int unter BIND.

Voraussetzungen

  • Der BIND-Server muss mit DNSSEC-Unterstützung kompiliert sein.
  • Die Tools dnssec-keygen und dnssec-signzone müssen installiert sein.

Erstellen des Schlüsselverzeichnisses

Damit die Schlüsseldateien ordentlich verwaltet werden, wird ein Verzeichnis für die DNSSEC-Schlüssel angelegt:

mkdir -p /var/cache/bind/keys
cd /var/cache/bind/keys

Schlüsselerzeugung

Es werden zwei Schlüssel benötigt: ein Key Signing Key (KSK) und ein Zone Signing Key (ZSK).

Erzeugen des KSK

dnssec-keygen -a RSASHA256 -b 2048 -f KSK int

Erzeugen des ZSK

dnssec-keygen -a RSASHA256 -b 1024  int

Nach der Ausführung dieser Befehle befinden sich mehrere Dateien im Verzeichnis /var/cache/bind/keys. Die relevanten Schlüsseldateien haben das Format:

  • Kint.+008+XXXXX.key (öffentlicher Schlüssel)
  • Kint.+008+XXXXX.private (privater Schlüssel)

Einfügen der Schlüssel in die Zonendatei

Die öffentlichen Schlüssel müssen in die Zonendatei /var/cache/bind/int aufgenommen werden:

cat /var/cache/bind/keys/Kint.+008+*.key >> /var/cache/bind/int

Signieren der Zone

Nun wird die Zone signiert:

dnssec-signzone -A -o int -t /var/cache/bind/int

Dabei wird eine neue signierte Datei int.signed erzeugt.

Konfiguration von BIND

Die Konfigurationsdatei named.conf muss angepasst werden, damit BIND die signierte Zonendatei nutzt:

zone "int" {
    type master;
    file "/var/cache/bind/int.signed";
    allow-query { any; };
};

Neustart von BIND

Nach den Änderungen muss BIND neu gestartet werden:

systemctl restart bind9

Eintragen des DS-Records

Falls die Zone int delegiert ist, muss der DS-Record an die übergeordnete Instanz weitergegeben werden. Dieser kann mit folgendem Befehl extrahiert werden:

dnssec-dsfromkey -f /var/cache/bind/keys/Kint.+008+XXXXX.key int

Überprüfung von DNSSEC

Die Konfiguration kann mit folgendem Befehl überprüft werden:

dig +dnssec @127.0.0.1 int SOA

Falls die Signatur gültig ist, sollte ein RRSIG-Eintrag in der Ausgabe erscheinen.

Damit ist DNSSEC für die Zone int erfolgreich eingerichtet.