Dnssec Grundprintzip: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(7 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
 
=Toplevel Domainnameserver=
 
*Die Toplevel Domainnameserver haben ein privaten und einen öffentlichen KSK
 
*Diese KSKs werden vom Root Nameserver signiert
 
*Dies bedeutet er verschlüsselt den öffentlichen KSK des Toplevel Domainservers mit seinem privaten KSK.
 
*Der Rootnameserver führt nun den öffentlichen Schlüssel Toplevel Domainservers  und diese Signature als Records,
 
=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.
 
*Der Toplevel Nameserver führt nun den öffentlichen Schlüssel des Secondlevel Domainservers und diese Signature als Records,
 
=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.
 
=Wir wird nun das Vertrauen gebildet?=
 
 
{{#drawio:Zone-Signing-Key-3}}
 
{{#drawio:Zone-Signing-Key-3}}
 
 
{{#drawio:dnssec-2}}
 
{{#drawio:dnssec-2}}
 +
{{#drawio:dnssec-4}}

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.