Pseudo second level domain DNSSEC: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
*cat /etc/bind/named.conf.options
+
= DNSSEC für die Second-Level-Zone it113.int und 113.88.10.in-addr.arpa =
<pre>
 
options {
 
directory "/var/cache/bind";
 
forwarders {
 
192.168.178.88;
 
};
 
empty-zones-enable no;
 
dnssec-validation auto;
 
listen-on-v6 { none; };
 
};
 
</pre>
 
<pre>
 
  
*cat /etc/bind/named.conf.local
+
== Übersicht ==
zone it113.int IN {
+
- Die Toplevel-Domain '''int.''' ist bereits mit '''DNSSEC signiert''' und läuft auf '''dnsgw.gw'''.
    type master;
+
- Die Second-Level-Zone '''it113.int''' wird auf '''ns.it113.int''' gehostet.
    file "it113.int";
+
- Die Reverse-Zone '''113.88.10.in-addr.arpa''' wird ebenfalls auf '''ns.it113.int''' verwaltet.
};
+
- '''Ziel:''' DNSSEC-Signierung beider Zonen und Veröffentlichung der DS-Records in der Parent-Zone.
  
zone 113.88.10.in-addr.arpa IN {
+
== Schlüssel für it113.int generieren (auf ns.it113.int) ==
    type master;
+
'''ZSK erzeugen'''
    file "113.88.10.in-addr.arpa";
+
*KSK_IT=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind it113.int)
};
+
*ZSK_IT=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind it113.int)
</pre>
 
*cat it113.int  
 
<pre>
 
  
$TTL 300
+
== Schlüssel für 113.88.10.in-addr.arpa generieren (auf ns.it113.int) ==
@   IN SOA  ns technik.xinux.de. (
+
'''ZSK erzeugen'''
                        2011090204  ;
+
*KSK_REV=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind 113.88.10.in-addr.arpa)
                        14400  ;
+
*ZSK_REV=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind 113.88.10.in-addr.arpa)
                        3600    ;
 
                        3600000 ;
 
                        86400  ;
 
                    )
 
        IN NS      ns
 
ns      IN A      10.88.113.2
 
www    IN A      10.88.113.22
 
</pre>
 
  
*cat 113.88.10.in-addr.arpa
+
== Schlüssel in die Zonendateien eintragen (auf ns.it113.int) ==
<pre>
+
'''it113.int'''
 +
*echo "\$INCLUDE /var/cache/bind/$KSK_IT.key" >> /var/cache/bind/it113.int
 +
*echo "\$INCLUDE /var/cache/bind/$ZSK_IT.key" >> /var/cache/bind/it113.int
  
$TTL 300
+
'''113.88.10.in-addr.arpa'''
@   IN SOA  ns.it113.int. technik.xinux.de. (
+
*echo "\$INCLUDE /var/cache/bind/$KSK_REV.key" >> /var/cache/bind/113.88.10.in-addr.arpa
                        2011090204  ;
+
*echo "\$INCLUDE /var/cache/bind/$ZSK_REV.key" >> /var/cache/bind/113.88.10.in-addr.arpa
                        14400  ;
 
                        3600    ;
 
                        3600000 ;
 
                        86400  ;
 
                    )
 
        IN NS      ns.it113.int.
 
2 IN PTR ns.it113.int.
 
22 IN PTR www.it113.int.
 
</pre>
 
  
= DNSSEC für die Second-Level-Domain it113.int =
+
== Zonen signieren (auf ns.it113.int) ==
 +
'''it113.int'''
 +
*dnssec-signzone -A -N INCREMENT -o it113.int -t /var/cache/bind/it113.int
  
== Übersicht ==
+
'''113.88.10.in-addr.arpa'''
* Die Toplevel-Domain '''int.''' ist bereits mit '''DNSSEC signiert''' und läuft auf '''dnsgw.gw'''.
+
*dnssec-signzone -A -N INCREMENT -o 113.88.10.in-addr.arpa -t /var/cache/bind/113.88.10.in-addr.arpa
* 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.''.
 
  
== 1. Schlüssel für it113.int generieren (auf ns.it113.int) ==
+
== Bind konfigurieren, um die signierten Zonen zu verwenden (auf ns.it113.int) ==
* '''dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE it113.int'''
+
In der Datei '''/etc/bind/named.conf.local''':
* '''dnssec-keygen -a RSASHA256 -b 1024 -n ZONE it113.int'''
 
 
 
== 2. Schlüssel in die Zonendatei eintragen (auf ns.it113.int) ==
 
* '''cat K*.key >> /etc/bind/zones/it113.int.zone'''
 
 
 
== 3. 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'''.
 
 
 
== 4. Bind konfigurieren, um die signierte Zone zu verwenden (auf ns.it113.int) ==
 
Zonendatei in ''/etc/bind/named.conf.local'' anpassen:
 
 
<pre>
 
<pre>
 
zone "it113.int" {
 
zone "it113.int" {
 
     type master;
 
     type master;
     file "/etc/bind/zones/it113.int.zone.signed";
+
     file "/var/cache/bind/it113.int.signed";
     allow-transfer { any; };  
+
    allow-transfer { any; };
 +
    allow-query { any; };
 +
};
 +
 
 +
zone "113.88.10.in-addr.arpa" {
 +
    type master;
 +
    file "/var/cache/bind/113.88.10.in-addr.arpa.signed";
 +
     allow-transfer { any; };
 
     allow-query { any; };
 
     allow-query { any; };
 
};
 
};
 
</pre>
 
</pre>
 +
==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;
 +
};
  
Neustart von BIND:
+
== Konfiguration übernehmen und testen ==
* '''systemctl restart bind9'''
+
'''Bind9 neustarten und Zonenstatus prüfen'''
 +
*systemctl restart bind9
 +
*rndc reload
 +
*rndc zonestatus it113.int
 +
*rndc zonestatus 113.88.10.in-addr.arpa
  
== 5. DS-Records an die Toplevel-Domain übergeben (auf ns.it113.int) ==
+
== DS-Records an die Parent-Zonen übergeben ==
* '''dig +short DS it113.int'''
+
'''it113.int'''
 +
*dnssec-dsfromkey -2 /var/cache/bind/$KSK_IT.key
  
Den ausgegebenen DS-Record in die Zonendatei von ''int.'' auf ''dnsgw.gw'' eintragen.
+
Den ausgegebenen DS-Record in die Parent-Zone '''int.''' auf '''dnsgw.gw''' eintragen.
  
== 6. DS-Record in der Toplevel-Domain veröffentlichen (auf dnsgw.gw) ==
+
'''113.88.10.in-addr.arpa'''
In der Datei '''/etc/bind/zones/int.zone''':
+
*dnssec-dsfromkey -2 /var/cache/bind/$KSK_REV.key
<pre>
+
Den ausgegebenen DS-Record in die übergeordnete Zone '''88.10.in-addr.arpa''' auf '''dnsgw.gw''' eintragen.
it113.int. IN DS 12345 8 2 49FD74D5C4A7AE7D15A57A15B22D...
 
</pre>
 
  
== 7. Toplevel-Zone neu signieren (auf dnsgw.gw) ==
+
== Toplevel-Zone neu signieren (auf dnsgw) ==
* '''dnssec-signzone -A -N INCREMENT -o int -t /etc/bind/zones/int.zone'''
+
*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:
 
Neustart von BIND:
* '''systemctl restart bind9'''
+
*systemctl restart bind9
 +
 
 +
== Überprüfung (auf beliebigem Client) ==
 +
'''it113.int'''
 +
*dig +dnssec it113.int
 +
*dig +dnssec www.it113.int
  
== 8. Überprüfung (auf beliebigem Client) ==
+
'''113.88.10.in-addr.arpa'''
* '''dig +dnssec it113.int'''
+
*dig +dnssec 113.88.10.in-addr.arpa
* '''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.
}}
 

Aktuelle Version vom 18. März 2025, 13:57 Uhr

DNSSEC für die Second-Level-Zone it113.int und 113.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 it113.int wird auf ns.it113.int gehostet. - Die Reverse-Zone 113.88.10.in-addr.arpa wird ebenfalls auf ns.it113.int verwaltet. - Ziel: DNSSEC-Signierung beider Zonen und Veröffentlichung der DS-Records in der Parent-Zone.

Schlüssel für it113.int generieren (auf ns.it113.int)

ZSK erzeugen

  • KSK_IT=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind it113.int)
  • ZSK_IT=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind it113.int)

Schlüssel für 113.88.10.in-addr.arpa generieren (auf ns.it113.int)

ZSK erzeugen

  • KSK_REV=$(dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE -K /var/cache/bind 113.88.10.in-addr.arpa)
  • ZSK_REV=$(dnssec-keygen -a RSASHA256 -b 2048 -n ZONE -K /var/cache/bind 113.88.10.in-addr.arpa)

Schlüssel in die Zonendateien eintragen (auf ns.it113.int)

it113.int

  • echo "\$INCLUDE /var/cache/bind/$KSK_IT.key" >> /var/cache/bind/it113.int
  • echo "\$INCLUDE /var/cache/bind/$ZSK_IT.key" >> /var/cache/bind/it113.int

113.88.10.in-addr.arpa

  • echo "\$INCLUDE /var/cache/bind/$KSK_REV.key" >> /var/cache/bind/113.88.10.in-addr.arpa
  • echo "\$INCLUDE /var/cache/bind/$ZSK_REV.key" >> /var/cache/bind/113.88.10.in-addr.arpa

Zonen signieren (auf ns.it113.int)

it113.int

  • dnssec-signzone -A -N INCREMENT -o it113.int -t /var/cache/bind/it113.int

113.88.10.in-addr.arpa

  • dnssec-signzone -A -N INCREMENT -o 113.88.10.in-addr.arpa -t /var/cache/bind/113.88.10.in-addr.arpa

Bind konfigurieren, um die signierten Zonen zu verwenden (auf ns.it113.int)

In der Datei /etc/bind/named.conf.local:

zone "it113.int" {
    type master;
    file "/var/cache/bind/it113.int.signed";
    allow-transfer { any; };
    allow-query { any; };
};

zone "113.88.10.in-addr.arpa" {
    type master;
    file "/var/cache/bind/113.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 it113.int
  • rndc zonestatus 113.88.10.in-addr.arpa

DS-Records an die Parent-Zonen übergeben

it113.int

  • dnssec-dsfromkey -2 /var/cache/bind/$KSK_IT.key

Den ausgegebenen DS-Record in die Parent-Zone int. auf dnsgw.gw eintragen.

113.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)

it113.int

  • dig +dnssec it113.int
  • dig +dnssec www.it113.int

113.88.10.in-addr.arpa

  • dig +dnssec 113.88.10.in-addr.arpa

Falls alles korrekt ist, sollte das AD-Bit (Authentic Data) gesetzt sein.