DNSSEC-Schlüsselwechsel
Einleitung
Der Wechsel von DNSSEC-Schlüsseln ist ein essenzieller Bestandteil der sicheren Verwaltung von signierten DNS-Zonen. Ohne eine regelmäßige Schlüsselrotation besteht die Gefahr, dass ein kompromittierter oder schwacher Schlüssel weiterhin verwendet wird, was die Integrität des DNS-Systems gefährdet. Dieser Artikel erklärt die Gründe für den Schlüsselwechsel und zeigt, wie dieser in BIND9 umgesetzt wird.
Warum müssen DNSSEC-Schlüssel gewechselt werden?
Es gibt mehrere Gründe, warum DNSSEC-Schlüssel regelmäßig erneuert werden sollten:
- Kryptoanalyse: Angreifer können mit zunehmender Zeit und Rechenleistung versuchen, die verwendeten Schlüssel zu brechen. - Schlüssellecks: Falls ein privater Schlüssel unabsichtlich veröffentlicht oder kompromittiert wird, kann die Signatur gefälscht werden. - Sicherheitsrichtlinien: Viele Sicherheitsstandards (z. B. NIST, BSI) empfehlen eine regelmäßige Rotation von kryptografischen Schlüsseln. - Algorithmus-Updates: Falls ein Schwachpunkt in einem Verschlüsselungsalgorithmus gefunden wird, müssen betroffene Schlüssel erneuert werden.
Unterschied zwischen ZSK- und KSK-Wechsel
DNSSEC verwendet zwei verschiedene Arten von Schlüsseln:
- Zone Signing Key (ZSK): Signiert die einzelnen DNS-Records und wird häufiger gewechselt. - Key Signing Key (KSK): Signiert den ZSK und wird seltener gewechselt, da er in der Vertrauenskette als Trust Anchor dient.
Empfohlene Wechselintervalle:
- ZSK: Alle 3 bis 12 Monate - KSK: Alle 1 bis 5 Jahre
DNSSEC-Schlüsselwechsel mit BIND9
Neuen ZSK generieren
ZSK erzeugen
- dnssec-keygen -a RSASHA256 -b 2048 -n ZONE example.com
Neuen ZSK in die Zone einbinden
Schlüssel in Zonendatei einbinden
- echo "$INCLUDE Kexample.com.+008+NEUE_ID.key" >> /var/cache/bind/example.com
Zone mit dem neuen ZSK signieren
Zone neu signieren
- dnssec-signzone -A -N INCREMENT -o example.com -t /var/cache/bind/example.com
BIND9 neu starten
BIND9 neustarten
- systemctl restart bind9
Neuen KSK generieren und übernehmen
Falls auch der KSK gewechselt werden soll, ist zusätzlich ein Update des Trust Anchors erforderlich: Neuen KSK erzeugen
- dnssec-keygen -a RSASHA256 -b 4096 -f KSK -n ZONE example.com
Neuen DS-Record generieren
- dnssec-dsfromkey -2 -f Kexample.com.+008+NEUE_ID.key example.com
Dieser DS-Record muss in die übergeordnete Zone eingetragen werden.
Fazit
Ein regelmäßiger Wechsel der DNSSEC-Schlüssel ist notwendig, um die Sicherheit und Integrität der DNS-Signaturen zu gewährleisten. Während der ZSK häufiger gewechselt wird, bleibt der KSK in der Regel länger bestehen. Die richtige Implementierung eines Schlüsselwechsels gewährleistet einen reibungslosen Betrieb ohne Ausfälle oder Validierungsfehler.