Firewalls richtig konfigurieren: Port 53 TCP und EDNS

Mitglied: LordGurke

LordGurke (Level 3) - Jetzt verbinden

2021/01/08, aktualisiert 2021/01/09, 1288 Aufrufe, 3 Kommentare, 4 Danke

Moin,

weil ich gerade diesen bescheuerten Fehler aus der Ferne debuggen durfte:

Liebe Menschen, die ihr Firewalls bei Kunden konfiguriert: DNS benutzt Port 53 auf UDP und TCP.
TCP ist nicht optional sondern wird in freier Wildbahn wirklich genutzt! Und ist auch standardisiert: RFC 1035, 4.2.2

Aber da dieser Fehler alleine noch genug Raum für funktionierendes DNS ließe:
Wenn eure Firewall noch der lange überholten Meinung ist, dass DNS-Antworten per UDP niemals einen Payload > 512 Bytes haben dürfen, sollte euer Resolver oder Forwarder, der hinter dieser Firewall steht, das auch wissen, damit dieser nicht per EDNS arglos größeren Payload anbietet.
Das starre 512 Bytes-Limit ist spätestens mit verbreiteter Einführung von EDNS überholt, denn jetzt können beide Seiten diese Payload-Größe aushandeln.


Also, kurz zusammengefasst:
    • DNS-Anfragen mit UDP und TCP erlauben
    • Wenn die UDP-Payloadgröße durch die Firewall begrenzt wird, muss der DNS-Resolver oder Forwarder diesen Wert kennen, damit er nichts falsches via EDNS advertised. Allerdings tut man sich schon aus Performance-Gründen einen Gefallen, wenn man UDP-Payload bis wenigstens 786 Bytes durchlässt - das reicht im Falle von DKIM und DNSSEC in vielen Fällen schon aus und verhindert die latenzbehafteteren Nachfragen per TCP.


Wer jetzt sagt: "Ach, was betrifft mich das, so riesengroße DNS-Antworten sind hochgradig exotisch und sowas haben wir hier nicht!":
Ausgang meiner Recherche war, dass der (aus meiner Sicht auch, aber anderweitig kaputte) Spamfilter beim Empfänger versuchte, die DKIM-Signaturen eingehender Mails gegen die DKIM-Einträge im DNS zu validieren, bei manchen Mails dann dabei wegen oben beschriebener Fehler aber keine Antworten bzw. "SERVFAIL" bekam und deshalb dann die E-Mail nicht haben wollte.
Ursache dafür war, dass der DNS-Server beim Empfänger per EDNS advertisete, dass er 1680 Bytes UDP-Payload empfangen kann. Und meine DNS-Server ihm daher wie geheißen die 517 Bytes großen Antworten per UDP schickten.
Die Firewall fraß diese Pakete auf, weil sie mehr als 512 Bytes Payload trugen. Eine Nachfrage des Empfänger-DNS-Servers via TCP scheiterte, weil die Firewall keine DNS-Anfragen per TCP heraus ließ. Also: Timeout auf allen Kanälen und damit keine Antwort.

Das Debugging wurde dadurch erschwert, dass dies nur bei einer Absenderdomain passierte. Mails anderer Domains auf dem selben Server mit dem exakt selben DKIM-Schlüssel im DNS liefen problemlos durch. Die problematische Domain war einfach insgesamt relativ lang (29 Zeichen mit Subdomain), die anderen, deutlich kürzeren Domains haben den Payload in der Antwort nicht über 512 Bytes aufgebläht.





Nachtrag:
Ich wollte doch noch ein paar nicht-repräsentative Grafiken über die Anfrage- und Antwortstatistiken meiner Nameserver mitgeben!

Das hier ist die Response-Size:

dns-rsizes - Klicke auf das Bild, um es zu vergrößern

Ja, das Problem mit der Response-Size betrifft für reguläre positive Antworten (Rcode 0) zwar nur 1-2% der Queries (zumindest bei den Domains auf meinen Nameservern), aber das reicht ja wie man sieht schon aus, um ernsthafte Probleme zu verursachen.

Die Antworten mit Rcode 3 sind Antworten auf Fragen nach nichtexistenten Namen (NXDOMAIN), wo man mit DNSSEC relativ große Antworten mitliefert, weil man durch NSEC3-Hashes ja beweisen muss, dass da nichts ist. Die würden auf jeden Fall kleben bleiben, da merkt man es aber kaum, weil der Name ja eh nicht auflösbar wäre.


Ein Blick auf die gewählten Transporte: Etwa 10% aller Anfragen kommen mit TCP, also nicht ganz unsignifikant.
dns-transp - Klicke auf das Bild, um es zu vergrößern


Das korreliert von der Menge her interessanterweise mit dem Anteil EDNS-Fähiger Resolver, die eine Buffersize von <= 1023 Bytes advertisen und deshalb für manche Antworten zwingend auf TCP umschalten müssen. Nicht-EDNS-Fähige Resolver scheinen kaum noch unterwegs zu sein.

dns-ednsbuffersizes - Klicke auf das Bild, um es zu vergrößern
Mitglied: lcer00
2021/01/08 um 20:06 Uhr
Hallo,

der Fehler kommt schnell mal von hinten durch die Brust daher und zwar wie folgt:

Zonentransfers erfolgen über TCP. Deshalb definiert man eine tcp-Regel für Zonentransfers, bei der nur die Zielserver freigegeben sind. Oder man sperrt Zonentransfers komplett mittels einer TCP-deny Regel. Danach gibt man dann halt UDP für alle anderen frei. Und schwupps hat man TCP-Nachfragen für lange Antworten vergessen.

So schnell geht das und man glaubt noch alles wunderbar korrekt gemacht zu haben.

Grüße

lcer
Bitte warten ..
Mitglied: Mystery-at-min
2021/01/09 um 12:12 Uhr
Hallo,

gut, was aber, wenn die Firewall DNS-Proxy ist?

Deine Empfehlung ist ein Hurra an jeden Malwareschreiber, denn DNS ist leider viel zu oft komplett liberalisiert - vermutlich aufgrund der "Einfachheit", der "Grundsätzlichkeit", sowie vermutlich der Unkenntnis des Admins.

https://www.computerwoche.de/a/datenklau-durch-unbemerkte-dns-tunnel,333 ...

(Kurzes 5sek Google Ergebnis, gibt sicherlich elitärere Quellen).

Das hier propagierte Konzept lädt quasi ein wirklich jedweden anomalen/maliziösen Verkehr über DNS zu schieben.

Ich sage, Klasse statt Masse.
Bitte warten ..
Mitglied: LordGurke
2021/01/09, aktualisiert um 17:12 Uhr
Die Firewallregeln gelten natürlich auch, wenn die Firewall selbst der Forwarder ist.
Mit händisch angelegten fehlerhaften Regeln kannst du auch den DNS-Dienst auf diesen Geräten verstümmeln und unbrauchbar machen.

Und es soll ja Szenarien geben, wo du vertrauenswürdigen Geräten (z.B. nachgelagerte Firewalls) erlauben willst, selbst per DNS im Internet nachzufragen.
Oder weil du einen bei dir stehenden autoritativen Server aus dem Internet erreichbar machen willst — in diese Richtung machen fehlerhafte Regeln die gleichen Probleme.


Und: Ich behaupte, als Malware-Schreiber kann ich auch deinen DNS-Proxy auf der Firewall missbrauchen um Daten zu exfiltrieren oder Malware nachzuladen ;-) face-wink
Bitte warten ..
Heiß diskutierte Inhalte
Internet
Kein Internet nach Windows 2019 Server Installation
solved Zygmund1 day agoQuestionInternet25 Comments

Computer : HP ProLiant DL580 Gen7 , 4x CPU , 16 GB ECC Ram, 1 TB SAS Installation von - Windows 8 Server - ...

Windows 10
Vom Homeoffice auf lokale Dateien zugreifen
Saylles1 day agoQuestionWindows 106 Comments

Guten Morgen, meine Frau ist im Homeoffice, ihr Arbeitgeber stellt ihr einen Access der unter Server 2016 lauft zur Verfügung. Dieser Remote zugriff funktioniert ...

Windows Server
GPO verschieben von Benutzern
solved AnGi196421 hours agoQuestionWindows Server10 Comments

Hallo in die Runde! Ich habe als Neuling hier gleich 2 Fragen und hoffe, das mir geholfen werden kann. 1. Ich habe bei einem ...

Outlook & Mail
Outlook 2019 stürzt bei Erhalt von Besprechungsanfrage ab
solved Philtaer1 day agoQuestionOutlook & Mail17 Comments

Hallo, ich habe ein ganz merkwürdiges Problem. Outlook 2019 stürzt beim Erhalt von Emails die Besprechungsanfragen enthält ab. Das Programm friert ein mit "Reagiert ...

Routers & Routing
Router Firewall gesucht
HamBam1 day agoQuestionRouters & Routing9 Comments

Hallo zusammen, ich schaue mich für die Firma aktuell nach neuen Routern für unsere Außenstellen um. Aktuell haben wir da diese silbernen, bei Administratoren ...

Windows Server
Server 2019 - VM (DC) hängt sporadisch
zer0g22241 day agoQuestionWindows Server13 Comments

Hallo liebe Kolleginnen und Kollegen, ich habe mal wieder eine Frage zu einem Problem: Eine VM (DC) bleibt im Betrieb sporadisch "hängen". Das äußert ...

Firewall
Kennt jemand Forcepoint Firewalls oder setzt diese sogar ein?
ZeroTrust1 day agoQuestionFirewall2 Comments

Ich wäre interessiert an User Meinungen über diese Firewall Lösungen. Kenne ich absolut nicht und habe auch noch nie davon gehört, geschweige jemals damit ...

Server Hardware
MacOS Netzwerk für Kreativagentur
phil2gold1 day agoQuestionServer Hardware7 Comments

Grüße euch! Ich habe eine Kreativagentur, die überwiegend Social Media Content und Werbefilme produziert. In unserem neuen Büro möchte ich ein Netzwerk einrichten, in ...