Filtern Sie weitergeleitete DNS-Antworten mit "Binden"

3

Welche Möglichkeiten habe ich, um DNS-Abfrageantworten mit einer bestimmten IP-Adresse oder einem bestimmten Bereich zu blockieren?

Ich lese über DNS-Rebinding-Angriffe nach und überlege, wie ich sie blockieren könnte.

Wenn ein Angreifer einen erneuten Angriff versucht, versucht er, den Browser dahingehend zu täuschen, dass der schädliche Inhalt von 127.0.0.1oder von einer Adresse in meinem LAN bereitgestellt wurde. Sie konfigurieren dazu ihren DNS-Server so, dass die betrügerische Adresse angezeigt wird (wenn sie innerhalb des böswilligen Skripts abgefragt wird). Ich möchte dies verhindern, indem ich alle Antworten auf weitergeleitete DNS-Abfragen blockiere, die zu einer lokalen oder LAN-Adresse führen.

Ich verwende eine Bind9-Zone für mein lokales Netzwerk und verwende Weiterleitungen, um externe Adressen aufzulösen.

Die Bind-Box ist ein Debian-Server hinter meinem NAT-Router. Es führt UFW für die Firewall aus und ermöglicht TCP / UDP über Port 53.

Frank Thomas
quelle
Wenn Sie sich über Response Policy Zones (RPZ) informiert haben, können diese tun, was Sie möchten, und sind in BIND9 enthalten. dnsrpz.info
milli
Ich denke nicht, dass RPZ dafür verwendet werden kann. Ich glaube, dass RPZ nur Anfragen filtern kann. Die Frage bezieht sich auf Antworten von unbekannten Anforderungsdomänen, jedoch mit lokalen Adressen in der Antwort. Bind hat eine Funktion, um dies zu tun, wie in meiner Antwort unten beschrieben.
Davefiddes

Antworten:

1

Es ist möglich, Bind zu erhalten, um die mit dieser Funktion zurückgegebenen Adressen zu filtern deny-answer-addresses. Um dies zu verwenden, fügen Sie dem optionsAbschnitt Ihrer /etc/bind/named.conf.optionsKonfigurationsdatei Folgendes hinzu :

deny-answer-addresses { 192.0.2.0/24; } except-from { "example.net"; };

Dadurch wird verhindert, dass eine 192.0.2.x-Adresse als Antwort auf eine DNS-Abfrage zurückgegeben wird, mit Ausnahme der lokal gehosteten example.netDomäne.

Das Bind-Handbuch empfiehlt auch das Filtern von Aliasen mit:

deny-answer-aliases { "example.net"; };

Eine vorgeschlagene Reihe von Filtern, die ich unter http://www.sput.nl/internet/dns-morons.html gefunden habe, scheint die häufigsten DNS-Rebinding-Angriffe zu behandeln, die auf meinen eigenen Tests beruhen:

deny-answer-addresses {
    // Unconfigured
    0.0.0.0;
    // RFC 1918
    10.0.0.0/8;
    172.16.0.0/12;
    192.168.0.0/16;
    // RFC 3927
    169.254.0.0/16;
    // IPv6
    // :: to ::ffff:ffff:ffff.
    // Includes ::, ::1, IPv4-Compatible IPv6 Addresses ::/96,
    // and IPv4-mapped IPv6 addresses ::ffff:0:0/96
    ::/80;
    // IPv6 Link local
    fe80::/10;
    // RFC 6052
    64:ff9b::/96;
} except-from { "Your.Domain"; };
deny-answer-aliases { "Your.Domain"; };

Das Ausschließen 127.0.0.0/8ist wahrscheinlich keine gute Idee, da es häufig von Diensten wie Spam-Sperrlisten verwendet wird.

Davefiddes
quelle
Danke! Ich werde Ihre Antwort über das kommende Wochenende auswerten, wenn ich ein wenig Zeit habe, mich damit zu beschäftigen. sieht vielversprechend aus.
Frank Thomas
Wir entschuldigen uns für die erhebliche Verzögerung bei der Annahme. Ich habe mir diese Konfiguration angesehen und es sieht aus wie das, wonach ich gesucht habe. Ich wünschte, ich hätte einen guten Weg gefunden, es zu testen. Danke noch einmal!
Frank Thomas
Kein Problem. Ich habe die rebind.network - Testsite von Brannon Dorsey (Code github.com/brannondorsey/dns-rebind-toolkit ) und wireshark zum Testen verwendet. Nicht umfassend, aber einfach zu testen, bevor und nachdem die Änderung aktiviert wurde.
Davefiddes