lpi2:bind-dnssec
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| lpi2:bind-dnssec [2014/02/16 12:06] – ingo_wichmann | lpi2:bind-dnssec [2024/08/09 15:18] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Aktuelle root-keys herunterladen: | + | ====== DNSSEC RRs: DNSKEY, DS, RRSIG ====== |
| - | dig . DNSKEY | grep -Ev ' | + | DNSKEYs für .de Zone anzeigen: |
| + | dig de. DNSKEY | ||
| - | Nameserver abfragen: | + | DS aus DNSKEY erstellen: |
| - | | + | |
| - | Eigenen Schlüssel erzeugen: ((Kann auf einer virtuellen Maschine recht lange dauern. Stichwort: Entropie)) | + | Mit veröffentlichtem DS vergleichen: |
| + | dig de. DS +short | ||
| - | | + | {{: |
| + | |||
| + | Ganze Kette für www.linuxhotel.de anzeigen: | ||
| + | dig www.linuxhotel.de +trace +dnssec | ||
| + | |||
| + | ====== validiert mein Resolver? ====== | ||
| + | dig org. SOA +dnssec | ||
| + | -> flags: ad | ||
| + | |||
| + | ====== Eigene Zone signieren ====== | ||
| + | ===== Voraussetzung ===== | ||
| + | * öffentliche (unsignierte) Zone erstellt, wie in [[bind]] beschrieben | ||
| + | |||
| + | ===== automatisch signieren mit dnssec-policy default ===== | ||
| + | ==== Zone signieren ==== | ||
| + | <file txt / | ||
| + | zone " | ||
| + | type primary; | ||
| + | file " | ||
| + | dnssec-policy default; | ||
| + | inline-signing yes; | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | Konfiguration prüfen und BIND 9 neu laden: | ||
| + | named-checkconf -z | ||
| + | rndc reconfig | ||
| + | |||
| + | === überprüfen === | ||
| + | journalctl -fu named.service | ||
| + | -> zeigt '' | ||
| + | cd / | ||
| + | ls | ||
| + | -> zeigt die Key-Dateien | ||
| + | rndc dnssec -status example.com | ||
| + | -> dnskey: rumoured | ||
| + | named-checkzone -D -f raw -j example.com ./ | ||
| + | -> zeigt die signierte Zone | ||
| + | dig @localhost example.com SOA +dnssec +mu | ||
| + | -> muss RRSIG enthalten | ||
| + | |||
| + | ==== DS hinterlegen ==== | ||
| + | |||
| + | named-checkzone -D -f raw -j example.com ./ | ||
| + | dnssec-dsfromkey -f ~/ | ||
| + | oder | ||
| + | dnssec-dsfromkey Kexample.com.+008+${CSK-ID}.key | tee ~/ | ||
| + | -> Ausgabe in der Zone des übergeordneten Servers einfügen | ||
| + | |||
| + | === prüfen === | ||
| + | dig @9.9.9.9 www.example.com +dnssec | ||
| + | |||
| + | ===== von Hand signieren ===== | ||
| + | Debian: | ||
| + | cd / | ||
| + | mkdir keys | ||
| + | chown bind keys | ||
| + | |||
| + | key-signing key (KSK) erzeugen: (grösserer Schlüssel und KSK-Flag) ((Kann auf einer virtuellen Maschine recht lange dauern. Stichwort: Entropie. Tip: [[http:// | ||
| + | |||
| + | | ||
| + | ls keys/ | ||
| + | |||
| + | -> Schlüssel ID-Nummer von KSK notieren (5-stellige Nummer) | ||
| + | |||
| + | zone-signing key erzeugen: | ||
| + | dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K keys/ example.com | ||
| + | ls keys/ | ||
| + | less keys/ | ||
| + | |||
| + | -> Schlüssel ID-Nummer von ZSK notieren (5-stellige Nummer) | ||
| + | |||
| + | Rechte auf den Schlüsseldateien anpassen: | ||
| + | chown bind keys/* | ||
| + | |||
| + | Öffentliche Schlüssel zu Zone hinzufügen: | ||
| + | cat keys/ | ||
| + | |||
| + | Signierte Zonendatei erzeugen: (30 Tage gültig) | ||
| + | dnssec-signzone -o example.com -k keys/ | ||
| + | chown bind:bind master/ | ||
| + | less master/ | ||
| + | |||
| + | Signierte Zonendatei einbinden: | ||
| + | <file txt / | ||
| + | zone " | ||
| + | … | ||
| + | file " | ||
| + | … | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | Konfiguration prüfen und BIND 9 neu laden: | ||
| + | named-checkconf -z | ||
| + | rndc reload | ||
| + | |||
| + | Testen: | ||
| + | dig @localhost example.com SOA +dnssec +mu | ||
| + | -> muss RRSIG enthalten | ||
| + | |||
| + | ==== DS-Record hinterlegen ==== | ||
| + | |||
| + | DS-Record erstellen: | ||
| + | dnssec-dsfromkey keys/ | ||
| + | dnssec-dsfromkey keys/ | ||
| + | |||
| + | Eintrag bei Registry bzw. übergeordneter Domain hinterlegen | ||
| + | |||
| + | Testen: | ||
| + | dig @1.1.1.1 soa example.com +dnssec +mu | ||
| + | -> ad-Flag muss gesetzt sein | ||
| + | |||
| + | ===== automatisch ZSK signieren mit auto-dnssec maintain ===== | ||
| + | Debian: | ||
| + | cd / | ||
| + | |||
| + | Schritte wie bei [[#von Hand signieren]], | ||
| + | |||
| + | Zonendatei von bind signieren lassen: | ||
| + | <file txt / | ||
| + | zone " | ||
| + | … | ||
| + | file " | ||
| + | auto-dnssec maintain; | ||
| + | inline-signing yes; | ||
| + | … | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | Konfiguration prüfen und BIND 9 neu laden: | ||
| + | named-checkconf -z | ||
| + | rndc reconfig | ||
| + | |||
| + | Zone (erstmalig) signieren: | ||
| + | rndc sign example.com | ||
| + | |||
| + | Testen: | ||
| + | dig @localhost example.com SOA +dnssec +mu | ||
| + | -> muss RRSIG enthalten | ||
| + | |||
| + | |||
| + | rndc sync linuxhotel.de | ||
| + | named-compilezone -f RAW -o - example.com master/ | ||
| + | |||
| + | ===== automatisch signieren mit dnssec-policy, | ||
| + | ==== Voraussetzung ==== | ||
| + | * öffentliche (unsignierte) Zone vorhanden | ||
| + | |||
| + | ==== Zone signieren ==== | ||
| + | <file txt / | ||
| + | options { | ||
| + | … | ||
| + | }; | ||
| + | dnssec-policy " | ||
| + | keys { | ||
| + | ksk lifetime unlimited algorithm ecdsa256; | ||
| + | zsk lifetime P90D algorithm ecdsa256; | ||
| + | }; | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | <file txt / | ||
| + | zone " | ||
| + | type primary; | ||
| + | file " | ||
| + | dnssec-policy " | ||
| + | update-policy local; | ||
| + | inline-signing yes; | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | Konfiguration prüfen und BIND 9 neu laden: | ||
| + | named-checkconf -z | ||
| + | rndc reconfig | ||
| + | |||
| + | === überprüfen === | ||
| + | journalctl -fu named.service | ||
| + | -> zeigt '' | ||
| + | ls / | ||
| + | -> 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+${KSK-ID}.key | tee ~/ | ||
| + | -> Ausgabe in der Zone den übergeordneten Servers einfügen | ||
| + | |||
| + | ====== Doku und Links ====== | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * file:/// | ||
lpi2/bind-dnssec.1392552371.txt.gz · Zuletzt geändert: 2014/02/16 12:06 von ingo_wichmann
