Pseudo top level domain DNSSEC: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | + | =DNSSEC für Pseudo Top Level Domain (.int)= | |
| − | = | + | =Ziel= |
| − | + | *Der Server 192.168.6.88 ist der gefakte Root für .int | |
| + | *Die Zone int wird kryptografisch signiert | ||
| + | *Der Server validiert nicht – er liefert nur signierte Daten | ||
| + | *Die Validierung erfolgt später auf einem Resolver mit Trust-Anker | ||
| − | + | =Voraussetzungen= | |
| − | * | + | *BIND9 läuft |
| − | * | + | *bind9-utils ist installiert |
| − | * | + | *Zone int funktioniert ohne DNSSEC |
| − | = | + | =Auf dem Rechner 192.168.6.88= |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ==Optionen== | |
| − | + | *cat /etc/bind/named.conf.options | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<pre> | <pre> | ||
options { | options { | ||
directory "/var/cache/bind"; | directory "/var/cache/bind"; | ||
| + | dnssec-validation no; | ||
listen-on-v6 { none; }; | listen-on-v6 { none; }; | ||
allow-recursion { any; }; | allow-recursion { any; }; | ||
| − | allow-query { any; }; | + | allow-query { any; }; |
| − | + | allow-transfer { none; }; | |
}; | }; | ||
</pre> | </pre> | ||
| − | == | + | ==Schlüssel für die Zone int erzeugen== |
| − | + | ;ZSK erzeugen | |
| − | * | + | *dnssec-keygen -a RSASHA256 -b 2048 -n ZONE int |
| − | + | ;KSK erzeugen | |
| − | + | *dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE int | |
| − | * | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | int | ||
| − | |||
| − | + | ;Beispielausgabe | |
<pre> | <pre> | ||
| − | + | Kint.+008+12345.key | |
| − | + | Kint.+008+12345.private | |
| − | + | Kint.+008+67890.key | |
| − | + | Kint.+008+67890.private | |
| − | |||
| − | |||
</pre> | </pre> | ||
| + | ==DNSKEY in die Zone einbinden== | ||
| + | ;In die Datei /var/cache/bind/int einfügen | ||
| + | *for k in Kint*.key ; do echo "\$INCLUDE /var/cache/bind/$k" >> /var/cache/bind/int; done | ||
| − | + | ==Zone signieren== | |
| + | *dnssec-signzone -A -N INCREMENT -o int -t /var/cache/bind/int | ||
| − | + | ;Erzeugt | |
| − | + | <pre> | |
| + | /var/cache/bind/int.signed | ||
| + | </pre> | ||
| − | + | ==BIND auf signierte Zone umstellen== | |
| + | *cat /etc/bind/named.conf.local | ||
| + | <pre> | ||
| + | zone "int" { | ||
| + | type master; | ||
| + | file "/var/cache/bind/int.signed"; | ||
| + | }; | ||
| + | </pre> | ||
| − | + | ==Dienst neu starten== | |
| − | * | + | *systemctl restart bind9 |
| − | + | ==Überprüfung== | |
| − | *dig | + | *dig @192.168.6.88 int DNSKEY +dnssec |
| − | + | ;Es müssen DNSKEY und RRSIG Einträge erscheinen | |
| − | + | =Trust-Anker auf dem Resolver= | |
| − | + | ;DNSKEY ermitteln | |
| + | *dig DNSKEY int @192.168.6.88 +short | ||
| − | + | ;Nur der Key mit Kennung 257 3 13 wird verwendet | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | ;Auf dem validierenden Resolver eintragen | ||
| + | *cat /etc/bind/named.conf.options | ||
| + | <pre> | ||
managed-keys { | managed-keys { | ||
| − | int. initial-key 257 3 13 " | + | int. initial-key 257 3 13 "BASE64-KSK-HIER-EINFÜGEN"; |
| − | |||
}; | }; | ||
| − | + | </pre> | |
| − | |||
| − | |||
| − | |||
*systemctl restart bind9 | *systemctl restart bind9 | ||
| − | + | =Ergebnis= | |
| − | + | *Der Fake Root .int ist signiert | |
| − | + | *Der Resolver vertraut dem KSK von int | |
| − | + | *Die Vertrauenskette beginnt im Resolver | |
| + | *Der Fake Root arbeitet wie eine echte TLD mit eigenem Trust-Anker | ||
Version vom 24. Februar 2026, 14:40 Uhr
DNSSEC für Pseudo Top Level Domain (.int)
Ziel
- Der Server 192.168.6.88 ist der gefakte Root für .int
- Die Zone int wird kryptografisch signiert
- Der Server validiert nicht – er liefert nur signierte Daten
- Die Validierung erfolgt später auf einem Resolver mit Trust-Anker
Voraussetzungen
- BIND9 läuft
- bind9-utils ist installiert
- Zone int funktioniert ohne DNSSEC
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 { none; };
};
Schlüssel für die Zone int erzeugen
- ZSK erzeugen
- dnssec-keygen -a RSASHA256 -b 2048 -n ZONE int
- KSK erzeugen
- dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE int
- Beispielausgabe
Kint.+008+12345.key Kint.+008+12345.private Kint.+008+67890.key Kint.+008+67890.private
DNSKEY in die Zone einbinden
- In die Datei /var/cache/bind/int einfügen
- for k in Kint*.key ; do echo "\$INCLUDE /var/cache/bind/$k" >> /var/cache/bind/int; done
Zone signieren
- dnssec-signzone -A -N INCREMENT -o int -t /var/cache/bind/int
- Erzeugt
/var/cache/bind/int.signed
BIND auf signierte Zone umstellen
- cat /etc/bind/named.conf.local
zone "int" {
type master;
file "/var/cache/bind/int.signed";
};
Dienst neu starten
- systemctl restart bind9
Überprüfung
- dig @192.168.6.88 int DNSKEY +dnssec
- Es müssen DNSKEY und RRSIG Einträge erscheinen
Trust-Anker auf dem Resolver
- DNSKEY ermitteln
- dig DNSKEY int @192.168.6.88 +short
- Nur der Key mit Kennung 257 3 13 wird verwendet
- Auf dem validierenden 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
- Der Resolver vertraut dem KSK von int
- Die Vertrauenskette beginnt im Resolver
- Der Fake Root arbeitet wie eine echte TLD mit eigenem Trust-Anker