Selbst-gehosted: Werbung, Malware und mehr per DNS blockieren

Oder: Wie ich mir meine eigene DNS-Infrastruktur baute.

Seit Android 9 alias “Pie” existiert die Möglichkeit, einen systemweit gültigen DNS-Server zu konfigurieren, der per DoT – kurz für DNS over TLS – über das Internet erreichbar ist. Trägt man einen geeigneten DNS-Server ein, laufen alle DNS-Anfragen des Smartphones aus jeder App über diesen Server – verschlüsselt.

Größere Anbieter öffentlicher DNS-Server sind bereits auf den Zug aufgesprungen. Google bietet seinen Dienst unter der Domain “dns.google” an, den Cloudflare-DNS erreicht man unter “one.one.one.one”. Beides klingt hip und funktioniert. Vorteile für die Privatsphäre gewinnt man gegenüber den Standard-DNS-Servern der Provider meiner Meinung nach allerdings nicht. Lediglich die Performance ist besser.

In diesem Beitrag möchte ich eine Alternative aufzeigen, die versucht, das beste aus mehreren Welten zu kombinieren, um eine bestmögliche Privatsphäre und Performance bei gleichzeitig geringem Aufwand zu erreichen.


Nutzt man einen öffentlichen DNS-Server wie von Google oder Cloudflare, werden die Überwachungsmöglichkeiten erst einmal nur verlagert. Zwar kann der eigene Provider dank der Verschlüsselung nicht mehr sehen, welche Adressen man auflösen möchte. Dafür landen die Anfragen ohne Umwege bei US-Unternehmen, die nun direkt das Surfverhalten für jeden einzelnen Client analysieren können. Aus meiner Sicht sind deshalb europäische – hoffentlich DSGVO-konform arbeitende – Provider vorzuziehen, die dann stellvertretend für tausende andere Nutzer die Adressen klären, z. B. auch in den USA, aber eben auch nicht unbedingt. Eine direkte Überwachung eines Nutzers ist aber in beiden Fällen möglich und im Falle einer versehentlichen Vorratsdatenspeicherung auch auf jeden Fall beim Provider anzusiedeln.

Zunächst mag es deshalb sinnvoll klingen, einfach selbst die Namensauflösung durchzuführen und einen eigenen Resolver zu hosten, der die Adressen selbst rekursiv auflöst. Da die meisten Nameserver einzelner Webseitenbetreiber nur unverschlüsselt zu erreichen sind, kann ein Provider aber auch hier wieder anhand des Netzwerkverkehrs nachvollziehen, welche Domains aufgerufen wurden.

Zusätzlich zu diesen Schwierigkeiten kommen Anforderungen, die aus dem Wunsch nach noch mehr Privatsphäre und Sicherheit entstammen: Z. B. möchte ich direkt am DNS Werbung, Malware und andere unerwünschte Inhalte sperren können. So ließe sich durch einen simplen (Blacklist-)Eintrag viel Traffic auf allen Endgeräten sparen, die in meiner Verwaltung liegen.

Ich wollte also eine Umgebung, die (fast) alles kann und hat:

Der prinzipielle Aufbau sieht demnach wie folgt aus:


Wie viel Überwachung am Ende noch möglich ist, hängt von der Wahl der Upstream-Server ab, also der DNS-Server, die schlussendlich als Resolver dienen. Durch die Transportverschlüsselung per DoT oder DoH kann ein Mitlesen bis zu diesen Servern verhindert werden. Durch DNSSEC kann sichergestellt werden, dass die Upstream-Server vertrauenswürdige Antworten liefern. Etwas hat man jedoch noch selbst in der Hand: Je mehr Geräte und Nutzer meinen eigenen DNS-Server nutzen, umso schwieriger wird es für die Upstream-Anbieter, mich als Person zu tracken.

Viele greifen an der Stelle zu pi-hole, ein Open Source Tool, das primär für den Einsatz im lokalen Netzwerk gedacht ist und DNS-Filterlisten implementiert. Meiner Meinung nach ist pi-hole allerdings vergleichsweise schwer einzurichten, vor allem wenn Dinge wie eine verschlüsselte Kommunikation mit den Upstream-Servern eingerichtet werden soll. Selbst die Einrichtung von pi-hole als DoT oder DoH-Server ist nicht trivial. Ich finde, Sicherheit sollte keine aufwändig nachzurüstende Option sein, sondern Standard. Aus purer Faulheit nutze ich deshalb AdGuard Home, was ebenfalls Open Source ist und ähnliches bietet. Von Haus aus kann es aber DoT und DoH – in beide Richtungen. Inzwischen beherrscht AdGuard Home auch DNSSEC, sodass DNS-Einträge Ende-zu-Ende validiert werden können.

Folgende Upstream-Server habe ich mir ausgesucht:

Beide sind per DoT und DoH erreichbar, prüfen DNSSEC-Signaturen und erklären auf ihren Webseiten exakt, welche Daten in welchem Umfang gespeichert werden. Beide Anbieter sind in der Schweiz ansässig und müssen sich daher an das DSG halten. Einen vertrauenswürdigeren DNS-Anbieter, der gleichzeitig halbwegs ausfallsicher aufgestellt ist, konnte ich nicht finden.

In AdGuard Home sind die Server schnell eingerichtet. Wie das und auch die allgemeine Einrichtung funktionieren, wird hier und hier ausführlich erklärt. Darauf möchte ich nicht weiter eingehen.


Kostenlose Filterlisten gibt es im Netz genug.

Am Ende entscheiden hier aber die persönliche Preferenz und der Anwendungsfall. Ich versuche sowohl Werbung, Malware, Tracking und Spyware zu blockieren.

Da die meisten meiner Endgeräte bereits Werbung blockieren (Bromite, bzw. uBlock Origin), bleibt vergleichsweise wenig am DNS hängen. Knapp 30% aller Anfragen werden blockiert, was zeigt, wie viel Werbung und Tracking abseits von Browsern vor allem in Android- und iOS-Geräten stecken.


Jetzt braucht es nur noch flächendeckend ESNI!