Dnssec Praxis: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
 
==== Aktivierung von DNSSEC für die Zone int ====
 
==== Aktivierung von DNSSEC für die Zone int ====
  
Um DNSSEC für die Zone '''int''' unter BIND zu aktivieren, sind folgende Schritte notwendig.
+
Diese Anleitung beschreibt die vollständige Einrichtung von DNSSEC für die Zone '''int''' unter BIND.
  
 
==== Voraussetzungen ====
 
==== Voraussetzungen ====
 
* Der BIND-Server muss mit DNSSEC-Unterstützung kompiliert sein.
 
* Der BIND-Server muss mit DNSSEC-Unterstützung kompiliert sein.
* Die Werkzeuge '''dnssec-keygen''' und '''dnssec-signzone''' müssen installiert sein.
+
* Die Tools '''dnssec-keygen''' und '''dnssec-signzone''' müssen installiert sein.
 +
 
 +
==== Erstellen des Schlüsselverzeichnisses ====
 +
Damit die Schlüsseldateien ordentlich verwaltet werden, wird ein Verzeichnis für die DNSSEC-Schlüssel angelegt:
 +
 
 +
<pre>
 +
mkdir -p /var/cache/bind/keys
 +
cd /var/cache/bind/keys
 +
</pre>
  
 
==== Schlüsselerzeugung ====
 
==== Schlüsselerzeugung ====
Zunächst werden ein Key Signing Key (KSK) und ein Zone Signing Key (ZSK) erstellt.
+
Es werden zwei Schlüssel benötigt: ein Key Signing Key (KSK) und ein Zone Signing Key (ZSK).
  
 
'''Erzeugen des KSK'''
 
'''Erzeugen des KSK'''
Zeile 21: Zeile 28:
 
</pre>
 
</pre>
  
Dies generiert mehrere Dateien, darunter die öffentlichen Schlüssel '''Kint.+008+xxxxx.key''' und die privaten Schlüssel '''Kint.+008+xxxxx.private'''.
+
Nach der Ausführung dieser Befehle befinden sich mehrere Dateien im Verzeichnis '''/var/cache/bind/keys'''. Die relevanten Schlüsseldateien haben das Format:
 +
* '''Kint.+008+XXXXX.key''' (öffentlicher Schlüssel)
 +
* '''Kint.+008+XXXXX.private''' (privater Schlüssel)
  
==== Schlüssel in die Zone int einfügen ====
+
==== Einfügen der Schlüssel in die Zonendatei ====
Die öffentlichen Schlüssel müssen in die Zonendatei '''int''' eingefügt werden.
+
Die öffentlichen Schlüssel müssen in die Zonendatei '''/var/cache/bind/int''' aufgenommen werden:
  
 
<pre>
 
<pre>
cat Kint.+008+*.key >> /var/cache/bind/int
+
cat /var/cache/bind/keys/Kint.+008+*.key >> /var/cache/bind/int
 
</pre>
 
</pre>
  
Zeile 61: Zeile 70:
  
 
<pre>
 
<pre>
dnssec-dsfromkey -f Kint.+008+xxxxx.key int
+
dnssec-dsfromkey -f /var/cache/bind/keys/Kint.+008+XXXXX.key int
 
</pre>
 
</pre>
  

Version vom 3. März 2025, 16:54 Uhr

Aktivierung von DNSSEC für die Zone int

Diese Anleitung beschreibt die vollständige Einrichtung von DNSSEC für die Zone int unter BIND.

Voraussetzungen

  • Der BIND-Server muss mit DNSSEC-Unterstützung kompiliert sein.
  • Die Tools dnssec-keygen und dnssec-signzone müssen installiert sein.

Erstellen des Schlüsselverzeichnisses

Damit die Schlüsseldateien ordentlich verwaltet werden, wird ein Verzeichnis für die DNSSEC-Schlüssel angelegt:

mkdir -p /var/cache/bind/keys
cd /var/cache/bind/keys

Schlüsselerzeugung

Es werden zwei Schlüssel benötigt: ein Key Signing Key (KSK) und ein Zone Signing Key (ZSK).

Erzeugen des KSK

dnssec-keygen -a RSASHA256 -b 2048 -f KSK -r /dev/urandom int

Erzeugen des ZSK

dnssec-keygen -a RSASHA256 -b 1024 -r /dev/urandom int

Nach der Ausführung dieser Befehle befinden sich mehrere Dateien im Verzeichnis /var/cache/bind/keys. Die relevanten Schlüsseldateien haben das Format:

  • Kint.+008+XXXXX.key (öffentlicher Schlüssel)
  • Kint.+008+XXXXX.private (privater Schlüssel)

Einfügen der Schlüssel in die Zonendatei

Die öffentlichen Schlüssel müssen in die Zonendatei /var/cache/bind/int aufgenommen werden:

cat /var/cache/bind/keys/Kint.+008+*.key >> /var/cache/bind/int

Signieren der Zone

Nun wird die Zone signiert:

dnssec-signzone -A -o int -t /var/cache/bind/int

Dabei wird eine neue signierte Datei int.signed erzeugt.

Konfiguration von BIND

Die Konfigurationsdatei named.conf muss angepasst werden, damit BIND die signierte Zonendatei nutzt:

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

Neustart von BIND

Nach den Änderungen muss BIND neu gestartet werden:

systemctl restart bind9

Eintragen des DS-Records

Falls die Zone int delegiert ist, muss der DS-Record an die übergeordnete Instanz weitergegeben werden. Dieser kann mit folgendem Befehl extrahiert werden:

dnssec-dsfromkey -f /var/cache/bind/keys/Kint.+008+XXXXX.key int

Überprüfung von DNSSEC

Die Konfiguration kann mit folgendem Befehl überprüft werden:

dig +dnssec @127.0.0.1 int SOA

Falls die Signatur gültig ist, sollte ein RRSIG-Eintrag in der Ausgabe erscheinen.

Damit ist DNSSEC für die Zone int erfolgreich eingerichtet.