Pi-hole: unbound&Hyperlocal vs dnscrypt-proxy

Hallo ihr Lieben,
mein altes Raspberry Pi 1B mit Pi-hole nach der Anleitung aus dem alten Kuketz-Forum von Tschaeggaer dürfte in den Ruhestand. Derzeit nutze ich ein Pi Zero 2W mit Waveshare Ethernet adapter um Pi-hole im lokalen Netzwerk und per VPN auch Mobil zu nutzen. Die Umstellung hat bei mir das Thema DNS wieder präsenter gemacht und führte mich durch verschiedene Foren und Artikel. Wesentlich sind zwei Anleitungen zu nennen: Zum einen die bereits bekannte von Tschaegger und zum anderen eine von decatec.
Nach meinem Verständnis laufen die Anfragen bei Tschaegger´s Anleitung: PC/Smartphone/… → Pi-hole → Unbound → DNS-Root-Server.
Bei decatec´s Anleitung laufen die Anfragen: PC/Smartphone/… → Pi-hole → dnscrypt-proxy → DNS-Relay → DNS-Resolver.
Jetzt stellt sich mir die Frage welche Variante aus Privacy- und Security-Sicht die bessere ist, oder ob ein ganz anderes Verfahren vielleicht idealer wäre. DNSSEC unterstützen beide Varianten. Der DNS-Resolver vom dnscrypt-proxy erhält seine Einträge ebenfalls schlussendlich vom DNS-Root-Server. Meines Wissens können die DNS-Root-Server nicht verschlüsselt übertragen, daher ist die „letzte Meile“ sowieso bei beiden Varianten vergleichbar. Der Unterschied liegt daher nur in den Relays bzw. Resolvern welche die Anfrage in einer Vielzahl weiterer Anfragen anderer Nutzer untergehen lässt. Dem Gegenüber steht ein Vertrauen in den Resolver, dass die DNS-Anfragen nicht verfälscht/verändert werden. Wie seht ihr das? Welches Verfahren nutzt ihr und würdet ihr empfehlen?

P.S.: Im Hinblick auf die Verschleierung der Verbindungen gegenüber des ISP bin ich mir bewusst, dass Aufgrund der Rückverfolgung der IP, dies nur über VPN lösbar wäre. Daher soll das nicht Thema sein.

Aus Sicherheitsperspektive sehe ich meine Anleitung ganz klar vorne, weil du ein Glied weniger in der Kette hast und damit auch weniger Angriffspunkte und weniger Entitäten, denen du vertrauen musst.

Den Privatsphärenaspekt finde ich schwer zu vergleichen. Bei meiner Anleitung verteilst du die DNS-Anfragen auf mehrere Server, allerdings können diese direkt dir zugeordnet werden. Bei dem nicht-autoritativen Nameserver gehen alle Anfragen über diesen, sodass nur dieser direkt weiß, dass die Anfragen von dir kommen. Allerdings kennt dann eine einzige Stelle all deine Anfragen. Oder anders: Vertraust du lieber mehreren Stellen ein bisschen oder einer Stelle stark?

Das Konzept hinter den DNS-Relays und den DNS-Resolvern bei dnscrypt, ist doch die Verschlüsselung der Anfrage, sodass das Relay zwar die Anfrage zuordnen kann aber nicht den Inhalt kennt, während der DNS-Resolver zwar den Inhalt kennt aber die Verbindung dem Relay und nicht dem Nutzer zuordnet. Natürlich ist dabei davon auszugehen, dass es sich um zwei unabhängige Betreiber von DNS-Relay und DNS-Resolver handelt. Auch werden die Verbindungen zu den Relays und Resolver von dnscrypt-proxy in kurzen Abständen überprüft und die schnelleren Verbindungen bevorzugt, sodass selbst bei Relay-/Resolverausfall dieser leicht kompensiert wird. Daher bleibt als Schwachstelle des dnscrypt-Verfahren die Verfälschung bzw. Veränderung der DNS Anfrage durch die Resolver, wenn die Domain kein DNSSEC unterstützt. Oder habe ich etwas übersehen?
Im Idealfall würde ich gerne niemanden Vertrauen müssen, aber das wird nicht funktionieren.

Hi, passt nicht 100% zum Thread, aber ich dachte, ich versuche mein Glück. Vor 2-3 Jahren habe ich Pi-hole bereits nach der alten Anleitung aufgesetzt und wollte jetzt unbedingt mal updaten. Letztes Wochenende habe ich die neue Anleitung hier im Forum aber vergeblich gesucht.

Ist das hier die aktuellste Version? https://anleitungen.codeberg.page/PiHole-einrichtung/

Gruß
Geko

Sollte ja, ich hab das jedenfalls mal aus dem Forum in ein Repo Übertragen. Wenn ich es richtig im Kopf habe müsste Tschaegger dort auch Berechtigt sein.

1 „Gefällt mir“

Achso, ich hatte das Relay-Konzept übergangen. Damit hast du natürlich eine gewisse Anonymität bzw. wäre es eine Hürde, deine Anfragen zu deanonymisieren und dir zuzuordnen, insb. wenn du bei Relay und Nameserver auf verschiedene Anbieter achtest.

Das die Relays und DNS-Server/Resolver getrennte Anbeiter sind ist Grundvorraussetzung. Damit wäre bei dnscrypt die Verbindung anonymisiert & verschlüsselt. Allerdings ist dein Argument vollkommen korrekt, dass mehr Entitäten an der DNS Auflösung beteilgt sind. Vorallem muss dem Resolver vertraut werden, dass dieser eine korrekte Auflösung der DNS-Anfragen ohne Zensur oder Verfälschung (abgesehen von Domains mit DNSSEC) durchführt.
Wohingegen bei Hyperlocal Root die Verbindung unverschlüsselt und nachvollziehbar an die Root-Server gelangt. Allerdings kann bei den Root-Servern davon ausgegangen werden, dass diese die Anfrage korrekt auflösen. Durch die unverschlüsselte Verbindung zum Root-Server könnte aber durch Dritte die Anfrage verfälscht werden.
Ideal wäre eine verschlüsselte Verbindung über ein Relay zum Root-DNS (Quasi dnscrypt mit Hyperlocal Root). Das scheitert aber schon daran, dass die Root-Server keine Verschlüsselung zulassen.

Das ist allerdings für beide Konzepte ein Kontra-Argument, da bei dnscrypt-proxy dein Nameserver die Daten auch unverschlüsselt von den Root-Servern bekommt. Nur wie viele Ziele man mit solch einem Angriff trifft unterscheidet sich dabei.

@Lauchmelder

Wie ist hier eigentlich der Stand, für was hast du dich entschieden?

Hier:

https://www.kuketz-forum.de/t/projekt-pi-hole-schritt-fuer-schritt/3433/8

nutzt auch noch jemand ein ähnliches wenn nicht sogar gleiches Setup…

Sehe das leider jetzt erst:

Das stimmt so nicht. Beim hyperlokalen Konzept hält Unbound eine komplette Kopie der Root Zone vor. Die Kopie wird in regelmäßigen Abständen neu geholt. Die eigentliche Anfrage wird von Unbound dann lokal behandelt. Der Root Server sieht also periodische Abfragen seiner Root Zone aber keinerlei Abfragen nach einer bestimmten Domäne.

Unbound ist ein rekursiver Resolver. Das bedeutet, dass Unterdomänen bzw. Hostnamen dann direkt vom authoritativen Nameserver der jeweiligen Domäne abgefragt werden. Das sieht bei einem Host a.b.com also ungefähr so aus:

  1. Unbound schlägt den Nameserver für b.com in seiner lokalen Kopie der Root Zone nach.
  2. Unbound schickt an den b.com Nameserver eine Anfrage nach der Adresse von a.b.com.
2 „Gefällt mir“

und die Kopie ist valide, weil verschlüsselt von einem verifizierten Server? Kann man das prüfen?

danke für die Erklärung. So genau war mir das nicht bekannt.

Die Anfrage von Unbound an „b.com“ nach der Adresse „a.b.com“ ist in diesem Falle unverschlüsselt, korrekt?

Wie sieht dein Beispiel für dnscrypt-proxy aus?

Vielleicht tue ich mir schwer aber wo liegt der Vorteil von Unbound gegenüber dnscrypt-proxy?

Die Anfrage von Unbound an „b.com“ nach der Adresse „a.b.com“ ist in diesem Falle unverschlüsselt, korrekt?

Ja

Wie sieht dein Beispiel für dnscrypt-proxy aus?

Vielleicht tue ich mir schwer aber wo liegt der Vorteil von Unbound gegenüber dnscrypt-proxy?

Das muss jemand anders beantworten.

Im Fediverse wird über die Nutzung von einem eigenen DNS Resolver diskutiert.
https://chaos.social/@ju916/111443037875482268

Offenbar scheint es aus Privacy-Sicht nicht optimal zu sein Unbound zu nutzen, was ist eure Meinung dazu?

Unbound ist nur ein Beispiel, das bezieht sich auf jeden rekursiven DNS Resolver.

Dieses Argument:

Because NSA’s monitoring of y.z will suddenly record your personal IP and they now can trace your interest in x.y.z back to you.

will mir nicht ganz einleuchten. Wenn jemand den DNS Verkehr beobachten kann und die IP Adresse meines DNS Resolvers erfassen kann, der x.y.z abfragt, dann kann diejenige doch auch den eigentlichen Verkehr zu x.y.z beobachten und meine eigentliche IP Adresse erfassen.

Dieser ju meint, dass Leute Unbound o. Ä. aufsetzten, um ihre Privacy zu verbessern. Er hat schon Recht, dass man das damit nicht erreicht. Ich behaupte, sie wird dadurch auch nicht schlechter, sondern hauptsächlich anders, weil Datenspuren an anderen Stellen hinterlassen werden. Aber nennenswert besser wird es mit Unbound jedenfalls nicht. Dafür gewinnt man deutlich an Unabhängigkeit.

1 „Gefällt mir“