Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
|
lpi2:bind-dnssec [2024/08/09 14:11] ingo_wichmann [Eigenen Resolver testen] |
lpi2:bind-dnssec [2024/08/09 15:18] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== dig ====== | + | ====== DNSSEC RRs: DNSKEY, DS, RRSIG ====== |
| - | Aktuelle root-keys anzeigen: | + | DNSKEYs für .de Zone anzeigen: |
| - | dig . DNSKEY | grep -Ev '^($|;)' | + | dig de. DNSKEY +nocomments | tee de.dnskey |
| - | ====== Eigenen Resolver testen ====== | + | |
| + | DS aus DNSKEY erstellen: | ||
| + | dnssec-dsfromkey -f de.dnskey de | ||
| + | |||
| + | Mit veröffentlichtem DS vergleichen: | ||
| + | dig de. DS +short | ||
| + | |||
| + | {{:lpi2:ds-dnskey.png?400|}} | ||
| + | |||
| + | Ganze Kette für www.linuxhotel.de anzeigen: | ||
| + | dig www.linuxhotel.de +trace +dnssec | ||
| + | |||
| + | ====== validiert mein Resolver? ====== | ||
| dig org. SOA +dnssec | dig org. SOA +dnssec | ||
| -> flags: ad | -> flags: ad | ||
| - | |||
| ====== Eigene Zone signieren ====== | ====== Eigene Zone signieren ====== | ||
| - | {{:lpi2:ds-dnskey.png?400|}} | + | ===== Voraussetzung ===== |
| - | ==== Voraussetzung ==== | + | * öffentliche (unsignierte) Zone erstellt, wie in [[bind]] beschrieben |
| - | * öffentliche (unsignierte) Zone vorhanden | + | |
| + | ===== automatisch signieren mit dnssec-policy default ===== | ||
| + | ==== Zone signieren ==== | ||
| + | <file txt /etc/bind/named.conf.local> | ||
| + | zone "example.com" { | ||
| + | type primary; | ||
| + | file "example.com"; | ||
| + | dnssec-policy default; | ||
| + | inline-signing yes; | ||
| + | }; | ||
| + | </file> | ||
| + | |||
| + | Konfiguration prüfen und BIND 9 neu laden: | ||
| + | named-checkconf -z | ||
| + | rndc reconfig | ||
| + | |||
| + | === überprüfen === | ||
| + | journalctl -fu named.service | ||
| + | -> zeigt ''DNSKEY example.com/ECDSAP256SHA256/${CSK-ID} (CSK) is now active'', wobei ${CSK-ID} die ID des neuen Keys ist. | ||
| + | cd /var/cache/bind | ||
| + | ls | ||
| + | -> zeigt die Key-Dateien | ||
| + | rndc dnssec -status example.com | ||
| + | -> dnskey: rumoured | ||
| + | named-checkzone -D -f raw -j example.com ./example.com.signed | ||
| + | -> zeigt die signierte Zone | ||
| + | dig @localhost example.com SOA +dnssec +mu | ||
| + | -> muss RRSIG enthalten | ||
| + | |||
| + | ==== DS hinterlegen ==== | ||
| + | |||
| + | named-checkzone -D -f raw -j example.com ./example.com.signed | tee ~/example.com.signed.export | ||
| + | dnssec-dsfromkey -f ~/example.com.signed.export example.com | tee ~/ds.example.com | ||
| + | oder | ||
| + | dnssec-dsfromkey Kexample.com.+008+${CSK-ID}.key | tee ~/ds.example.com | ||
| + | -> Ausgabe in der Zone des übergeordneten Servers einfügen | ||
| + | |||
| + | === prüfen === | ||
| + | dig @9.9.9.9 www.example.com +dnssec | ||
| ===== von Hand signieren ===== | ===== von Hand signieren ===== | ||
| Zeile 148: | Zeile 197: | ||
| dnssec-dsfromkey Kexample.com.+008+${KSK-ID}.key | tee ~/ds.example.com | dnssec-dsfromkey Kexample.com.+008+${KSK-ID}.key | tee ~/ds.example.com | ||
| - | -> Ausgabe in der Zone den übergeordneten Servers einfügen | ||
| - | |||
| - | ===== automatisch signieren mit dnssec-policy default ===== | ||
| - | ==== Voraussetzung ==== | ||
| - | * öffentliche (unsignierte) Zone vorhanden | ||
| - | |||
| - | ==== Zone signieren ==== | ||
| - | <file txt /etc/bind/named.conf.local> | ||
| - | zone "example.com" { | ||
| - | type primary; | ||
| - | file "primary/example.com"; | ||
| - | dnssec-policy default; | ||
| - | inline-signing yes; | ||
| - | }; | ||
| - | </file> | ||
| - | |||
| - | Konfiguration prüfen und BIND 9 neu laden: | ||
| - | named-checkconf -z | ||
| - | rndc reconfig | ||
| - | |||
| - | === überprüfen === | ||
| - | journalctl -fu named.service | ||
| - | -> zeigt ''DNSKEY example.com/ECDSAP256SHA256/${CSK-ID} (CSK) is now active'', wobei ${CSK-ID} die ID des neuen Keys ist. | ||
| - | ls /var/cache/bind | ||
| - | -> zeigt die Key-Dateien | ||
| - | named-checkzone -D -f raw -j example.com example.com.signed | ||
| - | -> zeigt die signierte Zone | ||
| - | dig @localhost example.com SOA +dnssec +mu | ||
| - | -> muss RRSIG enthalten | ||
| - | |||
| - | ==== DS hinterlegen ==== | ||
| - | |||
| - | dnssec-dsfromkey Kexample.com.+008+${CSK-ID}.key | tee ~/ds.example.com | ||
| -> Ausgabe in der Zone den übergeordneten Servers einfügen | -> Ausgabe in der Zone den übergeordneten Servers einfügen | ||
| ====== Doku und Links ====== | ====== Doku und Links ====== | ||
| - | * https://dnssectest.sidnlabs.nl/ | + | * https://bind9.readthedocs.io/en/latest/dnssec-guide.html |
| - | * https://test.dnssec-or-not.org/ | + | * https://internet.nl/ |
| * file:///usr/share/doc/bind9-doc/arm/Bv9ARM.ch04.html#DNSSEC | * file:///usr/share/doc/bind9-doc/arm/Bv9ARM.ch04.html#DNSSEC | ||