Warum Ihr DNS-Verkehr ein Datenschutzrisiko ist und wie Sie es ein für alle Mal beheben können

Indeks
  1. Das Problem und die Lösung
    1. Ihre DNS-Abfragen leaken jede Webanfrage, die Sie stellen
  2. Installieren Sie DNSCrypt Proxy
    1. Ein lokaler Dienst, der DNS-Abfragen akzeptiert und verschlüsselt
  3. Konfigurieren Sie DNSCrypt Proxy
    1. Ein universelles Konfigurationsformat über alle Plattformen
  4. Start und Test des Services
    1. Es ist anders für jede Plattform

Entdecken Sie, wie verschlüsseltes DNS Ihre Online-Privatsphäre schützt, indem es Ihre Datenanfragen anonymisiert und das Profiling durch Internetdienstanbieter erschwert.

Sind Sie besorgt um Ihre Privatsphäre? Sorgen Sie sich darum, dass Ihr ISP Ihre Daten sammelt? DNS-Abfragen sind eine Möglichkeit, wie Schnüffler ein Profil von Ihnen erstellen können, und verschlüsseltes DNS ist die Antwort. Allerdings sind sie nicht alle gleich, aber ich habe eine Lösung, die Ihre Anonymität tatsächlich schützen kann.

Das Problem und die Lösung

Ihre DNS-Abfragen leaken jede Webanfrage, die Sie stellen

DNS (Domain Name System) ist ein Mittel, um Domainnamen (wie beispiel.de) in IP-Adressen umzuwandeln. Wenn Sie eine Webanfrage stellen, sendet Ihr System ein DNS-Paket ins Internet an einen DNS-Server (genannt rekursiver Resolver). Dieses System macht dann eine Reihe von nachfolgenden Anfragen, um Ihre Anfrage aufzulösen. Der gesamte Prozess erfolgt über ein Klartextprotokoll, was bedeutet, dass jeder Schnüffler im Netzwerk (wie Ihr ISP) ein detailliertes Profil Ihrer Surfgewohnheiten erstellen kann. Ich habe dies ausführlich in einem anderen Artikel behandelt, den ich geschrieben habe. Ich empfehle Ihnen, das zuerst zu lesen.

Was können wir also dagegen tun? Die vorherige Schlussfolgerung war, die DNS-Abfragen zu verschlüsseln. Auch wenn das keine perfekte Lösung ist, bietet es den besten Schutz, den wir haben, und macht das Profiling auf jeden Fall viel schwieriger.

DNSCrypt Proxy ist eine solche Option. Es handelt sich um ein Softwareprogramm (Dienst), das auf jedem Computer, wie Ihrem Desktop oder Laptop, läuft. Dann aktualisieren Sie die DNS-Konfiguration Ihres Betriebssystems, um Anfragen darüber zu leiten – dazu später mehr.

Installieren Sie DNSCrypt Proxy

Ein lokaler Dienst, der DNS-Abfragen akzeptiert und verschlüsselt

Dies ist das Softwareprogramm, das Sie auf Ihrem Computer ausführen, das DNS-Abfragen akzeptiert und verschlüsselt. Im Konfigurationsdatei legen wir fest, wohin wir sie senden.

Der Rest des Leitfadens konzentriert sich auf Linux, aber Sie können die offiziellen Anleitungen für Linux, Windows, macOS oder verschiedene andere Plattformen konsultieren. Der folgende Konfigurationsabschnitt ist für alle von ihnen universell, ebenso die Erklärungen – daher ist es nützlich, ihm zu folgen, unabhängig davon, was Sie verwenden.

Jede der genannten Methoden hilft Ihnen, den Dienst zu installieren und einzurichten.

Konfigurieren Sie DNSCrypt Proxy

Ein universelles Konfigurationsformat über alle Plattformen

Die Konfiguration ist der schwierige Teil, und ich werde Ihnen von meinen Erfahrungen berichten, was funktioniert.

Um die Konfigurationsdatei für Ihre Plattform zu finden, beachten Sie die offiziellen Anleitungen, aber auf Linux ist der Ort: /etc/dnscrypt-proxy/dnscrypt-proxy.toml.

Wir werden die Konfigurationsdatei (TOML) bearbeiten, um DNS-Abfragen über ein Relais zu leiten.

Zuerst setzen wir die Listenadresse, damit der Dienst auf Ihrem lokalen Computer über den typischen DNS-Port (53) lauscht:

listen_addresses = [ "127.0.0.1:53", "[::1]:53" ]

Dies ermöglicht es Programmen, den DNSCrypt Proxy einfach zu finden und zu verwenden. "127.0.0.1" und "[::1]" sind der lokale Computer (auch bekannt als localhost) für IPv4 und IPv6.

Als nächstes kommen die Servernamen. DNSCrypt Proxy lädt Resolver-Listen herunter, die entfernte Konfigurationen enthalten, die Stempel genannt werden. Wir geben die Namen dieser Stempel wie folgt an:

server_names = [ "server-name-1", "server-name-2" ]

Ein Stempel ist eine kodierte, öffentliche Konfigurationszeichenkette – sie enthält eine öffentliche Adresse und Verschlüsselungsinformationen. Zum Beispiel ist dies einer von Quad9's Stempeln für den Server mit dem Namen "quad9-dnscrypt-ip4-filter-ecs-pri":

sdns://AQMAAAAAAAAADTkuOS45LjExOjg0NDMgZ8hHuMh1jNEgJFVDvnVnRt803x2EwAuMRwNo34Idhj4ZMi5kbnNjcnlwdC1jZXJ0LnF1YWQ5Lm5ldA

So sieht es entschlüsselt aus:

Das zeigt nur den Zweck und die Funktion von Stempeln.

Als Hinweis, die erste Hälfte dieses Videos stellt Quad9 vor. Es ist getrennt von DNSCrypt, also verwirren Sie sie nicht. Sie können Quad9 ohne DNSCrypt verwenden, was in der zweiten Hälfte des Videos erklärt wird. Allerdings erhalten Sie auf diese Weise keine verschlüsselten Abfragen, also seien Sie vorsichtig. Es ist am besten, sie zusammen über den DNSCrypt-Dienst von Quad9 zu verwenden.

Zurück zu DNSCrypt. Wenn Sie einen Servernamen festlegen, geben Sie an, welche öffentlichen Server (Stempel) DNSCrypt Proxy verwenden soll. Um den obigen Stempel zu verwenden, würden Sie Folgendes einstellen:

server_names = [ "quad9-dnscrypt-ip4-filter-ecs-pri" ]

Sie wählen Server aus der öffentlichen DNSCrypt-Serverliste.

Um einen geeigneten Server auszuwählen, sortieren Sie die Liste ("1") zunächst nach dem "DNSCrypt"-Protokoll ("2"), und verwenden dann den Namen auf der linken Seite ("3"). Das zweite Bild zeigt zusätzliche Serverinformationen, einschließlich des Stempels – dies ist das, was DNSCrypt Proxy herunterlädt, wenn Sie ihm einen Servernamen geben.

Nun zu Relays, das sind datenschutzfreundliche Zwischenserver, die Ihre Anfragen anonymisieren. Wenn Sie diese verwenden möchten (und das sollten Sie), müssen Sie die Option "routes" im Abschnitt "anonymized_dns" festlegen. Der einfachste Ansatz ist, dass DNSCrypt Proxy alle Anfragen über Relays weiterleitet und dabei diese Sprünge zufällig auswählt:

[anonymized_dns] routes = [ { server_name = "*", via = ["*"] } ]

Außerdem kann es eine Weile dauern, bis dieser Ansatz anfänglich funktioniert, da er einen funktionierenden Relay finden muss.

Sie können jedoch auch spezifische Relays so auswählen:

[anonymized_dns] routes = [ { server_name = "*", via = [ "relay-example-1", "relay-example-2" ] }, ]

Das wird alle Anfragen, die an einen beliebigen Server gerichtet sind, über die Relays namens "relay-example-1" und "relay-example-2" leiten.

Eine vollständige Liste der Relays finden Sie in der öffentlichen DNSCrypt-Serverliste.

Wenn Sie auf die Überschrift (Anmerkung "1") klicken, können Sie die Liste nach Relays sortieren ("2"). Der Name des Relay-Servers steht links ("3").

Viele dieser Relay-Server gehören der Gemeinschaft, seien Sie daher vorsichtig bei Ihrer Auswahl. Denken Sie jedoch daran, dass sie Ihre Anfrage nicht lesen können. Stellen Sie schließlich sicher, dass Ihre Relays und Server nicht denselben Eigentümern gehören, um Ihre Anonymität zu schützen.

Sie können Server auch so konfigurieren, dass sie spezifische Relays verwenden:

[anonymized_dns] routes = [ { server_name = "example-server-1", via = [ "relay-example-1", "relay-example-2" ] }, { server_name = "example-server-2", via = [ "relay-example-1", "relay-example-2" ] }, ]

Jetzt müssen Sie Ihre DNS-Einstellungen ändern. Wir haben Anleitungen dazu für Windows 10, Windows 11 und macOS. Auf Linux müssen Sie nur eine einzige Datei aktualisieren:

su echo "nameserver 127.0.0.1\nnameserver ::1" > /etc/resolv.conf chattr +i /etc/resolv.conf 

Wenn Sie eine Datei unveränderlich machen, kann sie selbst von root nicht geändert werden. Sie können sie jedoch wieder veränderbar machen mit sudo chattr -i /etc/resolv.conf. Verwenden Sie lsattr /etc/resolv.conf, um den aktuellen Status der Dateiattribute anzuzeigen.

Das Unveränderlichmachen der resolv.conf Datei unter Linux ist manchmal notwendig, da einige Programme (wie NetworkManager) dazu neigen, sie zurückzusetzen, wenn sie aktiviert werden. Sie sollten dies als die nukleare Option betrachten und, falls möglich, eine andere Methode bevorzugen.

Es gibt einige zusätzliche Einstellungen, die eine reine, anonymisierte DNSCrypt-Protokollverbindung aktivieren. Einige fungieren als Filter für die heruntergeladene Serverliste.

 cache = true cache_size = 4_096 ipv4_servers = true ipv6_servers = true dnscrypt_servers = true doh_servers = false odoh_servers = false require_dnssec = false require_nolog = true require_nofilter = false

Zusätzlich sollten Sie im Abschnitt "anonymized_dns" Folgendes einstellen:

[anonymized_dns] skip_incompatible = true

Wenn Sie feststellen, dass ein Server keine Verbindung herstellt, liegt das wahrscheinlich daran, dass einer dieser Filter ihn von der endgültigen gefilterten Auswahl ausschließt. Überprüfen Sie Ihren Zielserver und Ihre Einstellungen.

Start und Test des Services

Es ist anders für jede Plattform

Sobald die Konfiguration abgeschlossen ist, müssen Sie den Service starten und testen. Für Plattformen außer Linux beachten Sie bitte die vorher verlinkte Anleitung.

Für Linux heißt der Dienst typischerweise "dnscrypt-proxy":

sudo systemctl enable dnscrypt-proxy sudo systemctl start dnscrypt-proxy

Um es zu testen:

cd /etc/dnscrypt-proxy
dnscrypt-proxy -resolve example.com

Alternativ kannst du mit dig folgendes ausführen:

dig example.com

Du solltest sehen, dass es über den lokalen Server aufgelöst wird:

Ich habe eine vollständige, funktionierende Konfigurationsdatei für dich zusammengestellt. Sie verwendet den gefilterten DNSCrypt-Dienst von Quad9, der Malware-Domains filtert. Es leitet Verbindungen auch durch Österreich und Schweden. Du kannst Relays hinzufügen oder entfernen, wie du es für notwendig hältst oder die Informationen nutzen, um dein Setup anzupassen.

Für die Optionen, die wir heute besprochen haben, habe ich sie mit "CUSTOM!" gekennzeichnet. Für alles andere findest du sie in der Beispieldatei.

 listen_addresses = [ "127.0.0.1:53", "[::1]:53" ]
server_names = [ "quad9-dnscrypt-ip4-filter-pri" ]
cache = true
cache_size = 4_096
dnscrypt_servers = true
doh_servers = false
ipv4_servers = true
ipv6_servers = true
odoh_servers = false
require_dnssec = false
require_nofilter = false
require_nolog = true
[anonymized_dns]
skip_incompatible = true
routes = [ {
    server_name = "*",
    via = [ "anon-cs-austria", "anon-cs-swe" ],
}, ]
[sources.public-resolvers]
urls = [
    "https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md",
    "https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
]
cache_file = "public-resolvers.md"
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
refresh_delay = 73
prefix = ""
[sources.relays]
urls = [
    "https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/relays.md",
    "https://download.dnscrypt.info/resolvers-list/v3/relays.md"
]
cache_file = "relays.md"
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
refresh_delay = 73
prefix = ""
[broken_implementations]
fragments_blocked = [
    "cisco", "cisco-ipv6", "cisco-familyshield", "cisco-familyshield-ipv6", 
    "cisco-sandbox", "cleanbrowsing-adult", "cleanbrowsing-adult-ipv6", 
    "cleanbrowsing-family", "cleanbrowsing-family-ipv6", 
    "cleanbrowsing-security", "cleanbrowsing-security-ipv6"
]

Du kannst dnscrypt-proxy -check (während du dich im gleichen Verzeichnis wie die Konfigurationsdatei befindest) ausführen, um sicherzustellen, dass deine Abfragen über Österreich oder Schweden geleitet werden. Sobald du das getan hast, musst du den Dienst starten und DNS-Abfragen durchführen.

Während verschlüsseltes DNS viel für deine Privatsphäre tut, macht ein VPN mehr. Mit verschlüsseltem DNS ist es, als würdest du deine Vorhänge schließen, aber mit einem VPN ist es, als würdest du alle deine Türen abschließen. Wenn dir Privatsphäre wichtig ist, empfehle ich ProtonVPN, das ich persönlich nutze und liebe.

Bist du neugierig auf weitere Artikel wie Warum Ihr DNS-Verkehr ein Datenschutzrisiko ist und wie Sie es ein für alle Mal beheben können? Entdecke spannende Inhalte in der Kategorie Wie man.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up