DNS - Chaos Computer Club Cologne e.V.
Transcription
DNS - Chaos Computer Club Cologne e.V.
DNS u23 - Termin 3 AmP+mm Chaos Computer Club Cologne e.V. http://koeln.ccc.de 07.09.2009 Vortrag AmP+mm (CCC) DNS 07.09.2009 Vortrag 1 / 47 Gliederung I 1 Einführung in DNS 2 Aufbau und Verwendung von DNS 3 Probleme 4 Ausblick 5 Links AmP+mm (CCC) DNS 07.09.2009 Vortrag 2 / 47 Einführung in DNS Gliederung 1 Einführung in DNS 2 Aufbau und Verwendung von DNS 3 Probleme 4 Ausblick 5 Links AmP+mm (CCC) DNS 07.09.2009 Vortrag 3 / 47 Einführung in DNS Grundlegende Erklärung Was es ist und warum man es braucht % nslookup k o e l n . ccc . de Server : 172.23.23.1 Address : 172.23.23.1#53 Non−a u t h o r i t a t i v e answer : Name : k o e l n . ccc . de Address : 212.201.68.138 % p i n g k o e l n . ccc . de PING k o e l n . ccc . de ( 2 1 2 . 2 0 1 . 6 8 . 1 3 8 ) 5 6 ( 8 4 ) b y t e s o f dat 64 b y t e s from w11g2 . k o e l n . ccc . de ( 2 1 2 . 2 0 1 . 6 8 . 1 3 8 ) : icm AmP+mm (CCC) DNS 07.09.2009 Vortrag 4 / 47 Einführung in DNS Bedeutung Ohne DNS fällt es den meisten Leute schwer überhaupt das Internet zu nutzen. Wieviele IP Adressen kennt ihr auswendig? AmP+mm (CCC) DNS 07.09.2009 Vortrag 5 / 47 Einführung in DNS Eigenschaften Dezentral und hierarchisch Benutzer beziehen DNS von ihrem Provider Geschwindigkeit ist wichtig Kein Trust, eindeutige Antworten Drei Seiten von DNS: Verwaltung, Infrastruktur, Protokoll AmP+mm (CCC) DNS 07.09.2009 Vortrag 6 / 47 Einführung in DNS Eigenschaften Dezentral und hierarchisch Benutzer beziehen DNS von ihrem Provider Geschwindigkeit ist wichtig Kein Trust, eindeutige Antworten Drei Seiten von DNS: Verwaltung, Infrastruktur, Protokoll AmP+mm (CCC) DNS 07.09.2009 Vortrag 6 / 47 Einführung in DNS Verwaltungseinheiten im Internet Verschiedene Organisationen: ICANN - verwaltet IANA (Internet Assigned Numbers Authority) IANA - verwaltet Daten in den Root Nameserver DENIC - zentrale Registrierungsstelle .de Domains (12mio Domains) EURid - .eu Domains Go Daddy - ICANN akkredierter Domain Registrar (36mio Domains) Bemerkung Die Vergabe von IP Adressen erfolgt über regionale Internet Registrare (RIR) wie RIPE, ARIN, APNIC, LACNIC, AfriNICC, ... Die Zuweisung an die RIR erfolgt durch die ICANN. AmP+mm (CCC) DNS 07.09.2009 Vortrag 7 / 47 Einführung in DNS Registrierungsprozess für Domain Namen Zum Beispiel bei der Denic, Formulare: Registrierung KK Transit Antworten: Ack, Nack, Late(N)Ack Formulare http://direct.denic.de/denicdirect-servicecenter/ formulare-zum-herunterladen.html AmP+mm (CCC) DNS 07.09.2009 Vortrag 8 / 47 Einführung in DNS Whois Die Daten sind natürlich wieder in whois ... % whois ccc . de Domain : Domain−Ace : Nserver : Nserver : Nserver : Nserver : Status : Changed : AmP+mm (CCC) ccc . de ccc . de ns . ccc . de 2 1 2 . 1 2 . 4 8 . 1 ns . i n −b e r l i n . ccc . de 1 9 2 . 1 0 9 . 2 1 . 6 s−dns . i r z 4 2 . n e t ns . i n −ulm . ccc . de 2 1 7 . 1 0 . 1 0 . 1 9 2 connect 2006−09−15T13 : 5 4 : 2 6 + 0 2 : 0 0 DNS 07.09.2009 Vortrag 9 / 47 Einführung in DNS Hands-On: Registrare whois ccc . de whois buecherverbrennung . org whois google . n e t hinterlegte Werte, Rollen je nach Domain Unterschiede Hinterlegte Security Codes (md5,pgp) AmP+mm (CCC) DNS 07.09.2009 Vortrag 10 / 47 Einführung in DNS Whois Admin-C - Administrativer Ansprechpartner Tech-C - Technischer Kontakt verwendete Nameserver Status Achtung Die Daten aus whois werden oft automatisch mit anderen Datenbanken abgeglichen. Ausserdem schicken Registrare die Daten ihrer Whois Datenbanken an die Rootserver. AmP+mm (CCC) DNS 07.09.2009 Vortrag 11 / 47 Einführung in DNS Root Server Weltweite Vermittlungsstelle 13 Root-Server "[a-m].root-servers.net" Geben aus Performance-Gründen nur iterative Antworten ca. 2500 Einträge werden repliziert AmP+mm (CCC) DNS 07.09.2009 Vortrag 12 / 47 Einführung in DNS Root Server: db.root A .ROOT−SERVERS. NET . B .ROOT−SERVERS. NET . C .ROOT−SERVERS. NET . D .ROOT−SERVERS. NET . E .ROOT−SERVERS. NET . F .ROOT−SERVERS. NET . G.ROOT−SERVERS. NET . H .ROOT−SERVERS. NET . I .ROOT−SERVERS. NET . J .ROOT−SERVERS. NET . K .ROOT−SERVERS. NET . L .ROOT−SERVERS. NET . M.ROOT−SERVERS. NET . AmP+mm (CCC) 3600000 3600000 3600000 3600000 3600000 3600000 3600000 3600000 3600000 3600000 3600000 3600000 3600000 DNS IN IN IN IN IN IN IN IN IN IN IN IN IN A A A A A A A A A A A A A 198.41.0.4 192.228.79.201 192.33.4.12 128.8.10.90 192.203.230.10 192.5.5.241 192.112.36.4 128.63.2.53 1 9 2. 3 6 . 1 4 8 . 1 7 192.58.128.30 193.0.14.129 199.7.83.42 202.12.27.33 07.09.2009 Vortrag 13 / 47 Aufbau und Verwendung von DNS Gliederung 1 Einführung in DNS 2 Aufbau und Verwendung von DNS 3 Probleme 4 Ausblick 5 Links AmP+mm (CCC) DNS 07.09.2009 Vortrag 14 / 47 Aufbau und Verwendung von DNS Arten von DNS Servern Resolver Forwarder Caches Authorativ AmP+mm (CCC) DNS 07.09.2009 Vortrag 15 / 47 Aufbau und Verwendung von DNS Ablauf einer Anfrage . . Nameserver de Nameserver Nameserver ccc Query Answer Nameserver koeln Nameserver de pl ccc heise koeln berlin Resolver Abbildung: Der Resolver ermittelt IP zu einem Namen AmP+mm (CCC) DNS 07.09.2009 Vortrag 16 / 47 Aufbau und Verwendung von DNS Hierarchie Root (.) .arpa .de .com .pl ccc koeln www berlin www labor enki.labor.koeln.ccc.de Abbildung: Aufbau einer Hierarchie durch Delegation AmP+mm (CCC) DNS 07.09.2009 Vortrag 17 / 47 Aufbau und Verwendung von DNS Software und Unterschiede: Resolver nslookup dig host gethostbyname, gethostbyaddr Historie Als das Internet noch klein war wurden alle Rechner in der /etc/hosts gepflegt. Eine historische Hosts.txt Datei ist immernoch im Internet zu finden. Andere Adressdienste, gerade für die lokale Auflösung wurden lange verwendet. Die Reihenfolge in der Quellen für die Namensauflösung herangezogen werden ist in der /etc/nsswitch.conf festgelegt. AmP+mm (CCC) DNS 07.09.2009 Vortrag 18 / 47 Aufbau und Verwendung von DNS resolv.conf Welche DNS Server verwendet werden steht in der resolv.conf: domain l a b o r . k o e l n . ccc . de search l a b o r . k o e l n . ccc . de ccc . de nameserver 1 7 2 . 2 3 . 2 3 . 1 nameserver 1 2 7 . 0 . 0 . 1 AmP+mm (CCC) DNS 07.09.2009 Vortrag 19 / 47 Aufbau und Verwendung von DNS Aufbau der Adressen spezifisch unspezifisch enki.labor.koeln.ccc.de 135.23.23.172 Abbildung: Wertigkeit innerhalb von Adressen AmP+mm (CCC) DNS 07.09.2009 Vortrag 20 / 47 Aufbau und Verwendung von DNS DNS Server: Software und Unterschiede isc bind powerdns djbdns / dnscache ms dns dnsmasq AmP+mm (CCC) DNS 07.09.2009 Vortrag 21 / 47 Aufbau und Verwendung von DNS DNS Protokoll Horcht auf Port 53 Hauptsächlich via UDP in 512 Byte - Paketen Verwendung von TCP bei Erweiterungen AmP+mm (CCC) DNS 07.09.2009 Vortrag 22 / 47 Aufbau und Verwendung von DNS DNS Paket Payload Header Question Answer The Question for the Nameserver Resource Records answering the Questions Authority RRs pointing toward an authority Additional RRs holding additional Information Abbildung: DNS Paket AmP+mm (CCC) DNS 07.09.2009 Vortrag 23 / 47 Aufbau und Verwendung von DNS Resource Records SOA NS A CNAME PTR MX TXT ... AmP+mm (CCC) DNS 07.09.2009 Vortrag 24 / 47 Aufbau und Verwendung von DNS Query Types axfr - Transfer zwischen Nameservern query - Abfrage von Records update - Update eines Records AmP+mm (CCC) DNS 07.09.2009 Vortrag 25 / 47 Aufbau und Verwendung von DNS Antwort Typen Konnte der Server selber antworten? authorativ non-authorativ Welcher Art war die remote Antwort? rekursiv iterativ AmP+mm (CCC) DNS 07.09.2009 Vortrag 26 / 47 Aufbau und Verwendung von DNS Antwort Typen Konnte der Server selber antworten? authorativ non-authorativ Welcher Art war die remote Antwort? rekursiv iterativ AmP+mm (CCC) DNS 07.09.2009 Vortrag 26 / 47 Aufbau und Verwendung von DNS Hands-On: dig verwenden Ausprobieren: Namensauflösung mit dig d i g <typ > <domain> <@server> A, PTR, SOA, NS, AXFR Versucht mal den Parameter ’+trace’ Testet bekannte Namen unterhalb von ’example.com’ IPs und deren Namen in 208.77.188.160-170 AmP+mm (CCC) DNS 07.09.2009 Vortrag 27 / 47 Aufbau und Verwendung von DNS Zonen Dateien Bind Style Delegation Parenting Cache und TTL AmP+mm (CCC) DNS 07.09.2009 Vortrag 28 / 47 Aufbau und Verwendung von DNS Beispiel - Teil 1 $TTL 1H @ IN @ @ @ @ IN IN IN IN NS NS MX A AmP+mm (CCC) SOA ns1.koeln.ccc.de. admin.koeln.ccc.de. 2009081704 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1h ) ; Negative Cache TTL ( ns1 ns2 10 mail 212.201.68.138 DNS 07.09.2009 Vortrag 29 / 47 Aufbau und Verwendung von DNS Beispiel - Teil 2 ; glue records ns1 IN A 212.201.68.138 ns2 IN A 78.46.211.2 ; CNAME records www IN CNAME weltregierung wiki IN CNAME weltregierungv4 ; subzonen labor IN NS ns1 ; server records weltregierungv4 IN A 212.201.68.138 weltregierung IN A 212.201.68.138 IN AAAA 2000:638:407:64:20b:6aff:fec5:9538 mail 3600 IN A 78.46.211.7 AmP+mm (CCC) DNS 07.09.2009 Vortrag 30 / 47 Aufbau und Verwendung von DNS Erweiterungen Punycode ENUM Dynamic DNS Extended DNS AmP+mm (CCC) DNS 07.09.2009 Vortrag 31 / 47 Aufbau und Verwendung von DNS Weitere Anwendungen von DNS Round Robin GeoDNS Spam (SPF, RBL) Internetzensur AmP+mm (CCC) DNS 07.09.2009 Vortrag 32 / 47 Probleme Gliederung 1 Einführung in DNS 2 Aufbau und Verwendung von DNS 3 Probleme 4 Ausblick 5 Links AmP+mm (CCC) DNS 07.09.2009 Vortrag 33 / 47 Probleme DOS Angriffe - Spoofing Der DNS Amplification Attack funktioniert da die Quell Adresse von UDP leicht zu fälschen (spoof) ist. Ein 60 Byte großes Query Paket kann eine bis zu 4000 Byte (mit EDNS) große Antwort erzeugen. Der Angriff ist seit 1999 (?) bekannt. Verstärkt um Faktor 8 - 60 AmP+mm (CCC) DNS 07.09.2009 Vortrag 34 / 47 Probleme Tunnel Durch Polling eines modifizierten DNS Servers lassen sich TCP/IP Pakete im Payload der Antwortpakete unterbringen. Die Query Pakete sind leider deutlich kleiner. AmP+mm (CCC) DNS 07.09.2009 Vortrag 35 / 47 Probleme Spoofing / Cache Poisoning Beim DNS-Spoofing ... Beispiel Im Jahre 2008 fällt Dan Kaminsky auf, daß ungefragt im Antwortpaket übermittelte DNS Einträge ebenfalls gecached und verwendet werden. AmP+mm (CCC) DNS 07.09.2009 Vortrag 36 / 47 Probleme DNS Cache Snooping Durch Anfragen an einen DNS Server wird ermittelt (snoop) ob ein bestimmter DNS Eintrag im Cache vorhanden ist, was auf auf eine vorige Auflösung durch den Besitzer des Servers hindeutet. 1 SOA holen (iterativ: Rootserver, von da weiter) 2 A Record pruefen 3 Vergleiche TTL, Differenz <> 0 => Wert war in Cache Beispiel Die Verbreitung des Sony BMG Rootkits konnte so gemessen werden. AmP+mm (CCC) DNS 07.09.2009 Vortrag 37 / 47 Probleme Bekannte offene DNS Server 4.2.2.1 4.2.2.2 ... Provider: 213.168.112.60 // res2.netcologne.de 194.8.194.60 // res1.netcologne.de Achtung Problem der Open Resolver AmP+mm (CCC) DNS 07.09.2009 Vortrag 38 / 47 Probleme Lügende DNS Server Internet Zensur → Stopseite Werbeseiten Keine Nicht-Existente Seiten mehr Achtung Die Verwendung von providerseitigen Werbeseiten kann Phishing Angriffe erheblich erleichtern. AmP+mm (CCC) DNS 07.09.2009 Vortrag 39 / 47 Probleme Hands On: DNS Server Versucht de.wikipedia.org aufzulösen, in dem Ihr einen anderen DNS Server verwendet. AmP+mm (CCC) DNS 07.09.2009 Vortrag 40 / 47 Ausblick Gliederung 1 Einführung in DNS 2 Aufbau und Verwendung von DNS 3 Probleme 4 Ausblick 5 Links AmP+mm (CCC) DNS 07.09.2009 Vortrag 41 / 47 Ausblick DNSSEC und PKI Sicherheitserweiterungen um bekannte Probleme zu beheben Asymetrisches Kryptosystem Zone key für jede Zone (priv+pub) jeder RR wird unterschrieben Alphabetische Anordnung um nicht-existente Records zu finden Gültigkeitsdauer Bringt neue Probleme mit sich AmP+mm (CCC) DNS 07.09.2009 Vortrag 42 / 47 Ausblick IPv6 Hohe Anzahl von Adressen lange, nahezu unmerkbare Adressen Stärkere Nutzung auch im lokalen Bereich → Unverzichtbarkeit von DNS Kein DHCP mehr um Nameserver zu verbreiten. AmP+mm (CCC) DNS 07.09.2009 Vortrag 43 / 47 Ausblick Multicast DNS / DNS-SD DNS ohne Server - ’Zeroconf’ Jeder veröffentlicht sich selbst und seine Dienste Überlappungen möglich und teilweise gewünscht (HA) Implementierung als Avahi oder Bonjour Verwendung über .local AmP+mm (CCC) DNS 07.09.2009 Vortrag 44 / 47 Links Gliederung 1 Einführung in DNS 2 Aufbau und Verwendung von DNS 3 Probleme 4 Ausblick 5 Links AmP+mm (CCC) DNS 07.09.2009 Vortrag 45 / 47 Links Tutorials http://www.heise.de/netze/ DNSSEC-Experten-warnen-vor-politischen-Risiken-und news/meldung/141095 http://www.isotf.org/news/ DNS-Amplification-Attacks.pdf http://icannwiki.org/DENIC ... AmP+mm (CCC) DNS 07.09.2009 Vortrag 46 / 47 Links Other DNS und Bind (O’Reilly) RFC1034 / RFC1035 RFC2671 AmP+mm (CCC) DNS 07.09.2009 Vortrag 47 / 47 Links End. Vielen Dank AmP+mm (CCC) DNS 07.09.2009 Vortrag 48 / 47