Dnssec Grundprintzip: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=Schaubild=
 
=Schaubild=
 +
= DNSSEC - Allgemeine Erklärung =
 +
 +
== Was ist DNSSEC? ==
 +
DNSSEC (Domain Name System Security Extensions) ist eine Erweiterung des DNS-Protokolls, die durch digitale Signaturen die Authentizität und Integrität von DNS-Antworten sicherstellt. Ohne DNSSEC können Angreifer gefälschte DNS-Antworten einschleusen, um Nutzer auf betrügerische Webseiten umzuleiten (DNS-Spoofing).
 +
 +
== Wie funktioniert DNSSEC? ==
 +
DNSSEC basiert auf einer '''Kette des Vertrauens (Chain of Trust)''', die von der Root-Zone bis zur untersten signierten Zone reicht. Jede Zone bestätigt die Authentizität der darunterliegenden Zone durch einen sogenannten '''Delegation Signer (DS)-Record'''.
 +
 +
=== Wichtige Komponenten ===
 +
* '''Zone Signing Key (ZSK)''' – Signiert die Zone und wird regelmäßig erneuert.
 +
* '''Key Signing Key (KSK)''' – Signiert den ZSK und wird weniger oft erneuert.
 +
* '''DNSKEY-Record''' – Enthält die öffentlichen Schlüssel für ZSK und KSK.
 +
* '''RRSIG-Record''' – Enthält die digitale Signatur für die DNS-Einträge.
 +
* '''DS-Record''' – Ein Hash des öffentlichen KSK, der in der übergeordneten Zone gespeichert wird.
 +
 +
== DNSSEC-Hierarchie und Vertrauenskette ==
 +
;'''Root-Zone'''
 +
: Enthält die DNSKEY-Einträge der Root-Zone.
 +
: Enthält DS-Records für Toplevel-Domains (TLDs).
 +
: Wird mit einem Root-KSK signiert.
 +
 +
;'''Toplevel-Domain (TLD)'''
 +
: Enthält DNSKEY-Records für die TLD.
 +
: Enthält DS-Records für Second-Level-Domains.
 +
: Wird mit einem eigenen KSK signiert.
 +
 +
;'''Second-Level-Domains'''
 +
: Enthalten DNSKEY-Records für die jeweilige Domain.
 +
: Signieren ihre eigenen Zonen mit einem ZSK.
 +
: Übergeben einen DS-Record an die übergeordnete TLD-Zone.
 +
 +
== Warum ist DNSSEC sicher? ==
 +
DNSSEC bietet Schutz gegen verschiedene Bedrohungen:
 +
* '''Cache Poisoning (DNS-Spoofing):''' Manipulierte Antworten werden erkannt und verworfen.
 +
* '''Man-in-the-Middle-Angriffe:''' Die Authentizität der DNS-Antworten wird durch Signaturen geprüft.
 +
* '''DNS Hijacking:''' Gefälschte Einträge können nicht ohne gültige Signatur in den Cache eines Resolvers gelangen.
 +
 +
DNSSEC schützt '''nicht''' gegen:
 +
* '''DDoS-Angriffe auf DNS-Server.'''
 +
* '''Die Vertraulichkeit der DNS-Anfragen.''' (DNS-Anfragen sind weiterhin unverschlüsselt.)
 +
 +
== Ablauf der Verifizierung ==
 +
* Ein DNS-Resolver fragt einen Eintrag ab.
 +
* Der autoritative Nameserver liefert die DNS-Antwort und die zugehörige RRSIG-Signatur.
 +
* Der Resolver prüft die Signatur mit dem DNSKEY der Zone.
 +
* Falls die DNSKEY-Signatur korrekt ist, wird geprüft, ob die übergeordnete Zone einen passenden DS-Record enthält.
 +
* Dieser Prozess setzt sich bis zur Root-Zone fort.
 +
* Falls alle Signaturen gültig sind, gilt die Antwort als '''authentisch'''.
 +
 +
== Fazit ==
 +
DNSSEC schafft eine '''Kette des Vertrauens''', die sicherstellt, dass DNS-Antworten nicht manipuliert wurden. Die Signaturen werden von der Root-Zone über die TLDs bis hin zu den Second-Level-Domains weitergegeben. Damit stellt DNSSEC eine wichtige Sicherheitsmaßnahme dar, um das Domain Name System gegen Fälschungen abzusichern.
 +
 +
 +
 +
 +
 
{{#drawio:dnssec-1}}
 
{{#drawio:dnssec-1}}
=Root Nameserver=
+
{{#drawio:Zone-Signing-Key-1}}
*Die Root Nameserver haben ein privaten und einen öffentlichen KSK
+
{{#drawio:Zone-Signing-Key-2}}
*Diese KSKs werden turnusmässig erneuert
+
{{#drawio:Zone-Signing-Key-3}}
=Toplevel Domainnameserver=
+
{{#drawio:dnssec-2}}
*Die Toplevel Domainnameserver haben ein privaten und einen öffentlichen KSK
+
{{#drawio:dnssec-4}}
*Diese KSKs werden vom Root Nameserver signiert
 
*Dies bedeutet er verschlüsselt den öffentlichen KSK des Toplevel Domainservers mit seinem privaten KSK.
 
*Dieser Wert wird als Record ähnlich, wie der A Record im Rootnameserver aufgeführt.
 
=Secondlevel Domainnameserver=
 
*Die Secondlevel Domainnameserver haben ein privaten und einen öffentlichen KSK
 
*Diese KSKs werden vom Toplevel Nameserver signiert.
 
*Dies bedeutet er verschlüsselt den öffentlichen KSK des Secondlevel Domainservers mit seinem privaten KSK.
 
*Dieser Wert wird als Record ähnlich, wie der A Record im Toplevel Nameserver aufgeführt.
 
=Chain of Trust=
 
*Um eine sichere Authentifizierung zu gewährleisten, muss der Public Key einer Zone in den zentralen Server, der den Namen auflösen soll, manuell eingebracht werden. Da normalerweise jede Zone einen anderen Schlüssel besitzt, der sich zudem regelmäßig ändert, kann die Schlüsselverwaltung sehr aufwändig werden.
 
*Die Bildung von Vertrauensketten (engl.: Chains of Trust) erleichtert das Keymanagement dramatisch.
 
*Eine möglichst hoch im DNS-Baum angesiedelte Zone enthält die Public Keys ihrer delegierten Subzonen und unterschreibt diese digital.
 
*Die Subzonen können wiederum die signierten Public Keys ihrer untergeordneten Zonen enthalten usw.
 
*Für eine derartige Chain of Trust muss im Resolver eines zentralen Nameservers lediglich der Public Key der obersten Zone bekannt sein.
 
*Die Gesamtmenge der durch einen einzigen Schlüssel gesicherten Menge von Zonen wird auch als Sicherheitsinsel.
 

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

Schaubild

DNSSEC - Allgemeine Erklärung

Was ist DNSSEC?

DNSSEC (Domain Name System Security Extensions) ist eine Erweiterung des DNS-Protokolls, die durch digitale Signaturen die Authentizität und Integrität von DNS-Antworten sicherstellt. Ohne DNSSEC können Angreifer gefälschte DNS-Antworten einschleusen, um Nutzer auf betrügerische Webseiten umzuleiten (DNS-Spoofing).

Wie funktioniert DNSSEC?

DNSSEC basiert auf einer Kette des Vertrauens (Chain of Trust), die von der Root-Zone bis zur untersten signierten Zone reicht. Jede Zone bestätigt die Authentizität der darunterliegenden Zone durch einen sogenannten Delegation Signer (DS)-Record.

Wichtige Komponenten

  • Zone Signing Key (ZSK) – Signiert die Zone und wird regelmäßig erneuert.
  • Key Signing Key (KSK) – Signiert den ZSK und wird weniger oft erneuert.
  • DNSKEY-Record – Enthält die öffentlichen Schlüssel für ZSK und KSK.
  • RRSIG-Record – Enthält die digitale Signatur für die DNS-Einträge.
  • DS-Record – Ein Hash des öffentlichen KSK, der in der übergeordneten Zone gespeichert wird.

DNSSEC-Hierarchie und Vertrauenskette

Root-Zone
Enthält die DNSKEY-Einträge der Root-Zone.
Enthält DS-Records für Toplevel-Domains (TLDs).
Wird mit einem Root-KSK signiert.
Toplevel-Domain (TLD)
Enthält DNSKEY-Records für die TLD.
Enthält DS-Records für Second-Level-Domains.
Wird mit einem eigenen KSK signiert.
Second-Level-Domains
Enthalten DNSKEY-Records für die jeweilige Domain.
Signieren ihre eigenen Zonen mit einem ZSK.
Übergeben einen DS-Record an die übergeordnete TLD-Zone.

Warum ist DNSSEC sicher?

DNSSEC bietet Schutz gegen verschiedene Bedrohungen:

  • Cache Poisoning (DNS-Spoofing): Manipulierte Antworten werden erkannt und verworfen.
  • Man-in-the-Middle-Angriffe: Die Authentizität der DNS-Antworten wird durch Signaturen geprüft.
  • DNS Hijacking: Gefälschte Einträge können nicht ohne gültige Signatur in den Cache eines Resolvers gelangen.

DNSSEC schützt nicht gegen:

  • DDoS-Angriffe auf DNS-Server.
  • Die Vertraulichkeit der DNS-Anfragen. (DNS-Anfragen sind weiterhin unverschlüsselt.)

Ablauf der Verifizierung

  • Ein DNS-Resolver fragt einen Eintrag ab.
  • Der autoritative Nameserver liefert die DNS-Antwort und die zugehörige RRSIG-Signatur.
  • Der Resolver prüft die Signatur mit dem DNSKEY der Zone.
  • Falls die DNSKEY-Signatur korrekt ist, wird geprüft, ob die übergeordnete Zone einen passenden DS-Record enthält.
  • Dieser Prozess setzt sich bis zur Root-Zone fort.
  • Falls alle Signaturen gültig sind, gilt die Antwort als authentisch.

Fazit

DNSSEC schafft eine Kette des Vertrauens, die sicherstellt, dass DNS-Antworten nicht manipuliert wurden. Die Signaturen werden von der Root-Zone über die TLDs bis hin zu den Second-Level-Domains weitergegeben. Damit stellt DNSSEC eine wichtige Sicherheitsmaßnahme dar, um das Domain Name System gegen Fälschungen abzusichern.