Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING

18.9 DNS Dienste

DNS ist im Grunde ein verteiltes Datenbanksystem, welches in Baumstruktur aufgebaut ist. Hierbei sind an den jeweiligen Knoten DNS-Server, sogenannte primary DNS Server, aufgebaut. Damit es redundant ist, können quer über das Internet Backup Server (Secondary DNS-Server) bestimmt werden. Sie sind für die Auflösung der Namen in IP - Nummern und umgekehrt zuständig. Es gibt zwei Arten von Netzwerk Datenverkehr, einfache Lookups (Name->IP - Nummer) und reverse Lookups (IP - Nummer->Name), so wie Zonentransfers. Bei Zonentransfers wird entsprechend der Hierarchie der DNS-Server Informationen über Domains über Knoten und Äste hinweg aktualisiert. In den Daten sind alle Informationen über Domains, Ansprechpartner, Mail-Server und andere Server der Domains enthalten. Während (reverse) Lookups zumeist über UDP abgewickelt werden (außer bei IBM Servern), finden Zonen-Transfers hauptsächlich über TCP statt.

DNS allgemein (Domain Name Services)

DNS-Lookups werden aus Geschwindigkeitsgründen meist über UDP abgewickelt. Wenn bei der Übertragung mit UDP Daten verlorengehen, wird der Lookup-Vorgang mit TCP wiederholt. Die Zonen-Transfers von DNS finden über TCP statt.

Regel  Richtung  Protokoll  Quellport  Zielport  Ergänzungen
1      ein       UDP        >1023      53                  
2      aus       UDP        53         >1023             
3      ein       TCP        >1023      53        SYN/ACK
4      aus       TCP        53         >1032     ---/ACK
5      aus       UDP        >1023      53   
6      ein       UDP        53         >1023  
7      aus       TCP        >1023      53        SYN/ACK
8      ein       TCP        53         >1023     ---/ACK
9      ein       UDP        53         53        
10     aus       UDP        53         53           
11     ein       TCP        >1023      53        SYN/ACK 
12     aus       TCP        53         >1023     ---/ACK
13     aus       TCP        >1023      53        SYN/ACK
14     ein       TCP        53         >1023     ---/ACK
Anmerkungen zu den Regeln:

1: Eingehende Anfrage über UDP; Client an Server

2: Antwort auf eingehende UDP-Anfrage; Server an Client

3: Eingehende Anfrage über TCP; Client an Server. ACK gesetzt, außer im ersten Paket

4: Antwort auf eingehende TCP-Anfrage; Server an Client. ACK gesetzt

5: Ausgehende Anfrage über UDP; Client an Server

6: Antwort auf die ausgehende UDP-Anfrage; Server an Client

7: Ausgehende Anfrage über TCP; Client an Server. ACK gesetzt, außer im ersten Paket

8: Antwort auf die ausgehende TCP-Anfrage; Server an Client. ACK gesetzt

9: Anfrage oder Antwort zwischen zwei Servern über UDP

10: Anfrage oder Antwort zwischen zwei Servern über UDP

11: Anfrage eines externen Servers an einen internen Server über TCP; Anforderung eines Zonen-Transfers vom externen sekundären Server über TCP. ACK gesetzt, außer im ersten Paket

12: Antwort des internen Servers an den externen Sever über TCP; Antwort des Zonen-Transfers an den externen sekundären Server über TCP. ACK gesetzt

13: Anfrage des internen Servers an den externen Server über TCP. ACK gesetzt, außer im ersten Paket

14: Antwort des externen Servers an den internen Server über TCP. ACK gesetzt

DNS Filterregeln für innere Firewall

Diese Konfiguration beschreibt die Filterregeln der inneren Firewall zwischen dem DNS-Server im Intranet und dem DNS-Server auf dem bastion host im Grenznetz.

Regel  Richtung      Protokoll  Quellport  Zielport  Kommentar                   
1      Bastion-Host  UDP        53         53        Aktion zulassen               
2      Bastion-Host  TCP        >1023      53        Aktion zulassen, ACK beliebig 
3      Server        UDP        53         53        Aktion zulassen               
4      Server        TCP        53         >1023     Aktion zulassen, ACK gesetzt 
5      Server        TCP        >1023      53        Aktion zulassen, ACK beliebig 
6      Bastion-Host  TCP        53         >1023     Aktion zulassen; ACK gesetzt 

Einrichtung des bastion hosts als DNS-Server

Damit ein Angreifer keinerlei Information über das interne Netzwerk erfährt, wird der bastion host so konfiguriert, daß er falsche Informationen über das interne Netzwerk liefert, jedoch korrekte Informationen über alle von außen sichtbaren und erreichbaren Hosts. Dafür wird dann intern ein unabhängiger DNS-Server aufgesetzt, der die richtigen Informationen über interne und externe Adressen des Netzwerk besitzt. Beide DNS-Server, insbesondere der externe DNS-Server muß gut gegen Anfriffe abgesichert sein, da er die Einträge für Mail-Server (MX) des Unternehmens nach außen hin trägt. Werden diese verändert, so können von außerhalb keine e-Mails mehr empfangen werden, diese werden evtl. an einen beliebigen Server im Internet vom Angreifer umgeleitet. Damit kein Angreifer eine falsche IP - Nummer vortäuschen kann, sollte der bastion host und der interne DNS-Server stets ein double reverse lookup durchführen. Hierbei wird die IP-Adresse über reverse lookup in den Namen und der Name wieder in die IP - Nummer aufgelöst. Stimmen die Ergebnisse nicht überein, ist entweder der zugreifende Client ein Angreifer, oder falsch konfiguriert. Jedenfalls kann er seine Identität nicht nachweisen, und somit sollte er strikt abgelehnt werden. Hierzu müssen alle Dämonen des bastion hosts mit der Bibliothek des TCP Wrappers (TCPD) unter UNIX zusammen kompiliert werden. Der Wrapper prüft vor des Start eines Dienstes, ob der double reverse lookup korrekt war. War er das nicht, so wird der Client abgelehnt. Der TCP Wrapper und der INETD sind auch unter Windows NT verfügbar.


Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING