Dnssec Praxis

Aus Xinux Wiki
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.