Problem
Im Web sammeln im Hintergrund ununterbrochen Tracker, Telemetriedienste und Werbenetzwerke Daten über Nutzungsverhalten. Dadurch wird nicht nur die persönliche Privatsphäre auf jedem Gerät des Heimnetzwerks beeinträchtigt, sondern auch ein unnötiger Datenballast verursacht. Zudem erhöht es die Sicherheit, bekannte Malware- und Phishing-Domains auch auf DNS-Ebene zu blockieren.
Lösung
Ich kann mithilfe eines lokalen DNS-Servers mit übersichtlichem Dashboard im Browser einsehen, wie gut die Filterung funktioniert, Filterlisten einpflegen, habe eine einfache Möglichkeit DNS rewrites anzulegen und, falls gewünscht, den Upstream-DNS auszuwählen.
Umsetzung
Installation
Mithilfe des offiziellen Dockerimages als Dockercontainer installiert. Als Deploymentmethode habe ich Docker Compose verwendet.
Docker Compose File
services:
adguardhome:
image: adguard/adguardhome:latest
container_name: AdGuardHome
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "8086:80/tcp"
- "8443:443/tcp"
- "8443:443/udp"
- "3000:3000/tcp"
volumes:
- ./data/conf:/opt/adguardhome/conf
- ./data/work:/opt/adguardhome/work
Konfiguration
Netzwerkeinstellungen
Ich nutze den DHCP-Service meiner FritzBox und habe in den DHCP-Einstellungen netzwerkweit meine HomeserverIP als DNS-Server eingetragen.
Reverseproxy
DNS-Rewrite
Damit ich für meine verschiedenen Services passende Subdomains anlegen kann, habe ich einen DNS-Rewrite angelegt, der sicherstellt, dass mein lokaler servername auch auf den lokalen Server bzw. dessen Apache-Dienst zeigt.
Subdomain
Zur einfacheren Administration habe ich die Weboberfläche über die Subdomain AGH.servername.local eingebunden. Realisiert durch einen Apache Webserver.
Blocklists
HaGeZi hat eine schöne Liste von verschiedenen Blocklisten die man je nach Bedarf auswählen und importieren kann. Ich habe mich vorerst für Multi Pro entschieden um zu sehen wie oft ich manuell nachbessern muss um eine angenehme Userexperience beizubehalten. Hier konnte ich die Liste auch über das Webinterface auswählen und aktivieren:
Filters -> DNS blocklists -> Add blocklist ->Choose from the list
Fazit
Ich konnte erfolgreich einen großen Teil der Tracker filtern und bin nur selten auf Websites gestoßen, die durch die Filterung ihre Funktion nicht mehr vollständig anbieten konnten. Subjektiv wurde auch die Responsiveness mancher Geräte erhöht.