RethinkDNS: Tipps zur Bedienung und Konfiguration

RethinkDNS ist ein leistungsstarkes Tool zur Verbesserung des Datenschutzes unter Android. Es kann nicht nur Werbung, Tracker und andere unerwünschte Elemente blockieren, sondern auch feingranular steuern, mit welchen Servern/Gegenstellen sich Apps verbinden dürfen. Insgesamt ist die Liste der Funktionen lang und die Einarbeitungszeit in das Tool anfangs hoch. Nachfolgend möchte ich einige Tipps und Konfigurationseinstellungen (Version 055a) vorstellen, die den Einstieg erleichtern.

DNS-Filter

Grundsätzlich unterteilt sich RethinkDNS in DNS-Filter und eine Firewall-Funktion. Mithilfe der DNS-Filter können unerwünschte Domains bereits auf DNS-Ebene abgewiesen werden. Dazu bringt RethinkDNS eine umfangreiche Liste mit, die in verschiedene Kategorien (Datenschutz, Sicherheit etc.) unterteilt ist. Je nach Bedarf kann man einzelne Listen aktivieren oder ganz auf lokale DNS-Filter verzichten und einen entfernten DNS-Resolver einstellen, der die Filterung übernimmt. Mehr Kontrolle hat man natürlich, wenn man die lokalen Filterlisten verwendet. Die Filterlisten können über Konfigurieren -> DNS -> Geräteinterne Sperrlisten -> Konfigurieren aktiviert werden. Derzeit verwende ich folgende Listen:

Wie viele Domains RethinkDNS nach dieser Auswahl insgesamt blockiert, ist leider nicht ersichtlich. Duplikate werden zwar entfernt, dennoch wäre eine Anzeige der insgesamt gesperrten Domains hilfreich – ich schätze die Gesamtzahl auf ca. 80.000 bis 120.000.

Welche Filterlisten man aktiviert, hängt stark davon ab, ob man sich die Mühe macht, Apps über die Firewall-Funktion feingranular zu regulieren. Ist dies der Fall, benötigt man eher wenige/kleine oder gar keine Filterlisten, da nur die Verbindungen zugelassen werden, die für die Funktionserfüllung der jeweiligen App notwendig sind. Ausnahme ist der Browser – hier würde eine DNS-basierte Filterliste durchaus Sinn machen, da man nicht jede einzelne Verbindung freigeben möchte. Ein browserbasierter Werbe- und Trackingblocker (z.B. uBlock Origin) ist für diesen Zweck aber völlig ausreichend.

Globale Firewall

Mit der Firewall können sowohl globale Regeln, die für alle Apps gelten, als auch anwendungsspezifische Regeln erstellt werden. Besonders interessant sind die universellen Firewall-Regeln, die einige nette Funktionen bieten. So ist es bspw. möglich, Verbindungen von Apps zu blockieren, wenn das Gerät gesperrt ist oder die App gerade nicht verwendet wird. Apps, die versuchen, die DNS-Einstellungen zu umgehen, können ebenso blockiert werden wie Apps, die Verbindungen über Port 80 (unverschlüsseltes HTTP) initiieren. Derzeit verwende ich folgende Einstellungen (Konfigurieren -> Firewall -> Universal firewall rules):

  • Blockiere alle Apps, wenn das Gerät gesperrt ist
  • Blockiere jede App, die nicht in Benutzung ist
  • Blockiere, wenn DNS umgangen wird
  • Blockiere neu installierte Apps standardmäßig

Diese allgemeingültigen Regeln gelten für alle Apps – für einige Apps wie E-Mail, Messenger etc. macht die Einstellung allerdings wenig Sinn, da eine Kommunikation nur dann stattfinden kann, wenn sich die App im Vordergrund befindet bzw. das Gerät nicht gesperrt ist. Dafür lassen sich dann Ausnahmen definieren.

Firewall-Regeln für Apps

RethinkDNS kann für jede App unterschiedliche Firewall-Regeln anwenden. Grob kann unterschieden werden zwischen

  • Erlaubt
  • Blockiert
  • Isoliert
  • DNS & Firewall umgehen
  • Universelle Umgehung

Auf den ersten Blick ist es nicht leicht zu verstehen, wo die Unterschiede liegen. Anhand einiger Beispiele möchte ich dies kurz verdeutlichen.

Die App der Deutschen Bahn (DB Navigator) ist bekanntermaßen nicht datenschutzkonform. Mit RethinkDNS kann genau festgelegt werden, mit welchen Servern/Gegenstellen eine App kommunizieren darf. Dazu wird eine App »isoliert« und anschließend können IP- oder Domain-Regeln definiert werden, die es der App erlauben, eine Verbindung zu bestimmten Servern/Gegenstellen aufzubauen. Die Vorgehensweise ist wie folgt: Die Anwendung wird zunächst isoliert. Über die Statistik/die Logs der App werden dann alle Verbindungen angezeigt, die die App versucht zu initiieren – dies funktioniert jedoch nicht, da bisher keine Ausnahmen/Regeln definiert wurden:

DB Navigator - Domains-Log

Nun kann für jede Domain entschieden werden, ob der DB Navigator eine Verbindung aufbauen darf oder nicht. Sinnvoll ist es, lediglich Domains zu erlauben, blockiert werden sie bereits durch RethinkDNS. Es ist also nicht notwendig, auch Blocking-Regeln zu erstellen. Zum Betrieb benötigt der DB Navigator folgende Domains – der Rest ist Tracking und/oder unnötig:

DB Navigator - notwendige Domains

Anders verhält es sich bei einer E-Mail-App wie K-9 Mail oder einem Messenger wie Signal. Diese stellen keine Verbindung zu Tracking- oder Werbedomains her und müssen daher nicht isoliert werden. Es reicht aus, sie zuzulassen oder falls ihr eine der beide Optionen

  • Blockiere alle Apps, wenn das Gerät gesperrt ist
  • Blockiere jede App, die nicht in Benutzung ist

aktiviert habt, ist in diesem Fall eine universelle Umgehung sinnvoll. Die Apps tauchen dann zwar noch in der Statistik/den Logs auf, aber weder der DNS-Filter noch die (globale) Firewall greifen in den Datenverkehr ein.

Zusammengefasst:

  • Apps, die auf das Internet zugreifen sollen, aber Tracking beinhalten oder Werbung einblenden, werden »isoliert« und über Freigaben festgelegt, zu welchen Servern/Gegenstellen sie eine Verbindung aufbauen dürfen
  • Für unproblematische Apps kann eine »universelle Umgehung« angelegt werden, so dass diese nicht von den globalen Firewall-Regeln betroffen sind (Stichwort: Push-Nachrichten)
  • Apps, denen man nicht vertraut und die auch ohne Internet funktionieren, können komplett »geblockt« werden

Weitere Funktionen

RethinkDNS bietet noch einige weitere Funktionen, wie bspw. WireGuard-Tunnel (für einzelne Anwendungen) oder das Routing des Netzwerkverkehrs über Orbot. Neben diesen Zusatzfunktionen ist auch die Protokollfunktion hervorzuheben, die anzeigt, welche DNS-Auflösungen erlaubt/blockiert werden (Reiter DNS) und welche Verbindungen dann tatsächlich aufgebaut bzw. verworfen werden (Reiter Netzwerk).

Ausblick

Derzeit stehe ich mit den Entwicklern in Kontakt, um Fragen zu diskutieren, neue Funktionen vorzuschlagen und Bugs zu melden. Wer Fragen zu RethinkDNS bzw. zur Nutzung/Bedienung hat, den verweise ich auf diesen Forenthread. Eine umfrangreiche Anleitung zu RethinkDNS wird es im Jahr 2024 geben.

Du kannst den Blog aktiv unterstützen! Mitmachen ➡