Dnssec Praxis
Aktivierung von DNSSEC für die Zone int
Um DNSSEC für die Zone int unter BIND zu aktivieren, sind folgende Schritte notwendig.
Voraussetzungen
- Der BIND-Server muss mit DNSSEC-Unterstützung kompiliert sein.
- Die Werkzeuge dnssec-keygen und dnssec-signzone müssen installiert sein.
Schlüsselerzeugung
Zunächst werden ein Key Signing Key (KSK) und ein Zone Signing Key (ZSK) erstellt.
Erzeugen des KSK
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -r /dev/urandom int
Erzeugen des ZSK
dnssec-keygen -a RSASHA256 -b 1024 -r /dev/urandom int
Dies generiert mehrere Dateien, darunter die öffentlichen Schlüssel Kint.+008+xxxxx.key und die privaten Schlüssel Kint.+008+xxxxx.private.
Schlüssel in die Zone int einfügen
Die öffentlichen Schlüssel müssen in die Zonendatei int eingefügt werden.
cat 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 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.