Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi2:bind-dnssec [2014/02/18 21:04] ingo_wichmann |
lpi2:bind-dnssec [2021/06/05 05:28] (aktuell) ingo_wichmann [DS-Record hinterlegen] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== dig ====== | ====== dig ====== | ||
Aktuelle root-keys herunterladen: | Aktuelle root-keys herunterladen: | ||
- | dig . DNSKEY | grep -Ev '^($|;)' > root.keys | + | dig . DNSKEY | egrep -v '^($|;)' > root.keys |
Nameserver abfragen: | Nameserver abfragen: | ||
Zeile 14: | Zeile 14: | ||
====== Eigene Zone signieren ====== | ====== Eigene Zone signieren ====== | ||
- | Eigenen Schlüssel erzeugen: ((Kann auf einer virtuellen Maschine recht lange dauern. Stichwort: Entropie. Tip: haveged)) | + | ===== von Hand signieren ===== |
+ | Debian: | ||
+ | cd /var/cache/bind | ||
+ | mkdir keys | ||
+ | chown bind keys | ||
- | dnssec-keygen -a RSASHA1 -b 1024 -n ZONE example.com | + | key-signing key (KSK) erzeugen: (grösserer Schlüssel und KSK-Flag) ((Kann auf einer virtuellen Maschine recht lange dauern. Stichwort: Entropie. Tip: [[http://www.issihosts.com/haveged/|haveged]] )) |
- | ====== unsortiert ====== | + | dnssec-keygen -a RSASHA256 -b 2560 -n ZONE -K keys/ -f KSK example.com |
+ | ls keys/Kexample.com.* | ||
- | 505 dnssec-keygen -a RSASHA256 -b 1024 -n ZONE linuxhotel.de | + | -> Schlüssel ID-Nummer von KSK ZSK notieren (5-stellige Nummer) |
- | 506 dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE linuxhotel.de | + | |
- | 507 more Klinuxhotel.de.+008+27427.key | + | zone-signing key erzeugen: |
- | 508 more Klinuxhotel.de.+008+16233.key | + | dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K keys/ example.com |
- | 509 nano linuxhotel.de | + | ls keys/Kexample.com.* |
- | 510 named-checkzone linuxhotel.de linuxhotel.de | + | less keys/Kexample.com.*.key |
- | 512 cat Klinuxhotel.de.+008+*.key >> linuxhotel.de | + | |
- | 513 more linuxhotel.de | + | -> Schlüssel ID-Nummer von ZSK notieren (5-stellige Nummer) |
- | 514 dnssec-signzone -o linuxhotel.de -k | + | |
- | Klinuxhotel.de.+008+27427.private linuxhotel.de | + | Rechte auf den Schlüsseldateien anpassen: |
- | Klinuxhotel.de.+008+16233.private | + | chown bind keys/* |
- | 515 more linuxhotel.de.signed | + | |
+ | Öffentliche Schlüssel zu Zone hinzufügen: | ||
+ | cat keys/Kexample.com.+008+*.key >> master/example.com | ||
+ | |||
+ | Signierte Zonendatei erzeugen: (30 Tage gültig) | ||
+ | dnssec-signzone -o example.com -k keys/Kexample.com.+008+${KSK-ID}.private master/example.com keys/Kexample.com.+008+${ZSK-ID}.private | ||
+ | chown bind:bind master/example.com.signed | ||
+ | less master/example.com.signed | ||
+ | |||
+ | Signierte Zonendatei einbinden: | ||
+ | <file txt /etc/bind/named.conf.local> | ||
+ | zone "example.com" { | ||
+ | … | ||
+ | file "master/example.com.signed"; | ||
+ | … | ||
+ | }; | ||
+ | </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 ===== | ||
+ | |||
+ | {{:lpi2:ds-dnskey.png?400|}} | ||
+ | |||
+ | |||
+ | DS-Record erstellen: | ||
+ | dnssec-dsfromkey keys/Kexample.com.+008+${KSK-ID}.key | ||
+ | dnssec-dsfromkey keys/Kexample.com.+008+${KSK-ID}.key > ~/ds-example.com | ||
+ | |||
+ | Eintrag bei Registry bzw. übergeordneter Domain hinterlegen | ||
+ | |||
+ | Testen: | ||
+ | dig @1.1.1.1 soa example.com +dnssec +mu | ||
+ | -> ad-Flag muss gesetzt sein | ||
+ | |||
+ | ===== bind automatisch ZSK signieren lassen ===== | ||
+ | Debian: | ||
+ | cd /var/cache/bind | ||
+ | |||
+ | Schritte wie bei [[#von Hand signieren]], aber signierte Zonendatei nicht mehr (selbst) erzeugen, sondern ab da folgende Schritte: | ||
+ | |||
+ | Zonendatei von bind signieren lassen: | ||
+ | <file txt /etc/bind/named.conf.local> | ||
+ | zone "example.com" { | ||
+ | … | ||
+ | file "master/example.com"; | ||
+ | auto-dnssec maintain; | ||
+ | inline-signing yes; | ||
+ | … | ||
+ | }; | ||
+ | </file> | ||
+ | |||
+ | 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/example.com.signed | less | ||
- | Bind 9.9 kann seine Zonen selbst signieren. | ||
====== Doku und Links ====== | ====== Doku und Links ====== | ||
* http://dnssectest.sidnlabs.nl/ | * http://dnssectest.sidnlabs.nl/ | ||
* http://test.dnssec-or-not.org/ | * http://test.dnssec-or-not.org/ | ||
- | * file://usr/share/doc/bind9-doc/arm/Bv9ARM.ch04.html#DNSSEC | + | * file:///usr/share/doc/bind9-doc/arm/Bv9ARM.ch04.html#DNSSEC |