[[start|zurück]] ====== DNS – Zonentransfer ====== Ein Zonentransfer ist der Prozess, bei dem ein DNS-Server eine komplette DNS-Zone an einen anderen DNS-Server überträgt. Er wird verwendet, damit **Primary** und **Secondary Nameserver** synchron bleiben. ===== Warum braucht man Zonentransfers? ====== * Redundanz: mehrere DNS-Server halten dieselben Daten * Lastverteilung * Ausfallsicherheit * automatische Aktualisierung von Secondary-Servern ===== Arten von Zonentransfers ====== ==== AXFR – Full Zone Transfer ==== * Überträgt **die gesamte Zone** * langsam, aber vollständig * wird genutzt, wenn: * Secondary neu gestartet wurde * Zone komplett geändert wurde * Keys geändert wurden ==== IXFR – Incremental Zone Transfer ==== * Überträgt nur **Änderungen** * schneller und effizienter * basiert auf Seriennummern im SOA-Record ===== SOA (Start of Authority) – wichtig für Transfers ====== Der SOA-Record enthält: * Primary-Server * Kontaktadresse * Seriennummer (wichtig für IXFR) * Refresh * Retry * Expire * Minimum TTL Beispiel: example.com. IN SOA ns1.example.com. admin.example.com. ( 2025010101 ; Seriennummer 3600 ; Refresh 600 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL ===== Wie funktioniert ein Zonentransfer? ====== ASCII-Ablauf: Primary DNS ----AXFR/IXFR----> Secondary DNS 1. Secondary fragt beim Primary die SOA-Seriennummer ab 2. Wenn Seriennummer unterschiedlich:\\ → Anfrage eines Transfers 3. Primary sendet AXFR oder IXFR 4. Secondary aktualisiert seine Zone ===== Sicherheit: Zonentransfers dürfen NICHT öffentlich sein ====== Ein offener Zonentransfer erlaubt Angreifern: * vollständigen Einblick in interne DNS-Strukturen * Auflistung aller Hosts, Server, internen Systeme Gefährlich: dig AXFR example.com @ns1.example.com Wenn das funktioniert → riesiges Security-Problem. ===== Zonentransfer absichern ====== Empfehlungen: * nur autorisierte Secondary-Server erlauben * IP-Whitelist im Primary * TSIG-Schlüssel verwenden ==== IP-basierte Zugriffskontrolle ==== Beispiel (BIND): allow-transfer { 192.0.2.10; }; ==== TSIG – Transaction Signatures ==== TSIG sorgt für: * Authentifizierung * Integrität * Schutz vor Spoofing Beispiel-Key: hmac-sha256 "RANDOMBASE64KEY=="; ===== Unterschied: Transfer vs. Delegation ====== * **Delegation** = Parent-Zone verweist auf Child-Zone (NS-Records) * **Transfer** = Child-Zone wird auf Secondary kopiert ===== Prüfung per dig ====== ==== SOA prüfen ==== dig example.com SOA ==== AXFR versuchen ==== dig AXFR example.com @ns1.example.com ==== Seriennummer vergleichen ==== dig example.com SOA @ns1 dig example.com SOA @ns2 Wenn unterschiedlich → Secondary ist veraltet. ===== Wann wird AXFR oder IXFR verwendet? ====== | Situation | AXFR? | IXFR? | |-------------------------------|-------|-------| | Secondary frisch gestartet | Ja | Nein | | Zonenfile komplett geändert | Ja | möglich| | nur ein Record geändert | Nein | Ja | | Key-Rollover | Ja | Ja | ===== Zusammenfassung ====== * Zonentransfer = Übertragung einer DNS-Zone von Primary zu Secondary * AXFR = vollständiger Transfer * IXFR = inkrementeller Transfer (nur Änderungen) * Seriennummer (SOA) steuert den Prozess * Zonentransfers müssen abgesichert werden (IP-ACL, TSIG) * offene AXFR sind ein massives Sicherheitsrisiko