Zum Inhalt springen

Datenschutzfreundlicher portabler Router: DNS-Over-TLS-Unterstützung mit Unbound zu OpenWRT (LEDE) hinzufügen

Heute teilen wir einen ausführlichen, von Junade Ali verfassten Leitfaden zum Einrichten von DNS-Over-TLS mit dem GL-AR750. Für alle, die nicht wissen, was DNS-Over-TLS ist, hier einige Hintergrundinformationen:

Ihr neugieriger ISP kann jede Ihrer Bewegungen im Internet analysieren und die Daten an Werbetreibende und Marketingunternehmen verkaufen. DNS-Over-TLS ist ein neues Sicherheitstool zum Schutz der Privatsphäre beim Surfen im Internet. Es verschlüsselt Ihre DNS-Anfragen und verhindert das Abhören und Manipulieren von DNS-Daten durch Man-in-the-Middle-Angriffe.


Wenn Sie direkt zu den Anweisungen springen möchten, scrollen Sie zum nächsten Abschnitt. Aber wie ein TLS-Handshake bin ich sehr ausführlich, also viel Vergnügen mit dieser Einleitung.

Stellen Sie sich folgendes Szenario vor: Ich bin in einem Restaurant und muss ein privates Telefongespräch führen, aber leider ist der Akku meines Telefons leer. Um dieses Problem zu umgehen, leihe ich mir das Telefon eines Freundes und wähle die Nummer. Um meine Privatsphäre zu schützen, gehe ich nach draußen. Nach dem Gespräch komme ich wieder herein und gebe das Telefon zurück.

Das Telefon selbst speichert zwar nicht das Gespräch, das ich geführt habe, aber es enthält ein Protokoll der zuletzt gewählten Nummer. Wenn der Freund, von dem ich das Telefon geliehen habe, möchte, kann er leicht sehen, wen ich tatsächlich angerufen habe, auch wenn er das Gesprächsthema nicht kennt.

Manchmal verraten die Daten darüber, mit wem Sie gesprochen haben, sehr viel über das Gespräch. Wenn jemand eine emotionale Unterstützungs-Hotline oder einen Schuldeneintreiber anruft, lässt sich aus der Anrufer-ID vermutlich viel über das Gespräch ableiten.

Beim Surfen im Internet nutzen wir Verschlüsselung, um unsere Gespräche zu schützen. Wenn Sie sich über HTTPS mit einer Website verbinden, erscheint in Ihrem Browser ein grünes Vorhängeschloss. Es zeigt Ihnen, dass Ihr Gespräch verschlüsselt ist, sodass es für einen Angreifer zwischen Ihnen und dem Server der Website rechnerisch schwierig ist, zu sehen, worüber Sie sprechen.

Zuvor habe ich in einem Blogbeitrag erläutert, wie diese Verschlüsselung unter bestimmten Umständen entfernt werden kann und welche Maßnahmen Websites dagegen einsetzen können. Leider gibt es ein noch grundlegenderes Problem für die Privatsphäre im Internet.

Wie allgemein in der IT bekannt ist, muss Ihr Client eine DNS-Abfrage durchführen, bevor Ihr Browser eine HTTP-Verbindung zu einer Website (etwa cloudflare.com) herstellt, um die IP-Adresse zu ermitteln, zu der die HTTP-Verbindung aufgebaut werden soll. Dasselbe gilt für jedes andere Anwendungsprotokoll, wenn Sie sich über einen Hostnamen statt über eine IP-Adresse verbinden. Eine Einführung zu DNS finden Sie in unserem Artikel zu den Grundlagen von DNS in unserem Learning Centre.

DNS-Abfrage-Diagramm

Verschlüsselungstechnologien für HTTP gibt es zwar schon seit Langem, doch erst vor Kurzem wurden entsprechende Verschlüsselungstechniken für DNS standardisiert. Wenn Sie nicht wissen, ob Ihr DNS-Datenverkehr verschlüsselt ist, dann ist er es wahrscheinlich nicht.

In der Praxis bedeutet dies, dass jemand, der Ihre Verbindung abfangen kann, beim Aufruf einer HTTPS-Website trotz verschlüsselter Kommunikation sehen kann, welche Website Sie suchen. Je nachdem, wie die Website gesichert ist, kann diese Person sogar die Antwort manipulieren, um Sie zur Kommunikation mit einem anderen Server zu bewegen.

Das ist besonders nützlich für Lauscher, sei es das Netzwerk, das den kostenlosen Wi-Fi-Hotspot betreibt und Ihre Daten an gezielte Werbetreibende verkaufen möchte, oder ein Hacker, der bei einem Latte Ihren Netzwerkverkehr abfängt (ironischerweise in schwarzem Kapuzenpulli und Sturmhaube).

Wenn Sie Ihren DNS-Resolver auf den DNS Resolver von Cloudflare umstellen, profitieren Sie von einem schnelleren Surferlebnis und stellen gleichzeitig sicher, dass die Betreiber Ihres DNS-Resolvers diese Daten nicht verkaufen, um Sie mit Werbung anzusprechen. Cloudflare Resolver unterstützt zwar sowohl DNS-over-HTTPS als auch DNS-over-TLS, doch damit die Verbindung zwischen Cloudflare Resolver und Ihnen verschlüsselt ist, müssen Sie möglicherweise zusätzliche Konfigurationsschritte durchführen, etwa einen DNS-over-HTTPS-Client aktivieren.

Dieser Blogbeitrag erläutert, wie Sie einen OpenWRT-Router so konfigurieren können, dass der ausgehende Datenverkehr zu Cloudflare Resolver verschlüsselt wird. Das ist besonders nützlich, wenn Sie den Datenverkehr von Geräten zu Hause schützen möchten, die verschlüsselte DNS-Protokolle möglicherweise nicht unterstützen, etwa Ihr Fernsehgerät oder Ihren IoT-fähigen Toaster. Lokale Clients können den lokalen DNS-Resolver auf Ihrem Router zwar weiterhin ausdrücklich überschreiben, viele verwenden ihn jedoch standardmäßig.

OpenWRT (LEDE)

IMG-3335-1

Am Wochenende vor dem Verfassen dieses Beitrags habe ich einen neuen WLAN-Router bestellt, den GL.iNet GL-AR750. Dieser Router hat ein sehr kompaktes Format, wird als „Reiserouter“ vermarktet und kann sowohl als Wi-Fi-Repeater als auch als herkömmlicher Wi-Fi-Router fungieren. An seiner längsten Kante ist der Router etwa so lang wie mein Zeigefinger:

IMG-3360

Ich habe diesen speziellen Router nicht nur wegen seines kompakten Formats bestellt. Er wird auch mit vorinstalliertem OpenWRT geliefert, einem eingebetteten Linux-basierten Betriebssystem, das sich gut für Router eignet. Im Mai 2016 wurde OpenWRT als LEDE (Linux Embedded Development Environment) abgespalten und im Januar 2018 wieder mit dem OpenWRT-Projekt zusammengeführt.

Wenn Sie keinen Router mit vorinstalliertem LEDE besitzen, können Sie diesem Blogbeitrag auch mit jedem anderen Router folgen, der sich mit der OpenWRT-Firmware flashen lässt. Weitere Informationen finden Sie auf der Seite „OpenWRT Support Devices“. Beachten Sie jedoch, dass dies je nach Gerät mit Risiken verbunden sein kann.

Unterstützung für DNS-over-TLS (oder deren Fehlen)

Der Router, mit dem ich arbeite, bietet eine Konfigurationsoption für den übergeordneten DNS-Resolver, den er verwendet, wenn eine Abfrage nicht im Cache seines eigenen internen Resolvers liegt. Dieser lokale Resolver wird anschließend den Clients vorgeschlagen, die sich mit dem Router verbinden.

Zu Testzwecken kann ich diesen Router über die Weboberfläche so konfigurieren, dass er 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111 und 2606:4700:4700::1001 als übergeordnete DNS-Server verwendet (wobei die IPv6- Adressen aktualisiert werden, wenn das Netzwerk sie nicht unterstützt):

Screen-Shot-2018-04-09-at-13.15.07

Indem ich den WAN-Port des Routers mit meinem Computer verbinde, kann ich mit Wireshark den Datenverkehr erfassen, während er den Router verlässt, bevor er ins eigentliche WAN gelangt. Wenn sich eine DNS-Abfrage nicht im Cache meines Routers befindet, wird sie an 1.1.1.1 weitergeleitet. Da mein Router diese Abfragen unverschlüsselt sendet, anstatt DNS-over-TLS zu verwenden, kann ich sehen, wie diese DNS-Abfragen unverschlüsselt über das Internet übertragen werden:

dns_unencrypted

Cloudflare Resolver unterstützt zwar DNS-over-TLS, aber mein Router tut es leider nicht und sendet daher alle Abfragen einfach unverschlüsselt.

DNS-Over-TLS einrichten

Standardmäßig ist in LEDE Dnsmasq als interner Resolver vorinstalliert, weshalb DNS-over-TLS nicht unterstützt wird. Damit unsere Anfragen verschlüsselt werden, ersetzen wir Dnsmasq durch Unbound und odhcpd. Die folgenden Schritte basieren auf der sehr hilfreichen Dokumentation zum OpenWRT-Unbound-Paket.

Bevor wir beginnen können, müssen wir uns per SSH mit unserem Router verbinden. Wenn Sie nach einem Passwort gefragt werden, ist es wahrscheinlich dasselbe, das Sie für das Webportal festgelegt haben:

Screen-Shot-2018-04-09-at-13.06.26

LEDE verwendet opkg als bevorzugten Paketmanager. Aktualisieren wir zunächst die Paketliste und installieren dann Unbound mit Unbound-Control sowie die vollständige Version von odhcpd:

opkg update
opkg install unbound odhcpd unbound-control
opkg remove dnsmasq

Beachten Sie, dass Sie zusätzlich die Luci-App für Unbound installieren können, wenn Sie diese über die Standardbenutzeroberfläche steuern möchten.

opkg install luci-app-unbound

Da auf meinem Router derzeit kein unverändertes LEDE läuft, wird seine Benutzeroberfläche durch die Installation nicht verändert. Außerdem habe ich dieses Modul selbst nicht getestet.

Mit Unbound können wir eine Konfiguration hinzufügen, damit Unbound 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111 und 2606:4700:4700::1001 als DNS-Resolver mit TLS-Verschlüsselung verwendet. Dazu habe ich mit Vim einige Konfigurationen an /etc/unbound/unbound_ext.conf angehängt:

forward-zone:
  name: "."
  forward-addr: 1.1.1.1@853
  forward-addr: 1.0.0.1@853
  forward-addr: 2606:4700:4700::1111@853
  forward-addr: 2606:4700:4700::1001@853
  forward-ssl-upstream: yes

In der Unbound-Konfigurationsdatei unter /etc/config/unbound habe ich einige erforderliche Konfigurationsparameter hinzugefügt, wie in der Paketdokumentation beschrieben. In meinem Fall habe ich die Konfigurationsdatei gesichert und einfach Folgendes verwendet:

config unbound
  option add_local_fqdn '1'
  option add_wan_fqdn '1'
  option dhcp_link 'odhcpd'
  option dhcp4_slaac6 '1'
  option domain 'lan'
  option domain_type 'static'
  option listen_port '53'
  option rebind_protection '1'
  option unbound_control '1'

Falls die Datei zusätzliche Parameter enthält, stellen Sie sicher, dass nichts die festgelegten Parameter überschreibt. Achten Sie dabei besonders auf den Parameter unbound_control.

Außerdem habe ich die folgende Konfiguration mit /etc/config/dhcp zusammengeführt (einige bestehende Einträge habe ich unverändert gelassen):

config dhcp 'lan'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option interface 'lan'
        option leasetime '12h'
        option ra 'server'
        option ra_management '1'

config odhcpd 'odhcpd'
        option maindhcp '1'
        option leasefile '/var/lib/odhcpd/dhcp.leases'
        option leasetrigger '/usr/lib/unbound/odhcpd.sh'

Abschließend können wir den Autostart für Unbound aktivieren und es starten:

service unbound enable
service unbound start

Hier ist der Beweis: Wenn wir DNS-Abfragen zwischen unserem Router und dem restlichen Internet abfangen, sehen wir, dass sie mit TLS v1.2 verschlüsselt sind:

dns_unencrypted

Fazit

In diesem Blogbeitrag haben wir erläutert, wie die Verschlüsselung Ihres DNS-Datenverkehrs den Schutz Ihrer Privatsphäre beim Surfen im Internet verbessern kann. Indem wir Dnsmasq durch Unbound ersetzen, kann OpenWRT DNS-over-TLS nutzen, um unseren Webdatenverkehr zu verschlüsseln.


Vielen Dank an Junade Ali für die Genehmigung, diesen Artikel auf unserer Website zu veröffentlichen. Der Artikel wurde ursprünglich am 9. April 2018 auf der Cloudflare-Website veröffentlicht: https://blog.cloudflare.com/dns-over-tls-for-openwrt/

Über GL.iNet

GL.iNet wurde 2010 gegründet und ist ein führender Anbieter innovativer Router und Netzwerklösungen. Von kompakten Reiseroutern bis hin zu hochmodernen Remote-KVMs liefert GL.iNet preisgekrönte Netzwerktechnologie, die auf Leistung und Sicherheit ausgelegt ist.

GL.iNet ermöglicht Menschen und Organisationen, sich mit Vertrauen zu vernetzen. Indem GL.iNet die Kontrolle in die Hände der Nutzer legt, unterstützt das Unternehmen Produktivität und Zusammenarbeit für ein Good Life.

Vorheriger Artikel Solarbetriebenes MiFi: Sicher und umweltfreundlich reisen
Nächster Artikel GL.iNet hatte seinen ersten Auftritt auf der CeBit 2018

Produkte vergleichen

{"one"=>"Wählen Sie 2 oder 3 Artikel zum Vergleichen aus", "other"=>"{{ count }} von 3 Elementen ausgewählt"}

Wählen Sie das erste zu vergleichende Element aus

Wählen Sie das zweite zu vergleichende Element aus

Wählen Sie das dritte Element zum Vergleichen aus

Vergleichen