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