Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi2:bind-dnssec [2019/12/17 23:41] ingo_wichmann [von Hand signieren] |
lpi2:bind-dnssec [2021/06/05 05:28] (aktuell) ingo_wichmann [DS-Record hinterlegen] |
||
---|---|---|---|
Zeile 19: | Zeile 19: | ||
mkdir keys | mkdir keys | ||
chown bind keys | chown bind keys | ||
- | |||
- | Centos: | ||
- | cd /var/named | ||
- | mkdir keys | ||
- | chown named 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://www.issihosts.com/haveged/|haveged]] )) | 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]] )) | ||
Zeile 47: | Zeile 42: | ||
Signierte Zonendatei erzeugen: (30 Tage gültig) | 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 | 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 | less master/example.com.signed | ||
+ | Signierte Zonendatei einbinden: | ||
<file txt /etc/bind/named.conf.local> | <file txt /etc/bind/named.conf.local> | ||
zone "example.com" { | zone "example.com" { | ||
Zeile 58: | Zeile 54: | ||
</file> | </file> | ||
- | Todo: | + | Konfiguration prüfen und BIND 9 neu laden: |
+ | named-checkconf -z | ||
+ | rndc reload | ||
- | * Diesen Server als hidden primary konfigurieren | + | Testen: |
- | * wöchentlichen cron-job zum Signieren anlegen | + | dig @localhost example.com SOA +dnssec +mu |
+ | -> muss RRSIG enthalten | ||
- | ===== bind automatisch ZSK signieren lassen ===== | + | ===== DS-Record hinterlegen ===== |
- | Debian: | + | |
- | cd /var/lib/named | + | |
- | Centos: (( möglicherweise kann man das | + | {{:lpi2:ds-dnskey.png?400|}} |
- | setenforce Permissive | + | |
- | mit | + | |
- | restorecon -rv /var/named | + | |
- | vermeiden. Noch nicht gestestet )) | + | |
- | cd /var/named | + | |
- | setenforce Permissive | + | |
- | mkdir keys | ||
- | chown named keys master | ||
- | zone-signing key erzeugen: ((Kann auf einer virtuellen Maschine recht lange dauern. Stichwort: Entropie. Tip: [[http://www.issihosts.com/haveged/|haveged]])) | + | DS-Record erstellen: |
+ | dnssec-dsfromkey keys/Kexample.com.+008+${KSK-ID}.key | ||
+ | dnssec-dsfromkey keys/Kexample.com.+008+${KSK-ID}.key > ~/ds-example.com | ||
- | dnssec-keygen -a RSASHA512 -b 1536 -n ZONE example.com -K keys | + | Eintrag bei Registry bzw. übergeordneter Domain hinterlegen |
- | ls keys/Kexample.com.* | + | |
- | less keys/Kexample.com.*.key | + | |
- | key-signing key erzeugen: | + | Testen: |
- | dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE example.com -K keys | + | dig @1.1.1.1 soa example.com +dnssec +mu |
- | ls keys/Kexample.com.* | + | -> ad-Flag muss gesetzt sein |
- | Zone signieren: | + | ===== bind automatisch ZSK signieren lassen ===== |
- | rndc sign | + | Debian: |
- | + | cd /var/cache/bind | |
- | dig dnskey @127.0.0.1 test +short | + | |
- | dig rrsig @127.0.0.1 test +short | + | |
- | ===== inline-signing ===== | + | 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> | <file txt /etc/bind/named.conf.local> | ||
- | zone "linuxhotel.de" { | + | zone "example.com" { |
- | type master; | + | … |
- | file "master/linuxhotel.de"; | + | file "master/example.com"; |
- | key-directory "keys"; | + | |
- | inline-signing yes; | + | |
auto-dnssec maintain; | auto-dnssec maintain; | ||
- | } | + | inline-signing yes; |
+ | … | ||
+ | }; | ||
</file> | </file> | ||
+ | Konfiguration prüfen und BIND 9 neu laden: | ||
+ | named-checkconf -z | ||
rndc reconfig | rndc reconfig | ||
- | rndc sign linuxhotel.de | + | |
- | ls -Rlrt /var/cache/bind | + | Zone (erstmalig) signieren: |
+ | rndc sign example.com | ||
+ | |||
+ | Testen: | ||
+ | dig @localhost example.com SOA +dnssec +mu | ||
+ | -> muss RRSIG enthalten | ||
+ | |||
rndc sync linuxhotel.de | rndc sync linuxhotel.de | ||
- | named-compilezone -f RAW -o - linuxhotel.de linuxhotel.de.signed | less | + | named-compilezone -f RAW -o - example.com master/example.com.signed | less |
- | + | ||
====== Doku und Links ====== | ====== Doku und Links ====== | ||
* http://dnssectest.sidnlabs.nl/ | * http://dnssectest.sidnlabs.nl/ |