Pseudo second level domain DNSSEC: Unterschied zwischen den Versionen
| Zeile 1: | Zeile 1: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
= DNSSEC für die Second-Level-Domain it113.int = | = DNSSEC für die Second-Level-Domain it113.int = | ||
| Zeile 64: | Zeile 6: | ||
* '''Ziel:''' DNSSEC-Signierung von '''it113.int''' und Veröffentlichung des DS-Records in der Parent-Zone ''int.''. | * '''Ziel:''' DNSSEC-Signierung von '''it113.int''' und Veröffentlichung des DS-Records in der Parent-Zone ''int.''. | ||
| − | == | + | == Schlüssel für it113.int generieren (auf ns.it113.int) == |
* '''dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE it113.int''' | * '''dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE it113.int''' | ||
* '''dnssec-keygen -a RSASHA256 -b 1024 -n ZONE it113.int''' | * '''dnssec-keygen -a RSASHA256 -b 1024 -n ZONE it113.int''' | ||
| − | == | + | == Schlüssel in die Zonendatei eintragen (auf ns.it113.int) == |
* '''cat K*.key >> /etc/bind/zones/it113.int.zone''' | * '''cat K*.key >> /etc/bind/zones/it113.int.zone''' | ||
| − | == | + | == Zone signieren (auf ns.it113.int) == |
* '''dnssec-signzone -A -N INCREMENT -o it113.int -t /etc/bind/zones/it113.int.zone''' | * '''dnssec-signzone -A -N INCREMENT -o it113.int -t /etc/bind/zones/it113.int.zone''' | ||
Ergebnis: Die signierte Datei '''it113.int.zone.signed'''. | Ergebnis: Die signierte Datei '''it113.int.zone.signed'''. | ||
| − | == | + | == Bind konfigurieren, um die signierte Zone zu verwenden (auf ns.it113.int) == |
Zonendatei in ''/etc/bind/named.conf.local'' anpassen: | Zonendatei in ''/etc/bind/named.conf.local'' anpassen: | ||
<pre> | <pre> | ||
| Zeile 90: | Zeile 32: | ||
* '''systemctl restart bind9''' | * '''systemctl restart bind9''' | ||
| − | == | + | == DS-Records an die Toplevel-Domain übergeben (auf ns.it113.int) == |
* '''dig +short DS it113.int''' | * '''dig +short DS it113.int''' | ||
Den ausgegebenen DS-Record in die Zonendatei von ''int.'' auf ''dnsgw.gw'' eintragen. | Den ausgegebenen DS-Record in die Zonendatei von ''int.'' auf ''dnsgw.gw'' eintragen. | ||
| − | == | + | == DS-Records aller Second-Level-Zonen in die Toplevel-Domain eintragen == |
| + | Falls mehrere Second-Level-Zonen mit DNSSEC signiert werden sollen, müssen alle **DS-Records** dieser Zonen in die **int**-Zone eingetragen werden. Das bedeutet: | ||
| + | * Falls du **alle 13 Second-Level-Zonen gleichzeitig signierst**, dann reicht **eine einzige Neusignierung** der **int**-Zone. | ||
| + | * Falls du die DS-Records **zu unterschiedlichen Zeiten aktualisierst**, muss die **int**-Zone nach jeder Änderung neu signiert werden. | ||
| + | |||
In der Datei '''/etc/bind/zones/int.zone''': | In der Datei '''/etc/bind/zones/int.zone''': | ||
<pre> | <pre> | ||
it113.int. IN DS 12345 8 2 49FD74D5C4A7AE7D15A57A15B22D... | it113.int. IN DS 12345 8 2 49FD74D5C4A7AE7D15A57A15B22D... | ||
| − | </pre> | + | it114.int. IN DS 67890 8 2 28A1F3D4C5E7B890A67B22A3D4F9... |
| + | ...</pre> | ||
| + | |||
| + | == Warum muss die Toplevel-Zone neu signiert werden? == | ||
| + | Die **int**-Zone enthält die **DS-Records** für alle signierten Second-Level-Zonen. Sobald ein neuer **DS-Record** eingetragen oder geändert wird, muss die gesamte **int**-Zone neu signiert werden, damit die neuen Einträge verifiziert werden können. | ||
| + | |||
| + | == Wird die Toplevel-Zone bei jeder Änderung einer Second-Level-Zone neu signiert? == | ||
| + | Nein. Die **int**-Zone muss nur dann neu signiert werden, wenn sich ein **DS-Record** ändert, also z. B. ein neuer Key generiert wird. Andere Änderungen in ''it113.int'' oder anderen Second-Level-Zonen haben keine Auswirkungen auf die **int**-Zone**. | ||
| − | == | + | == Toplevel-Zone neu signieren (auf dnsgw.gw) == |
* '''dnssec-signzone -A -N INCREMENT -o int -t /etc/bind/zones/int.zone''' | * '''dnssec-signzone -A -N INCREMENT -o int -t /etc/bind/zones/int.zone''' | ||
| Zeile 107: | Zeile 60: | ||
* '''systemctl restart bind9''' | * '''systemctl restart bind9''' | ||
| − | == | + | == Überprüfung (auf beliebigem Client) == |
* '''dig +dnssec it113.int''' | * '''dig +dnssec it113.int''' | ||
* '''dig +dnssec www.it113.int''' | * '''dig +dnssec www.it113.int''' | ||
Falls alles korrekt ist, sollte das '''AD-Bit''' (Authentic Data) gesetzt sein. | Falls alles korrekt ist, sollte das '''AD-Bit''' (Authentic Data) gesetzt sein. | ||
| − | |||
Version vom 13. März 2025, 05:40 Uhr
DNSSEC für die Second-Level-Domain it113.int
Übersicht
- Die Toplevel-Domain int. ist bereits mit DNSSEC signiert und läuft auf dnsgw.gw.
- Die Second-Level-Domain it113.int wird auf ns.it113.int gehostet.
- Ziel: DNSSEC-Signierung von it113.int und Veröffentlichung des DS-Records in der Parent-Zone int..
Schlüssel für it113.int generieren (auf ns.it113.int)
- dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE it113.int
- dnssec-keygen -a RSASHA256 -b 1024 -n ZONE it113.int
Schlüssel in die Zonendatei eintragen (auf ns.it113.int)
- cat K*.key >> /etc/bind/zones/it113.int.zone
Zone signieren (auf ns.it113.int)
- dnssec-signzone -A -N INCREMENT -o it113.int -t /etc/bind/zones/it113.int.zone
Ergebnis: Die signierte Datei it113.int.zone.signed.
Bind konfigurieren, um die signierte Zone zu verwenden (auf ns.it113.int)
Zonendatei in /etc/bind/named.conf.local anpassen:
zone "it113.int" {
type master;
file "/etc/bind/zones/it113.int.zone.signed";
allow-transfer { any; };
allow-query { any; };
};
Neustart von BIND:
- systemctl restart bind9
DS-Records an die Toplevel-Domain übergeben (auf ns.it113.int)
- dig +short DS it113.int
Den ausgegebenen DS-Record in die Zonendatei von int. auf dnsgw.gw eintragen.
DS-Records aller Second-Level-Zonen in die Toplevel-Domain eintragen
Falls mehrere Second-Level-Zonen mit DNSSEC signiert werden sollen, müssen alle **DS-Records** dieser Zonen in die **int**-Zone eingetragen werden. Das bedeutet:
- Falls du **alle 13 Second-Level-Zonen gleichzeitig signierst**, dann reicht **eine einzige Neusignierung** der **int**-Zone.
- Falls du die DS-Records **zu unterschiedlichen Zeiten aktualisierst**, muss die **int**-Zone nach jeder Änderung neu signiert werden.
In der Datei /etc/bind/zones/int.zone:
it113.int. IN DS 12345 8 2 49FD74D5C4A7AE7D15A57A15B22D... it114.int. IN DS 67890 8 2 28A1F3D4C5E7B890A67B22A3D4F9... ...
Warum muss die Toplevel-Zone neu signiert werden?
Die **int**-Zone enthält die **DS-Records** für alle signierten Second-Level-Zonen. Sobald ein neuer **DS-Record** eingetragen oder geändert wird, muss die gesamte **int**-Zone neu signiert werden, damit die neuen Einträge verifiziert werden können.
Wird die Toplevel-Zone bei jeder Änderung einer Second-Level-Zone neu signiert?
Nein. Die **int**-Zone muss nur dann neu signiert werden, wenn sich ein **DS-Record** ändert, also z. B. ein neuer Key generiert wird. Andere Änderungen in it113.int oder anderen Second-Level-Zonen haben keine Auswirkungen auf die **int**-Zone**.
Toplevel-Zone neu signieren (auf dnsgw.gw)
- dnssec-signzone -A -N INCREMENT -o int -t /etc/bind/zones/int.zone
Neustart von BIND:
- systemctl restart bind9
Überprüfung (auf beliebigem Client)
- dig +dnssec it113.int
- dig +dnssec www.it113.int
Falls alles korrekt ist, sollte das AD-Bit (Authentic Data) gesetzt sein.