Antworten auf Ihre häufigsten Fragen

Wieso besteht ein Risikopotenzial bei rekursiven Nameserver-Abfragen (bind)?

Nameserver dienen dazu, DNS-Namen (www.hosteurope.de) in IP-Adressen (80.237.128.168) umzuwandeln. Allerdings bedarf die Frage, für welche Domains und welche anfragenden Adressen dies zugelassen wird näherer Betrachtung.

Situationsbeschreibung: 

Zunächst muss ein Nameserver, der für die Verwaltung eigener Zonen genutzt wird, diese Daten generell zur Verfügung stellen. Darüber hinaus kann es aber auch gewünscht sein, dass Anfragen zu anderen Domains, die nicht von dem Server selbst verwaltet werden, beantwortet werden sollen (rekursive Abfrage, Server die dies tun werden "open resolver" genannt). Diese Nutzung stellt aber auf bei uns gehosteten Servern eher die Ausnahme dar. Häufig werden die DNS-Server des jew. Providers für die normalen DNS-Abfragen zur regulären Internetnutzung verwendet.

Risikopotential: 

Die Tatsache, das ein Nameserver rekursiv Anfragen beantwortet insofern kritisch, als dass dadurch Angriffe ermöglicht werden, wie Sie z.B. in

http://www.cert.org/incident_notes/IN-2000-04.html

oder

https://www.allianz-fuer-cybersicherheit.de/ACS/DE/_/downloads/BSI-CS_042.html

beschrieben sind ("DNS amplification attacks"). Deshalb sollte man für den eigenen Server prüfen, ob eine rekursive Abfrage für die eigene Anwendung überhaupt nötig ist oder ggf. auf bestimmte Adressbereiche eingeschränkt werden kann.

Bitte beachten Sie, dass dies keine Kompromitierung durch Dritte bedeutet, sondern lediglich Antworten an fälschbare Absenderadressen ermöglicht werden. Dies entspricht technisch einem Flooding und ggf. einem DoS-Angriff.

Beispiel für die Ausnutzung der Schwachstelle: 

Eine legitime Anfrage sieht so aus, dass der Anfragende (A1) mit seiner IP-Adresse (I1) an den Server die Anfrage nach einer IP stellt und diese (natürlich auch an I1) beantwortet wird. 

Missbrauch ist in der Art möglich, dass A1 mit der gefälschten IP-Adresse I2 an den Server die Anfrage stellt und dieser somit eine Antwort an I2 sendet, der diese nicht erwartet. Somit entsteht ein Datenversand vom Server an I2, der je nach Anzahl der Anfragen eine hohe Last oder einen Denial of service (DoS) bewirken kann. Da für die Anfrage UDP verwendet wird, ist das Fälschen der Absenderadresse ohne weiteres möglich. Für den Angreifer A1 ergibt sich der Vorteil, dass die Anfrage die er senden muss im Vergleich zur Antwort des Servers relativ klein ist. Somit wirkt der DNS-Server als Verstärker für die Anfragen ("DNS amplification attack"). Ausserdem erscheint die IP des Opfers (Ihres Servers), nicht des Angreifers als Absender.

Wie kann ich prüfen, ob mein Server betroffen ist?: 

Sie können dazu eine DNS-Anfrage stellen, die der Server nicht beantworten sollte, z.B. nach der IP von hosteurope.de. Diesen Test müssten Sie von einem ANDEREN Rechner als dem betroffenen Server durchführen.

Unter Linux können Sie einen Befehl wie 

host hosteurope.de xx.xx.xx.xx

unter Windows

nslookup hosteurope.de xx.xx.xx.xx

benutzen. Dabei ist xx.xx.xx.xx die IP-Adresse Ihres Servers. 

Sollte die Antwort eine IP zurückliefern (hosteurope.de has address 80.237.128.168), besteht das Problem noch! 

Realisierung in bind (Linux): 

Bei bind können Sie in der /etc/named.conf oder einer anderen Datei, die dort eingebunden wird, eine Direktive erstellen, die die erlaubten IP-Bereiche enthält. Dies kann typischerweise so aussehen:

options {
// [...]
allow-recursion { 127.0.0.1; };
};

Bitte durchsuchen Sie die relevanten Dateien nach einer bestehenden "allow-recursion"-Direktive und ändern Sie diese entsprechend. Sollte keine existieren, kann Sie im "Options"-Bereich hinzugefügt werden. Danach müssten Sie den Dienst neu starten ("/etc/init.d/named restart" oder "/etc/init.d/bind9 restart")

Wenn Sie Plesk nutzen, finden Sie die Einstellung dazu unter DNS-Einstellungen->DNS-Rekursion. Manchmal ist es erforderlich - auch wenn schon "nur für lokale Anfragen zulassen" aktiv ist - dies durch Auswahl von "Verweigern" und anschließend erneut "nur für lokale Anfragen zulassen" zu aktivieren. Bitte prüfen Sie danach, ob immer noch Anfragen beantwortet werden:

Bild

Realisierung unter Windows (ohne Plesk): 

Wenn Sie ein Windows-System ohne Plesk nutzen, beachten Sie dazu folgende Hinweise von Microsoft:

http://technet.microsoft.com/de-de/library/cc771738.aspx

Problematik unter Windows (inkl. Plesk): 

Auf den Windows-Systemen besteht derzeit bedingt durch einen Fehler des bind-Dienstes ein Problem, wodurch die Plesk-Standardeinstellung "Nur für lokale Anfragen zulassen" faktisch die identische Auswirkung wie "Für alle Anfragen zulassen" hat und das System somit prinzipiell für Angriffe missbraucht werden kann. Aus diesem Grund empfehlen wir grundsätzlich, die Rekursion vollständig zu deaktivieren, sofern diese nicht explizit benötigt wird.

Je nach Plesk-Ansicht finden Sie diese Option entweder unter:

"Tools & Einstellungen" -> "DNS-Template" -> "DNS-Rekursion" oder "Server" -> "DNS-Template" -> "DNS-Rekursion"

Sollten Sie auf Ihrem Server bedingt durch eine Spezialkonfiguration zwingend eine lokale DNS-Rekusion benötigen, so empfehlen wir die Rekusion manuell innerhalb der bind-Konfiguration zu aktivieren. Die Konfigurationsdatei finden Sie unter folgenden Pfaden:

Root Server und Dedicated Server: C:Program Files (x86)ParallelsPleskdnsetcnamed.user.conf

Virtual Server: C:ParallelsPleskdnsetcnamed.user.conf

Tauschen Sie dort den Wert localnets gegen den Wert 127.0.0.1 aus, dann sollte eine lokale Rekursion nach anschließendem Neustart des DNS-Dienstes gefahrlos möglich sein. Bitte beachten Sie jedoch, dass diese Einstellung nach einer weiteren Änderung des DNS-Templates innerhalb Plesks wieder überschreiben wird.


otto.friedrich@hosteurope.de xanthippe.ypsilante@hosteurope.de hercules.ikarus@hosteurope.de