Pseudo second level domain DNSSEC
DNSSEC für die Second-Level-Zone it213.int und 213.88.10.in-addr.arpa
Übersicht
- Die Toplevel-Domain int. ist bereits mit DNSSEC signiert und läuft auf dnsgw.gw. - Die Second-Level-Zone it213.int wird auf ns.it213.int gehostet. - Die Reverse-Zone 213.88.10.in-addr.arpa wird ebenfalls auf ns.it213.int verwaltet. - Ziel: DNSSEC-Signierung beider Zonen und Veröffentlichung der DS-Records in der Parent-Zone.
Schlüssel für it213.int generieren (auf ns.it213.int)
ZSK erzeugen
- KSK_IT=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind it213.int)
- ZSK_IT=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind it213.int)
Schlüssel für 213.88.10.in-addr.arpa generieren (auf ns.it213.int)
ZSK erzeugen
- KSK_REV=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind 213.88.10.in-addr.arpa)
- ZSK_REV=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind 213.88.10.in-addr.arpa)
Schlüssel in die Zonendateien eintragen (auf ns.it213.int)
it213.int
- echo "\$INCLUDE /var/cache/bind/$KSK_IT.key" >> /var/cache/bind/it213.int
- echo "\$INCLUDE /var/cache/bind/$ZSK_IT.key" >> /var/cache/bind/it213.int
213.88.10.in-addr.arpa
- echo "\$INCLUDE /var/cache/bind/$KSK_REV.key" >> /var/cache/bind/213.88.10.in-addr.arpa
- echo "\$INCLUDE /var/cache/bind/$ZSK_REV.key" >> /var/cache/bind/213.88.10.in-addr.arpa
Zonen signieren (auf ns.it213.int)
it213.int
- dnssec-signzone -A -N INCREMENT -o it213.int -t /var/cache/bind/it213.int
213.88.10.in-addr.arpa
- dnssec-signzone -A -N INCREMENT -o 213.88.10.in-addr.arpa -t /var/cache/bind/213.88.10.in-addr.arpa
Bind konfigurieren, um die signierten Zonen zu verwenden (auf ns.it213.int)
In der Datei /etc/bind/named.conf.local:
zone "it213.int" {
type master;
file "/var/cache/bind/it213.int.signed";
allow-transfer { any; };
allow-query { any; };
};
zone "213.88.10.in-addr.arpa" {
type master;
file "/var/cache/bind/213.88.10.in-addr.arpa.signed";
allow-transfer { any; };
allow-query { any; };
};
dnssec-validation auf yes stellen
- cat /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
dnssec-validation yes;
listen-on-v6 { none; };
forwarders { 192.168.3.88; };
empty-zones-enable no;
};
Konfiguration übernehmen und testen
Bind9 neustarten und Zonenstatus prüfen
- systemctl restart bind9
- rndc reload
- rndc zonestatus it213.int
- rndc zonestatus 213.88.10.in-addr.arpa
DS-Records an die Parent-Zonen übergeben
it213.int
- dnssec-dsfromkey -2 /var/cache/bind/$KSK_IT.key
Den ausgegebenen DS-Record in die Parent-Zone int. auf dnsgw.gw eintragen.
213.88.10.in-addr.arpa
- dnssec-dsfromkey -2 /var/cache/bind/$KSK_REV.key
Den ausgegebenen DS-Record in die übergeordnete Zone 88.10.in-addr.arpa auf dnsgw.gw eintragen.
Toplevel-Zone neu signieren (auf dnsgw)
- 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
Neustart von BIND:
- systemctl restart bind9
Überprüfung (auf beliebigem Client)
it213.int
- dig +dnssec it213.int
- dig +dnssec www.it213.int
213.88.10.in-addr.arpa
- dig +dnssec 213.88.10.in-addr.arpa
Falls alles korrekt ist, sollte das AD-Bit (Authentic Data) gesetzt sein.