🌐 DNS & Infrastruktur

DNS 02: Rekursive vs. Iterative Abfragen & Flags

Verstehe den Unterschied zwischen Client-Rekursion und iterativer Baumrecherche. Beherrsche DNS-Flags und sichere Open Resolver ab.

🔄 1. Rekursion vs. Iteration im Detail

Clients (PCs, Smartphones) sind reine Stub-Resolver: Sie besitzen keine eigene DNS-Baumlogik, sondern delegieren die Arbeit mit RD=1 vollständig an einen vollwertigen Caching-Resolver.

# Abfrage mit dig anzeigen und Flags auslesen:
dig +nocmd www.it-praxisportal.de +noall +comments +answer

# Typischer Header im Output:
# ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48212
# ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
#              ^^^^^^^^
# qr = Antwort, rd = Rekursion angefordert, ra = Rekursion vom Server ausgeführt

🛡️ 2. Das Open-Resolver-Sicherheitsrisiko

Wenn ein rekursiver Nameserver öffentlich im Internet steht und Anfragen von beliebigen IP-Adressen (any) beantwortet, wird er binnen kürzester Zeit für DNS Amplification DDoS missbraucht:

⚠️ BSI-Warnung: Open Resolver schließen!

Ein Angreifer sendet ein gefälschtes 60-Byte UDP-Paket mit der Absender-IP seines Opfers an deinen Open Resolver. Die Antwort (z.B. DNSSEC-Schlüssel) ist 3.000 Bytes groß (Verstärkungsfaktor 50x!). Dein Server bombardiert das Opfer mit unangefordertem Traffic.

Die Lösung in BIND9 (named.conf.options):

options {
    recursion yes;
    allow-query { 192.168.0.0/16; 10.0.0.0/8; localhost; };  # Nur internes Netz!
    forwarders { 1.1.1.1; 9.9.9.9; };
    forward only;
};

📑 3. Cheat-Sheet: DNS-Header-Flags

Flag Bezeichnung Bedeutung in der Praxis
QR Query / Response 0 = Anfrage eines Clients; 1 = Antwortpaket eines Servers
AA Authoritative Answer 1 = Server besitzt die Original-Zone (kein Cache-Zwischenergebnis)
TC Truncated 1 = Antwort passte nicht in 512B UDP; Client muss per TCP/53 wiederholen
RD Recursion Desired 1 = Client bittet den Server, die Auflösung komplett zu übernehmen
RA Recursion Available 1 = Server beherrscht Rekursion und bietet diesen Dienst aktiv an

🧠 Diagnostischer Selbst-Check

Überprüfe dein Verständnis zu DNS-Hierarchie, Record-Typen, E-Mail-Sicherheit und Troubleshooting mit gezieltem Feedback:

🎯 Aufgaben & Checkliste in aufgabe.sh

In Web-IDE öffnen → Weiter zu Modul 03 →