Die Kommunikation mit und unter Menschen ist relativ einfach. Es benötigt nur die Kontaktaufnahme zur anderen Person durch Besuch, Telefonat, Brief, E-Mail etc. Ob die Kontaktaufnahme erwidert wird und daraus eine Kommunikation entsteht, entscheidet im Normalfall der Adressat.
Für die Kommunikation unter Computern erfordert es jedoch Regeln, die durch Protokolle festgelegt sind. Weiterhin müssen auch die Computer identifizierbar sein. Welche Informationen benötigen Geräte im Netzwerk für eine gesicherte Kommunikation?
Server vs. Server
DHCP Server
Ein DHCP-Server ist ein Service, der automatisch IP-Adressen, Standard-Gateways und andere Netzwerkparameter für Client-Geräte bereitstellt und zuweist. Er stützt sich auf das als Dynamic Host Konfiguration Protocol oder DHCP bekannte Standardprotokoll, um auf Anfragen von Clients zu antworten.
Ein DHCP-Server sendet automatisch die erforderlichen Netzwerkparameter, damit die Clients ordnungsgemäß im Netzwerk kommunizieren können. Ohne DHCP muss der Netzwerkadministrator jeden Client, der dem Netzwerk beitritt, manuell einrichten, was vor allem in großen Netzwerken mühsam sein kann. DHCP-Server weisen in der Regel jedem Client eine eindeutige dynamische IP-Adresse zu, die sich ändert, wenn der Gültigkeitszeitraum des Clients für diese IP-Adresse abgelaufen ist.
Der anfragende Rechner identifiziert sich i.d.R. über seine MAC-Adresse.
MAC-Adressen waren ursprünglich an eine Hardware (sprich eine Netzwerkkarte gebunden). Aber bei einem Windows PC sind diese Adressen mittlerweile durchaus bisweilen per Software konfigurierbar (Achtung: Potentieller Angriffspunkt für Bösewichter). WLAN Verbindungen im Hotel, auf dem Bahnhof etc. können ohne DHCP nicht existieren.
Gateway
Ein Gateway ist der Netzknoten in der Telekommunikation, der das lokale Netz mit einem anderen Netz (sprich dem Internet) verbindet. Gateways dienen als Eingangs- und Ausgangspunkt für ein Netz, da alle Daten das Gateway passieren oder mit ihm kommunizieren müssen, bevor sie weitergeleitet werden. In den meisten IP-basierten Netzwerken ist der einzige Datenverkehr, der nicht durch mindestens ein Gateway läuft, der Datenverkehr zwischen den Knoten im selben LAN-Segment (Local Area Network).
DNS-Server
Der Domain Name System (DNS)-Server ist ein Server, der speziell für den Abgleich von Website-Hostnamen (wie z. B. example.com) mit den entsprechenden Internetprotokoll- oder IP-Adressen verwendet wird. Der DNS-Server enthält eine Datenbank mit öffentlichen IP-Adressen und ihren entsprechenden Domänennamen. Jedes Gerät, das mit dem Internet verbunden ist, hat eine eindeutige IP-Adresse, mit deren Hilfe es gemäß den IPv4- oder IPV6-Protokollen identifiziert werden kann. Das Gleiche gilt für Webserver, die Websites hosten. Beispiel einer IP-Adresse: 157.165.140.122
DNS-Server ersparen uns das Auswendiglernen solch langer Nummern in IP-Adressen (und noch komplexerer alphanumerischer Nummern im IPV6-System), da sie die Namen der Websites, die wir in die Adressleiste des Browsers eingeben, automatisch in diese Nummern übersetzen, damit die Server die richtigen Webseiten laden können.
Um die Rolle des DNS-Servers zu verstehen, ist es wichtig, etwas über das Domain Name System zu wissen. Das Domain Name System ist im Wesentlichen ein Telefonbuch des Internets. So wie ein Telefonbuch Personen einer Telefonnummer zuordnet, ordnet das DNS den Namen einer Website der entsprechenden IP-Adresse zu.
Das DNS ist ein System von Aufzeichnungen über Domänennamen und IP-Adressen, das es Browsern ermöglicht, die richtige IP-Adresse zu finden, die einer eingegebenen Hostname-URL entspricht. Wenn wir versuchen, eine Website aufzurufen, geben wir in der Regel deren Domänennamen wie jakobsoftware.de, google.com oder it-sa.de in den Webbrowser ein. Webbrowser müssen jedoch die genauen IP-Adressen kennen, um die Inhalte der Website zu laden. Das DNS übersetzt die Domänennamen in IP-Adressen, damit die Ressourcen vom Server der Website geladen werden können.
Manchmal können Websites zahlreiche IP-Adressen haben, die einem einzigen Domänennamen entsprechen. Bei großen Websites wie Google zum Beispiel fragen Nutzer einen Server aus weit entfernten Teilen der Welt ab. Der Server, den ein Computer aus Berlin abzufragen versucht, wird sich wahrscheinlich von dem unterscheiden, den ein anderer Computer aus Atlanta zu erreichen versucht, selbst wenn der in den Browser eingegebene Name der Website derselbe ist. Hier kommt das DNS-Caching ins Spiel.
DNS Server sind die wirklich wichtigen Server, wenn es um Netzwerksicherheit geht. Denn die Namensauflösung kann uns bei kompromittierten DNS Servern auch statt auf den „richtigen“ Shop-Server auf einen Fakeshop-Server umleiten.
Die DNS Server sind weltweit vernetzt und gleichen Ihren Datenbestand in zeitlichen Abständen ab. Wird einer Domäne wie www.jakobsoftware.de eine neue IP-Adresse zugewiesen, etwa durch einen neuen Provider, dauert es mehrere Stunden bis diese neue Paarung weltweit einheitlich verfügbar ist. So manche Störung wurde dadurch hervorgerufen, dass DNS Server mit veraltetem oder gar beschädigtem Datenbestand aktiv waren.
Es gibt viele DNS Anbieter, die man angeben kann. So ist die leicht merkbare 8.8.8.8 ein DNS Service von Google. Bei einer FritzBox ist als Standard angeben: „Die vom Internetanbieter zugewiesene DNSv4-Server zu verwenden (empfohlen)“.
DNS Server selbst sind hierarchisch organisiert. In verschiedenen Ebenen werden die Zuständigkeit und die Verfügbarkeit geregelt, damit die Flut an DNS Anfragen in der Praxis auch wirklich bearbeitet werden kann. Einem DNS-Server der von einem großen Provider betrieben wird kann in der Regel vertraut werden.
Halten wir an dieser Stelle einmal fest: Es gibt DNS Server, die als Administrative Aufgabe haben, alle DNS Einträge zu verwalten. Es gibt DNS Server, die sich regional um die wichtigsten Domains kümmern und dabei lernen. Es gibt aber auch lokale DNS Server, die vielleicht nur eine spezielle Aufgabe erfüllen, aber alle anderen Anfragen dann weiterleiten – oder auch nicht.
DNS Server sind also sehr wichtig. Auch sehr wichtig für Firewall-Regeln. Wenn eine Anfrage an www.jakobsoftware.de von einem Client gesendet wird, dann muss erstmal eine DNS Anfrage raus gehen, welche IP damit verknüpft ist. Denn die Regeln funktionieren für IPs, nicht für Domains. Hier kann also eine Firewall schon mit einem einfachen Cache effizient werden: Einmal angefragte Domains und IP Paare sind lokal vorhanden und werden nicht immer beim DNS Server nachgefragt. Wenn für eine Domain alle Verbindungen untersagt werden sollen, dann kann man das einfach in einer Firewall-Regel mit einem Domainnamen machen. Das wäre eine Erweiterung des ursprünglichen IP/Port Regelwerkes auf Domainnamen. Aber was, wenn sich hinter einem Domainnamen mehrere IP-Adressen verbergen? Je eine z.B. für Web, E-Mail, FTP etc.? Domainnamen als Aliase für IP-Adressen resp. Listen von IP-Adressen sind für eine einfachere Notation von Regeln interessant.
Generell ist hier festzuhalten: Die Wahl eines richtigen, vertrauenswürdigem DNS Servers ist lebenswichtig. Die DNS Auflösung und die Filterregeln einer Firewall arbeiten hier sehr eng Hand in Hand.
Eine saubere Implementierung und „schnelle“ DNS Server sind wichtig. Im Durchschnitt hat eine einzelne HTML Seite 10 Links, URLs, Domainaufrufe, unter anderem für Bilder, bis die Seite dargestellt wird. Da ist es sinnvoll, passende Cache-Mechanismen einzubauen, damit der Internetverkehr zusätzlich zum Download nicht auch noch mit DNS-Abfragen überhäuft wird.
Ein DNS Filter in der Firewall-WAN-Schnittstelle kann auch schon mal ganz an der Grenze unseres Netzwerkes unerwünscht Zugriffe verhindern.
Wie sieht das in der Praxis aus?
Eine Sache haben wir noch nicht erwähnt. Gewissermaßen die Mutter aller DNS Dienste: Im TPC/IP-Stack gibt es eine Datei „hosts“. Die Hosts-Datei ist eine lokale Nur-Text-Datei, die Server oder Hostnamen IP-Adressen zuordnet. Es war die ursprüngliche Methode, Hostnamen in eine bestimmte IP-Adresse aufzulösen. Die Hosts-Datei ist normalerweise der erste Prozess im Verfahren zur Domänennamenauflösung. Der Speicherort der Hosts-Datei ist je nach Betriebssystem unterschiedlich. Die typischen Standorte sind:
Windows 10 – „C:\Windows\System32\drivers\etc\hosts“
Linux – „/etc/hosts“
Mac OS X – „/private/etc/hosts“
Diese Datei kann man nutzen, beispielsweise, wenn für einen Rechner ein anderer Rechner per Namen ausnahmsweise angesprochen werden soll. So wäre das Paar IP-Adresse – NAS-Name denkbar. Für wenige interne Sonderfälle durchaus eine sinnvolle Nutzung der Hosts-Datei. Externe IP-Adresspaarungen sollte man aber nicht verwenden.
Auf einem Client sind in den Adaptern dann auch die Einträge für den DSN Server zu finden. Der Administrator kann zwei DNS Server angeben. Oft findet man eine interne IP-Adresse etwa zur Firewall und eine weitere Fallbackadresse etwa zu Google-DNS, falls die erste nicht antwortet.
Wenn wir auf einen internen DNS-Server verweisen, dann sind dort i.d.R. die extern anzusprechenden DNS Server hinterlegt und an dieser Stelle greifen dann auch Sicherheitsprodukte, die sich speziell mit dem Thema DNS beschäftigen. Bei einer Firewall wir der FritzBox empfiehlt der Hersteller, einen vom Provider empfohlenen DNS-Server einzutragen. Provider wie T-Online sollten hier gute Adressen sein.
Tuxguard bietet hier einen Standard DNS Server an, der als schlanker Zwischenspeicher und Resolver arbeitet. Spricht man diesen DNS Server als primären DNS Server an, kann die Tuxguard-Firewall mit Ihren Sicherheitsmodulen diese IP-Adressen auch gleich gegen bekannte „schlechte“ Internet-IPs prüfen und so auf der Ebene schon einen Zugriff auf Viren befallene Quellen verhindern. Alternative DNS-Server-Abfragen (Fallbacks) umgehen diese Sicherheitslinie jedoch. Dieser Blickwinkel spricht gegen die Angabe von alternativen DNS-Servern
Schlusswort:
Will man in seiner Firewall spezielle DNS Sicherungen nutzen, muss der Administrator darauf achten, dass die Clients im Netzwerk auf diesen DNS Server ansprechen. Tun sie das nicht, ist der Schutz dieser speziellen Dienste nicht gegeben.