Pseudo second level domain DNSSEC: Unterschied zwischen den Versionen
| Zeile 1: | Zeile 1: | ||
| − | = DNSSEC für die Second-Level-Zone | + | = DNSSEC für die Second-Level-Zone it213.int und 213.88.10.in-addr.arpa = |
== Übersicht == | == Übersicht == | ||
- Die Toplevel-Domain '''int.''' ist bereits mit '''DNSSEC signiert''' und läuft auf '''dnsgw.gw'''. | - Die Toplevel-Domain '''int.''' ist bereits mit '''DNSSEC signiert''' und läuft auf '''dnsgw.gw'''. | ||
| − | - Die Second-Level-Zone ''' | + | - Die Second-Level-Zone '''it213.int''' wird auf '''ns.it213.int''' gehostet. |
| − | - Die Reverse-Zone ''' | + | - Die Reverse-Zone '''213.88.10.in-addr.arpa''' wird ebenfalls auf '''ns.it213.int''' verwaltet. |
- '''Ziel:''' DNSSEC-Signierung beider Zonen und Veröffentlichung der DS-Records in der Parent-Zone. | - '''Ziel:''' DNSSEC-Signierung beider Zonen und Veröffentlichung der DS-Records in der Parent-Zone. | ||
| − | == Schlüssel für | + | == Schlüssel für it213.int generieren (auf ns.it213.int) == |
'''ZSK erzeugen''' | '''ZSK erzeugen''' | ||
| − | *KSK_IT=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind | + | *KSK_IT=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind it213.int) |
| − | *ZSK_IT=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind | + | *ZSK_IT=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind it213.int) |
| − | == Schlüssel für | + | == Schlüssel für 213.88.10.in-addr.arpa generieren (auf ns.it213.int) == |
'''ZSK erzeugen''' | '''ZSK erzeugen''' | ||
| − | *KSK_REV=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind | + | *KSK_REV=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind 213.88.10.in-addr.arpa) |
| − | *ZSK_REV=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind | + | *ZSK_REV=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind 213.88.10.in-addr.arpa) |
| − | == Schlüssel in die Zonendateien eintragen (auf ns. | + | == Schlüssel in die Zonendateien eintragen (auf ns.it213.int) == |
| − | ''' | + | '''it213.int''' |
| − | *echo "\$INCLUDE /var/cache/bind/$KSK_IT.key" >> /var/cache/bind/ | + | *echo "\$INCLUDE /var/cache/bind/$KSK_IT.key" >> /var/cache/bind/it213.int |
| − | *echo "\$INCLUDE /var/cache/bind/$ZSK_IT.key" >> /var/cache/bind/ | + | *echo "\$INCLUDE /var/cache/bind/$ZSK_IT.key" >> /var/cache/bind/it213.int |
| − | ''' | + | '''213.88.10.in-addr.arpa''' |
| − | *echo "\$INCLUDE /var/cache/bind/$KSK_REV.key" >> /var/cache/bind/ | + | *echo "\$INCLUDE /var/cache/bind/$KSK_REV.key" >> /var/cache/bind/213.88.10.in-addr.arpa |
| − | *echo "\$INCLUDE /var/cache/bind/$ZSK_REV.key" >> /var/cache/bind/ | + | *echo "\$INCLUDE /var/cache/bind/$ZSK_REV.key" >> /var/cache/bind/213.88.10.in-addr.arpa |
| − | == Zonen signieren (auf ns. | + | == Zonen signieren (auf ns.it213.int) == |
| − | ''' | + | '''it213.int''' |
| − | *dnssec-signzone -A -N INCREMENT -o | + | *dnssec-signzone -A -N INCREMENT -o it213.int -t /var/cache/bind/it213.int |
| − | ''' | + | '''213.88.10.in-addr.arpa''' |
| − | *dnssec-signzone -A -N INCREMENT -o | + | *dnssec-signzone -A -N INCREMENT -o 213.88.10.in-addr.arpa -t /var/cache/bind/213.88.10.in-addr.arpa |
| − | == Bind konfigurieren, um die signierten Zonen zu verwenden (auf ns. | + | == Bind konfigurieren, um die signierten Zonen zu verwenden (auf ns.it213.int) == |
In der Datei '''/etc/bind/named.conf.local''': | In der Datei '''/etc/bind/named.conf.local''': | ||
<pre> | <pre> | ||
| − | zone " | + | zone "it213.int" { |
type master; | type master; | ||
| − | file "/var/cache/bind/ | + | file "/var/cache/bind/it213.int.signed"; |
allow-transfer { any; }; | allow-transfer { any; }; | ||
allow-query { any; }; | allow-query { any; }; | ||
}; | }; | ||
| − | zone " | + | zone "213.88.10.in-addr.arpa" { |
type master; | type master; | ||
| − | file "/var/cache/bind/ | + | file "/var/cache/bind/213.88.10.in-addr.arpa.signed"; |
allow-transfer { any; }; | allow-transfer { any; }; | ||
allow-query { any; }; | allow-query { any; }; | ||
| Zeile 64: | Zeile 64: | ||
*systemctl restart bind9 | *systemctl restart bind9 | ||
*rndc reload | *rndc reload | ||
| − | *rndc zonestatus | + | *rndc zonestatus it213.int |
| − | *rndc zonestatus | + | *rndc zonestatus 213.88.10.in-addr.arpa |
== DS-Records an die Parent-Zonen übergeben == | == DS-Records an die Parent-Zonen übergeben == | ||
| − | ''' | + | '''it213.int''' |
*dnssec-dsfromkey -2 /var/cache/bind/$KSK_IT.key | *dnssec-dsfromkey -2 /var/cache/bind/$KSK_IT.key | ||
Den ausgegebenen DS-Record in die Parent-Zone '''int.''' auf '''dnsgw.gw''' eintragen. | Den ausgegebenen DS-Record in die Parent-Zone '''int.''' auf '''dnsgw.gw''' eintragen. | ||
| − | ''' | + | '''213.88.10.in-addr.arpa''' |
*dnssec-dsfromkey -2 /var/cache/bind/$KSK_REV.key | *dnssec-dsfromkey -2 /var/cache/bind/$KSK_REV.key | ||
Den ausgegebenen DS-Record in die übergeordnete Zone '''88.10.in-addr.arpa''' auf '''dnsgw.gw''' eintragen. | Den ausgegebenen DS-Record in die übergeordnete Zone '''88.10.in-addr.arpa''' auf '''dnsgw.gw''' eintragen. | ||
| Zeile 85: | Zeile 85: | ||
== Überprüfung (auf beliebigem Client) == | == Überprüfung (auf beliebigem Client) == | ||
| − | ''' | + | '''it213.int''' |
| − | *dig +dnssec | + | *dig +dnssec it213.int |
| − | *dig +dnssec www. | + | *dig +dnssec www.it213.int |
| − | ''' | + | '''213.88.10.in-addr.arpa''' |
| − | *dig +dnssec | + | *dig +dnssec 213.88.10.in-addr.arpa |
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 6. März 2026, 13:33 Uhr
DNSSEC für die Second-Level-Zone it213.int und 213.88.10.in-addr.arpa
Übersicht
- Die Toplevel-Domain int. ist bereits mit DNSSEC signiert und läuft auf dnsgw.gw. - Die Second-Level-Zone it213.int wird auf ns.it213.int gehostet. - Die Reverse-Zone 213.88.10.in-addr.arpa wird ebenfalls auf ns.it213.int verwaltet. - Ziel: DNSSEC-Signierung beider Zonen und Veröffentlichung der DS-Records in der Parent-Zone.
Schlüssel für it213.int generieren (auf ns.it213.int)
ZSK erzeugen
- KSK_IT=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind it213.int)
- ZSK_IT=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind it213.int)
Schlüssel für 213.88.10.in-addr.arpa generieren (auf ns.it213.int)
ZSK erzeugen
- KSK_REV=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind 213.88.10.in-addr.arpa)
- ZSK_REV=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind 213.88.10.in-addr.arpa)
Schlüssel in die Zonendateien eintragen (auf ns.it213.int)
it213.int
- echo "\$INCLUDE /var/cache/bind/$KSK_IT.key" >> /var/cache/bind/it213.int
- echo "\$INCLUDE /var/cache/bind/$ZSK_IT.key" >> /var/cache/bind/it213.int
213.88.10.in-addr.arpa
- echo "\$INCLUDE /var/cache/bind/$KSK_REV.key" >> /var/cache/bind/213.88.10.in-addr.arpa
- echo "\$INCLUDE /var/cache/bind/$ZSK_REV.key" >> /var/cache/bind/213.88.10.in-addr.arpa
Zonen signieren (auf ns.it213.int)
it213.int
- dnssec-signzone -A -N INCREMENT -o it213.int -t /var/cache/bind/it213.int
213.88.10.in-addr.arpa
- dnssec-signzone -A -N INCREMENT -o 213.88.10.in-addr.arpa -t /var/cache/bind/213.88.10.in-addr.arpa
Bind konfigurieren, um die signierten Zonen zu verwenden (auf ns.it213.int)
In der Datei /etc/bind/named.conf.local:
zone "it213.int" {
type master;
file "/var/cache/bind/it213.int.signed";
allow-transfer { any; };
allow-query { any; };
};
zone "213.88.10.in-addr.arpa" {
type master;
file "/var/cache/bind/213.88.10.in-addr.arpa.signed";
allow-transfer { any; };
allow-query { any; };
};
dnssec-validation auf yes stellen
- cat /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
dnssec-validation yes;
listen-on-v6 { none; };
forwarders { 192.168.3.88; };
empty-zones-enable no;
};
Konfiguration übernehmen und testen
Bind9 neustarten und Zonenstatus prüfen
- systemctl restart bind9
- rndc reload
- rndc zonestatus it213.int
- rndc zonestatus 213.88.10.in-addr.arpa
DS-Records an die Parent-Zonen übergeben
it213.int
- dnssec-dsfromkey -2 /var/cache/bind/$KSK_IT.key
Den ausgegebenen DS-Record in die Parent-Zone int. auf dnsgw.gw eintragen.
213.88.10.in-addr.arpa
- dnssec-dsfromkey -2 /var/cache/bind/$KSK_REV.key
Den ausgegebenen DS-Record in die übergeordnete Zone 88.10.in-addr.arpa auf dnsgw.gw eintragen.
Toplevel-Zone neu signieren (auf dnsgw)
- dnssec-signzone -A -N INCREMENT -o int -t /var/cache/bind/int
- dnssec-signzone -A -N INCREMENT -o 88.10.in-addr.arpa -t /var/cache/bind/88.10.in-addr.arpa
Neustart von BIND:
- systemctl restart bind9
Überprüfung (auf beliebigem Client)
it213.int
- dig +dnssec it213.int
- dig +dnssec www.it213.int
213.88.10.in-addr.arpa
- dig +dnssec 213.88.10.in-addr.arpa
Falls alles korrekt ist, sollte das AD-Bit (Authentic Data) gesetzt sein.