Pseudo top level domain DNSSEC
Zur Navigation springen
Zur Suche springen
Schaubild
Forward Zonen
Reverse Zonen
Script
Die Idee
- Wir faken einen Top Level Domain Nameserver.
- Dieser hat zur Aufgabe zu wissen wer die Second Level Domains verwaltet.
- Wir delegieren diese Domains an die Teilnehmer.
- Durch das Einstellen des gefakten Top Level Domain Servers als Forwarder wird jeder Anfragende an den richtigen Nameserver geleitet.
- Die Zone .int wird zusätzlich mit DNSSEC signiert.
- Der Trust-Anker wird später auf validierenden Resolvern gesetzt.
Auf dem Rechner 192.168.6.88
Optionen
- cat /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
dnssec-validation no;
listen-on-v6 { none; };
allow-recursion { any; };
allow-query { any; };
allow-transfer { 127.0.0.1; };
};
Die Zonenfestlegung
- cat /etc/bind/named.conf.local
zone "int" {
type master;
forwarders {};
file "int.signed";
};
zone "88.10.in-addr.arpa" {
type master;
forwarders {};
file "88.10.in-addr.arpa";
};
Die Zonen selbst (unsigniert)
- cat /var/cache/bind/int
$TTL 300
@ IN SOA dnsgw.int. technik.kit.lab. (
2023022010 14400 3600 3600000 86400)
IN NS dnsgw
dnsgw IN A 192.168.6.88
$GENERATE 201-213 ns.it$ A 10.88.$.21
$GENERATE 201-213 it$ NS ns.it$
- cat /var/cache/bind/88.10.in-addr.arpa
$TTL 300
@ IN SOA dnsgw.int. technik.kit.lab. (
2023022010 14400 3600 3600000 86400)
IN NS dnsgw.int.
$GENERATE 201-213 $ NS ns.it$.int.
DNSSEC Schlüssel erzeugen
- Für die Zone int
- dnssec-keygen -a RSASHA256 -b 2048 -n ZONE int
- dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE int
DNSKEY in die Zonen einbinden
- int
- for k in Kint*.key ; do echo "\$INCLUDE /var/cache/bind/$k" >> /var/cache/bind/int; done
Zonen signieren
- dnssec-signzone -A -N INCREMENT -o int -t /var/cache/bind/int
- Erzeugt
/var/cache/bind/int.signed
Dienst neu starten
- systemctl restart bind9
Überprüfung
- dig @192.168.6.88 int DNSKEY +dnssec
- DNSKEY und RRSIG Einträge müssen sichtbar sein
Trust-Anker auf einem validierenden Resolver
- KSK ermitteln
- dig DNSKEY int @192.168.6.88 +short
- Nur der Key mit Kennung 257 3 13 wird verwendet
- Auf dem Resolver eintragen
- cat /etc/bind/named.conf.options
managed-keys {
int. initial-key 257 3 13 "BASE64-KSK-HIER-EINFÜGEN";
};
- systemctl restart bind9
Ergebnis
- Der Fake Root .int ist signiert
- Delegationen funktionieren wie zuvor
- DNSSEC beginnt beim Resolver durch expliziten Trust-Anker

