DNS-Server in/über Stubby ändern

Stubby ist eine Anwendung, die als lokaler DNS Privacy Stub Resolver (mit DNS-over-TLS) fungiert. Stubby verschlüsselt DNS-Anfragen, die von einem Client-Rechner (Desktop oder Laptop) an einen DNS-Privacy-Resolver gesendet werden, und erhöht so die Privatsphäre des Endbenutzers. Stubby befindet sich noch im Anfangsstadium der Entwicklung, ist aber für technische/fortgeschrittene Benutzer geeignet. Eine allgemein benutzerfreundlichere Version ist laut dem Entwicklungsteam auf dem Weg!

Stubby bietet verschlüsselte DNS-Kommunikation und erhöht dadurch den Datenschutz:

  • Der Dienst läuft als „Deamon“ im Hintergrund des Betriebssystem oder des Programms.
  • Er kann lokal auf dem installierten System auf Anfragen lauschen, um alle ausgehenden DNS-Anfragen über TLS weiterzuleiten.
  • In der Standardkonfiguration bietet Stubby strikte Privatsphäre und verwendet eine Teilmenge der verfügbaren DNS-Privacy-Server.

Stubby wird vom getdns-Team entwickelt. Es kann als Kommandozeilen-Tool verwendet werden. Hierbei ist es erforderlich, dass der Benutzer des Systems es einmalig manuell so konfiguriert dass es Stubby ausführt nutzt.

Stubby ist bereits jetzt für MacOS und Linux der einfachste Weg, eine kontrollierte und eigeständige verschlüsselte DNS-Kommunikation nachzurüsten.

Stubby unter MacOS installieren

MacOS Logo 2018 Original: Apple Inc., Public domain, via Wikimedia Commons

MacOS unterstützt ab der Version BigSur DNS über TLS. Dabei werden DNS-Anfragen zwischen dem Server und Ihrem Gerät verschlüsselt, weshalb alle anderen Geräte innerhalb der Verbindung die Anfrage nicht mitlesen oder verändern können. Das für diese Funktion benötigte Tool nennt sich „Stubby“.

Stubby agiert als Pseudo-DNS-Server auf dem aktuellen Gerät. Es nimmt alle DNS-Anfragen an, leitet sie verschlüsselt an vertrauenswürdige Server weiter und gibt die Antwort an Ihr Gerät zurück. Dies sorgt dafür, dass Ihre Anfrage sobald diese in Stubby angekommen ist, bis zum DNS-Server verschlüsselt ist. Sie machen sich damit vollkommen unabhängig, von anderen DNS-Diensten, inklusive der Server Ihres Providers oder Ihres Routers.

Das Tool ist jedoch in den meisten Fällen noch nicht auf dem Gerät installiert. Nachfolgend wir die Installation und Konfiguration von Stubby und den DNS-Einstellung beschrieben.

  1. Vergewissern Sie sich, dass Sie mit einem Konto angemeldet sind, welches Administratorrechte auf Windows hat, oder dass Sie über die Anmeldedaten eines Administrator-Kontos verfügen.
  2. Öffnen Sie das Terminal (z.B. mit der Suche nach „Terminal“ in der Spotlight-Suche.)
  3. Starten Sie die Installation von Stubby mit Homebrew über den Befehl:
    • Sollten Sie nach einem Sudo-Passwort gefragt werden (dies ist sehr wahrscheinlich) geben Sie dieses ein.
      Wenn Abhängigkeiten von Stubby fehlen, werden diese automatisch mit installiert. Möchte das Terminal Ihre Bestätigung hierfür haben, geben Sie diese.
    • Wenn keine Fehler aufgetreten sind, wurde Stubby installiert. Beachten Sie, dass Stubby ein Hintergrund-Dienst ist, der keine Fenster oder Oberflächen hat.
  4. Nun müssen ein paar kleine Änderungen an einer Konfigurationsdatei vorgenommen werden. Die Editierungsprozess wird mit folgendem Befehl im Terminal gestartet.:
    • Jetzt nicht erschrecken. Ihr Terminal verwandelt sich in einen kleinen Texteditor. Alternativ können Sie die Datei auch über TextEdit bearbeiten, wenn dies für Sie leichter ist.
  5. Prüfen Sie in der Datei ob Sie folgende Zeilen finden. Existieren diese nicht oder stehen dort abweichende Werte, ersetzten Sie diese Zeilen durch die folgenden. Dies aktiviert den verschlüsselten Verbindungsaufbau.
     dns_transport_list:
    - GETDNS_TRANSPORT_TLS
    tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
    • Wenn Sie den Standard-DNS-Server von Stubby ändern möchten (empfohlen), speichern Sie die Datei, aber schließen Sie sie nicht. Es sind weitere Änderungen nötig.
  6. Jetzt, da Stubby installiert ist, muss es gestartet werden. Danach müssen Sie Ihr System anweisen, statt dem normalen DNS-Server Stubby abzufragen. Dies erreichen Sie, indem Sie das eigene Gerät als DNS-Server in die Einstellungen eintragen. Hierzu können Sie diese Anleitung verwenden. Geben Sie als DNS-Server 127.0.0.1 ein. Diese IP-Adresse verweist immer auf das eigene Gerät. Ihre Netzwerkkarte leitet alle Anfragen für diese IP also Intern um.
    • Zum Starten von Stubby inklusive der Einrichtung des Autostarts geben Sie folgenden Befehl ins Terminal ein:
    • Zum schnellen Ändern der des DNS-Servers von MacOS auf Stubby, geben Sie folgenden Befehl ins Terminal ein, um sich das Ändern über die Einstellungen zu ersparen:
    • Damit ist die Installation und die Einrichtung von Stubby abgeschlossen.

Eigener DNS-Server + Stubby

Theoretisch wären Sie nun fertig. Aber obgleich Stubby nun funktioniert, es kommt mit seinen eigenen DNS-Servern daher. Und dadurch dass Ihr System immer Stubby befragt, steuert Stubby nun, an welchen Server Ihre Anfragen gesendet werden. Stubby bietet jedoch keine Oberfläche zur Konfiguration – sprich, es gibt keinen Dialog, über den Sie in Stubby Ihren Wunsch-DNS-Server eintragen können. Stattdessen können Sie eine Datei über das Terminal bearbeiten. Das klingt schwer und gefährlich, ist es aber eigentlich nicht. Gehen Sie wie folgt vor:

  1. Vergewissern Sie sich, dass Sie mit einem Konto angemeldet sind, welches Administratorrechte auf Windows hat, oder dass Sie über die Anmeldedaten eines Administrator-Kontos verfügen.
  2. Öffnen Sie das Terminal (z.B. mit der Suche nach „Terminal“ in der Spotlight-Suche.).
  3. Öffnen Sie nun die Konfigurationsdatei von Stubby, indem Sie den folgenden Befehl in das Terminal eingeben:
    • Falls Sie der Anleitung zur Installation gefolgt sind, ist die Datei noch geöffnet.
    • Ansonsten: Jetzt nicht erschrecken. Ihr Terminal verwandelt sich in einen kleinen Texteditor.
  4. Scrollen Sie in der Datei nach unten zu der Stelle, an der upstream_recursive_servers: steht.
  5. Fügen Sie unterhalb dieses Punktes die Daten Ihres DNS-Servers ein.
    • Beachten Sie dabei, dass die Server in der Reihenfolge abgefragt werden, in der sie hier aufgelistet sind – von oben nach unten. Sie sollten Ihren Server also ganz oben eintragen. Der nachfolgende Textblock sorgt beispielsweise dafür, dass Stubby seine Anfragen erst an Quad9 und dann an Cloudflare weiterleitet:
      upstream_recursive_servers:
      # IPv4 addresses
      # Quad9 with EDNS
      - address_data: 9.9.9.11
      tls_auth_name: "dns.quad9.net"
      tls_pubkey_pinset:
      - digest: "sha256"
      value: /SlsviBkb05Y/8XiKF9+CZsgCtrqPQk5bh47o0R3/Cg=
      # Cloudflare
      - address_data: 1.1.1.1
      tls_auth_name: "cloudflare-dns.com"
      tls_pubkey_pinset:
      - digest: "sha256"
      value: V6zes8hHBVwUECsHf7uV5xGM7dj3uMXIS9//7qC8+jU=
      # Quad9 with EDNS
      - address_data: 149.112.112.11
      tls_auth_name: "dns.quad9.net"
      tls_pubkey_pinset:
      - digest: "sha256"
      value: /SlsviBkb05Y/8XiKF9+CZsgCtrqPQk5bh47o0R3/Cg=
      # Cloudflare
      - address_data: 1.0.0.1
      tls_auth_name: "cloudflare-dns.com"
      tls_pubkey_pinset:
      - digest: "sha256"
      value: V6zes8hHBVwUECsHf7uV5xGM7dj3uMXIS9//7qC8+jU=
    • Wir bemühen uns bei allen auf dieser Seite eingetragenen DNS-Servern die kompatibel mit Stubby diesen Code einzutragen.
    • Hier werden sog. Digset-Wert verwendet. Ab und an ändern die DNS-Server aber auch Ihre Digset-Werte, was zu Verbindungsherausforderungen führt. Überprüfen Sie also stets die aktuellen Digset-Werte und ersetzen Sie diese in der Datei.
  6. Scrollen Sie nun in der Datei zu der Stelle, an der round_robin_upstreams: 1 steht. Setzten Sie die Zahl dahinter auf 0 wenn sie nicht auf 0 steht.
  7. Verlassen Sie den Editor-Modus und speichern Sie die Datei ab, indem Sie erst ESC drücken und danach :x im Terminal eingeben. Bestätigen Sie Abfragen mit Ja.

Stubby unter Linux Mint (oder anderem Ubuntu oder Debain Linux) installieren

Linux Mint und Ubuntu (auf dem Linux Mint basiert) unterstützen DNS über TLS. Dabei werden DNS-Anfragen zwischen dem Server und Ihrem Gerät verschlüsselt, weshalb alle anderen Geräte innerhalb der Verbindung die Anfrage nicht mitlesen oder verändern können. Das für diese Funktion benötigte Tool nennt sich „Stubby“.

Stubby agiert als Pseudo-DNS-Server auf dem aktuellen Gerät. Es nimmt alle DNS-Anfragen an, leitet sie verschlüsselt an vertrauenswürdige Server weiter und gibt die Antwort an Ihr Gerät zurück. Dies sorgt dafür, dass Ihre Anfrage sobald diese in Stubby angekommen ist, bis zum DNS-Server verschlüsselt ist. Sie machen sich damit vollkommen unabhängig, von anderen DNS-Diensten, inklusive der Server Ihres Providers oder Ihres Routers.

Das Tool ist jedoch in den meisten Fällen noch nicht auf dem Gerät installiert. Nachfolgend wir die Installation und Konfiguration von Stubby und den DNS-Einstellung beschrieben.

  1. Öffnen Sie ein Terminal-Fenster. Suchen Sie dazu nach Terminal im Startmenü oder drücken Sie STRG+ALT+T.
  2. Starten Sie nun die Installation von Stubby, indem Sie den folgenden Befehl in das Terminal eingeben:

    • Sollten Sie nach einem Sudo-Passwort gefragt werden (dies ist sehr wahrscheinlich) geben Sie dieses ein.
      Wenn Abhängigkeiten von Stubby fehlen, werden diese automatisch mit installiert. Möchte das Terminal Ihre Bestätigung hierfür haben, geben Sie diese.
    • Wenn keine Fehler aufgetreten sind, wurden Stubby und die Funktion getdns installiert. Beachten Sie, dass Stubby ein Hintergrund-Dienst ist, der keine Fenster oder Oberflächen hat.
  3. Überprüfen Sie, ob Stubby ordnungsgemäß ausgeführt wird. Hierzu geben Sie folgenden Befehl in das Terminal ein:
    • Als Antwort sollten Sie in der dritten Zeile den Wert Active (running) sehen.
  4. Jetzt, da Stubby installiert ist, müssen Sie Ihr System anweisen, statt dem normalen DNS-Server Stubby abzufragen. Dies erreichen Sie, indem Sie das eigene Gerät als DNS-Server in die Einstellungen eintragen. Hierzu können Sie die obere Anleitung für IPv4 und IPv6 verwenden. Geben Sie als DNS-Server 127.0.0.1 ein. Diese IP-Adresse verweist immer auf das eigene Gerät. Ihre Netzwerkkarte leitet alle Anfragen für diese IP also Intern um.

Eigener DNS-Server + Stubby

Theoretisch wären Sie nun fertig. Aber obgleich Stubby nun funktioniert, es kommt mit seinen eigenen DNS-Servern daher. Und dadurch dass Ihr System immer Stubby befragt, steuert Stubby nun, an welchen Server Ihre Anfragen gesendet werden. Stubby bietet jedoch keine Oberfläche zur Konfiguration – sprich, es gibt keinen Dialog, über den Sie in Stubby Ihren Wunsch-DNS-Server eintragen können. Stattdessen können Sie eine Datei über das Terminal bearbeiten. Das klingt schwer und gefährlich, ist es aber eigentlich nicht. Gehen Sie wie folgt vor:

  1. Öffnen Sie ein Terminal-Fenster. Suchen Sie dazu nach Terminal im Startmenü oder drücken Sie STRG+ALT+T.
  2. Öffnen Sie nun die Konfigurationsdatei von Stubby, indem Sie den folgenden Befehl in das Terminal eingeben:

    • Jetzt nicht erschrecken. Ihr Terminal verwandelt sich in einen kleinen Texteditor (Nano).
  3. Scrollen Sie in der Datei nach unten zu der Stelle, an der upstream_recursive_servers: steht.
  4. Fügen Sie unterhalb dieses Punktes die Daten Ihres DNS-Servers ein.
    • Beachten Sie dabei, dass die Server in der Reihenfolge abgefragt werden, in der sie hier aufgelistet sind – von unten nach oben. Sie sollten Ihren Server also ganz oben eintragen. Der nachfolgende Textblock sorgt beispielsweise dafür, dass Stubby seine Anfragen an Cloudflare weiterleitet:
      CloudFlare servers
      - address_data: 1.1.1.1
      tls_auth_name: "cloudflare-dns.com"
      - address_data: 1.0.0.1
      tls_auth_name: "cloudflare-dns.com"
    • Wir bemühen uns bei allen auf dieser Seite eingetragenen DNS-Servern die kompatibel mit Stubby diesen Code einzutragen.
  5. Scrollen Sie nun in der Datei zu der Stelle, an der round_robin_upstreams: 1 steht. Setzten Sie die Zahl dahinter auf 0 wenn sie nicht auf 0 steht.
  6. Verlassen Sie den Editor-Modus (Nano) und speichern Sie die Datei ab, indem Sie erst STRG+O und danach STRG+X drücken. Bestätigen Sie Abfragen mit Ja.

Informationen zur Anleitung

Weitere Infos und Support zu Stubby erhalten Sie auf der GitHub-Seite der Entwickler.

Anleitung gilt für:

MacOS
Mac OS X Panther 10.3
Mac OS X Tiger 10.4
Mac OS X Leopard 10.5
Mac OS X Snow Leopard 10.6
Mac OS X Lion 10.7
OS X Mountain Lion 10.8
OS X Mavericks 10.9
OS X Yosemite 10.10
OS X El Capitan 10.11
macOS Sierra 10.12
macOS High Sierra 10.13
macOS Mojave 10.14
macOS Catalina 10.15
macOS Big Sur 11
macOS Monterey 12
Linux (Debian) (Ubuntu) (Mint)

Verfasst von: Patrick Schneider (ownonline.eu)
Verfasst am: 16.09.2021
Letzte Revision: 16.09.2021