Wie kann ich eine Subdomain mit dnsmasq blockieren?


7

Ich verwende dnsmasq als Whitelist in meinem Netzwerk. Meine Datei dnsmasq.conf sieht folgendermaßen aus:

bogus-priv
domain-needed
no-resolv

server=/stackexchange.com/8.8.8.8
#etc...

Ich möchte eine Subdomain blockieren können, zum Beispiel:

server=/meta.stackexchange.com/0.0.0.0

Ich habe auch versucht:

address=/meta.stackexchange.com/0.0.0.0

Und für beide habe ich versucht, 0.0.0.0 durch 127.0.0.1 zu ersetzen.

Leider scheint das nicht zu funktionieren. Wie kann ich eine bestimmte Subdomain blockieren und gleichzeitig den Rest der Domain in der Konfigurationsdatei zulassen?

Antworten:


4

Bitte entführen Sie das DNS nicht . Dies beeinträchtigt die Low-Level-Architektur des Internets. Es gibt fast keine ethischen Anwendungen für DNS-Hijacking, die von einer Firewall-Appliance oder einem Firewall-Programm nicht besser unterstützt würden.

Wenn Sie die Auflösung einer Zone in eine Adresse verhindern möchten, können Sie die Client- Hosts-Datei problemlos bearbeiten .

Während dnsmasqder dazu dient , die Art von ‚Spoofing‘ DNS Ergebnisse der Lage ist , die Sie beschreiben, kann der dnsmasq Server leicht durch einen Endbenutzer oder böswillige Angreifer den Client - Host - Zugriff umgangen werden. Diese Art der DNS-Entführung kann daher der Sicherheit kaum Vorteile bringen.

Auch hier würde eine ordnungsgemäß konfigurierte Firewall-Appliance Ihnen wahrscheinlich viel besser dienen, wenn das Ziel darin besteht, Clients daran zu hindern, unbeabsichtigt auf böswillige oder nicht vertrauenswürdige Remote-Hosts zuzugreifen. Eine trendige Lösung ist OpenWRT auf einem Rasperry Pi, wie in diesem Artikel beschrieben .


+1 für L7-Filterung mit Netzfilter
Marcel

Das Bearbeiten der Hostdateien der Clients ist in diesem Fall nicht möglich / praktisch. Wie könnte der Server von einem Endbenutzer oder einem böswilligen Angreifer umgangen werden? Bei der Verwendung von iptables / netfilter habe ich mich in der Vergangenheit damit befasst. Das Problem bestand immer darin, Domänennamen in Firewall-Regeln zu verwenden, die beim Start behoben werden und Änderungen unterliegen. Ich habe jedoch eine iptables-Regel, um DNS-Abfragen zu löschen.
Big McLargeHuge

6
Es ist bedauerlich, dass dies das Kopfgeld automatisch erhalten hat, obwohl es die Frage nicht beantwortet hat.
Big McLargeHuge

5
Mmh, das sind Goldregeln, wenn der DNS-Server im Internet öffentlich ist. Wenn Dave einen internen Server verwaltet, ist sein LAN wie mein Garten, mit meinen Richtlinien, meinen Gründen, meinen Prioritäten. Ich denke, die Frage ist so wie sie ist legitim.
Massimo

Die Frage ist sicherlich legitim, ebenso wie die Position, dass die Konfiguration von dnsmasq als Lüge wahrscheinlicher ist, es sei denn, die Firewall blockiert bereits DNS-Abfragen an das Internet. Angenommen, ich habe eine Firewall, die DNS-Pakete von außerhalb des lokalen Netzwerks blockiert. Wenn meine Firewall nicht auch unbekannte Protokolle und verschlüsselten Datenverkehr blockiert, können Sie einfach ein VPN-Out durchführen. Eine dynamische Firewall ist effektiver: Suchen Sie nach den IP-Adressen, in die der Domänenname aufgelöst wird, und löschen Sie dann den gesamten Datenverkehr. Dnsmasq zu lügen ist sicherlich von Vorteil, wenn Sie zu ARP-Parodie gehen und versuchen, eine Sitzung zu entführen.
Thomas Hughes

3

Damit dnsmasqfunktioniert eigentlich:

address=/meta.stackexchange.com/127.0.0.1

Haben Sie dnsmasqnach der Änderung neu gestartet?

Einzelheiten zum Einrichten von dnsmasq finden Sie in diesem .


Hinweis : Wie andere darauf hingewiesen haben, können Sie nur verwenden /etc/hosts

127.0.0.1    meta.stackexchange.com

1
Um die Site tatsächlich zu blockieren, sollten Sie den IP-Adressenteil weglassen: address=/example.com/Dies führt dazu, dass dnsmasq NXDOMAIN zurückgibt, als ob die Domain nicht existieren würde.
Calmarius

1

Sie können eine Website mit Host-Datensatz blockieren:

host-record=meta.stackexchange.com,127.0.0.1

oder ein cname:

cname=meta.stackexchange.com,blackhole.com

Aber wirklich beide sind ziemlich ineffektive Möglichkeiten, eine Website zu blockieren. Ich könnte zu meiner /etc/hostsDatei gehen und das Problem beheben.


"Ich könnte zu meiner Datei / etc / hosts gehen und das Problem beheben." Sie müssten zuerst die IP-Adresse ermitteln, die Sie in diesem Netzwerk nicht finden könnten.
Big McLargeHuge

1
nicht ganz ... nslookup meta.stackexchange.com 8.8.8.8wird Ihren Standard-DNS-Server umgehen.
Jonathan S. Fisher

Ah, ich habe vergessen zu erwähnen. Ich habe eine iptables-Regel zum Löschen von DNS-Abfragen.
Big McLargeHuge

Keine dieser Arbeiten. cname weil There are significant limitations on the target; it must be a DNS name which is known to dnsmasq from /etc/hosts (or additional hosts files), from DHCP, from --interface-name or from another --cname. If the target does not satisfy this criteria, the whole cname is ignored. (man) ich bin mir nicht sicher warum host-recordes nicht funktioniert.
Big McLargeHuge

host-recordarbeitet für mich ... seltsam.
Jonathan S. Fisher
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.