Varför din DNS-trafik är ett sekretessläckage och hur du kan åtgärda det en gång för alla

Varför din DNS-trafik är ett sekretessläckage och hur du kan åtgärda det en gång för alla
Index
  1. Problemet och lösningen
    1. Dina DNS-förfrågningar läcker varje webbegäran du gör
  2. Installera DNSCrypt Proxy
    1. En lokal tjänst som accepterar och krypterar DNS-förfrågningar
  3. Konfigurera DNSCrypt Proxy
    1. Ett universellt konfigurationsformat över alla plattformar
  4. Starta och testa tjänsten
    1. Det är olika för varje plattform

Skydda din integritet på nätet genom att kryptera dina DNS-förfrågningar med DNSCrypt Proxy. Lär dig hur du installerar och konfigurerar tjänsten för ökad anonymitet.

Är du orolig för din integritet? Bekymrar du dig över att din internetleverantör samlar in dina uppgifter? DNS-förfrågningar är ett sätt för övervakare att profilera dig, och krypterad DNS är lösningen. Dock är de inte alla lika bra, men jag har en lösning som verkligen kan skydda din anonymitet.

Problemet och lösningen

Dina DNS-förfrågningar läcker varje webbegäran du gör

DNS (Domain Name System) är ett sätt att koppla domännamn (som exempel.com) till IP-adresser. När du gör en webbegäran skickar ditt system en DNS-paket ut på internet till en DNS-server (kallad en rekursiv resolver). Det systemet gör sedan en serie efterföljande förfrågningar för att lösa din fråga. Hela processen sker över ett okrypterat protokoll, vilket betyder att varje övervaka på nätverket (som din internetleverantör) kan bygga en detaljerad profil av dina surfvanor. Jag har täckt detta ingående i en annan artikel jag skrev. Jag rekommenderar att du läser den först.

Så vad kan vi göra åt detta? Slutsatsen som tidigare nåddes var att kryptera DNS-förfrågningarna. Även om det inte är en perfekt lösning, erbjuder det det bästa skydd vi har och gör det definitivt svårare att profilera.

DNSCrypt Proxy är ett sådant alternativ. Det är ett program (tjänst) som körs på vilken dator som helst, som din stationära eller bärbara dator. Du uppdaterar sedan din operativsystems DNS-konfiguration för att dirigera förfrågningar genom det—mer om det senare.

Installera DNSCrypt Proxy

En lokal tjänst som accepterar och krypterar DNS-förfrågningar

Detta är programmet du kör på din dator som accepterar och krypterar DNS-förfrågningar. I konfigurationsfilen säger vi till den var vi ska skicka dem.

[enlazatom_show_links]

Resten av guiden kommer att fokusera på Linux, men du kan hänvisa till de officiella guiderna för Linux, Windows, macOS, eller flera andra plattformar. Den följande konfigurationsavsnittet är universellt för alla av dem, likaså förklaringarna—så att följa med är användbart oavsett vad du använder.

Vilken av dessa nämnda metoder som helst kommer att hjälpa dig att installera och ställa in tjänsten.

Konfigurera DNSCrypt Proxy

Ett universellt konfigurationsformat över alla plattformar

Konfigurationen är den svåra delen, och jag kommer dela med mig av min erfarenhet av vad som fungerar.

För att hitta konfigurationsfilen för din plattform, hänvisa till de officiella guiderna, men på Linux är platsen: /etc/dnscrypt-proxy/dnscrypt-proxy.toml.

Vi ska redigera konfigurationsfilen (TOML) för att göra DNS-förfrågningarna gå genom en relä.

Först, ställ in lyssna adressen så tjänsten lyssnar på din lokala dator med hjälp av den typiska DNS-porten (53):

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

Detta gör det lätt för program att hitta och använda DNSCrypt Proxy. "127.0.0.1" och "[::1]" är den lokala datorn (även kallad localhost) för IPv4 och IPv6, respektive.

Nästa är servernamnen. DNSCrypt Proxy laddar ner resolverlistor, som inkluderar fjärrkonfigurationer kallade stämplar. Vi anger namnen på dessa stämplar på följande sätt:

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

En stämpel är en kodad, offentlig konfigurationssträng—den innehåller en offentlig adress och krypteringsinformation. Till exempel, detta är en av Quad9:s stämplar för servern som heter "quad9-dnscrypt-ip4-filter-ecs-pri":

sdns://AQMAAAAAAAAADTkuOS45LjExOjg0NDMgZ8hHuMh1jNEgJFVDvnVnRt803x2EwAuMRwNo34Idhj4ZMi5kbnNjcnlwdC1jZXJ0LnF1YWQ5Lm5ldA

Här är vad det ser ut som avkodat:

Detta visar bara syftet och funktionen av stämplarna.

Som en sidkommentar, introducerar den första halvan av denna video Quad9. Det är separat från DNSCrypt, så blanda inte ihop dem. Du kan använda Quad9 utan DNSCrypt, vilket den andra halvan av videon förklarar. Men, du får inte krypterade förfrågningar på det sättet, så var försiktig. Det är bäst att använda dem tillsammans via Quad9:s DNSCrypt-tjänst.

Åter till DNSCrypt. När du anger ett servernamn talar du om för DNSCrypt Proxy vilka offentliga servrar (stämplar) som ska användas. För att använda ovanstående stämpel anger du:

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

Du väljer servrar från DNSCrypt offentliga serverlista.

För att välja en lämplig server, ordna listan ("1") efter "DNSCrypt"-protokollet först ("2"), och använd sedan namnet till vänster ("3"). Den andra bilden visar ytterligare serverinformation, inklusive stämpeln – detta är vad DNSCrypt Proxy laddar ner när du ger det ett servernamn.

Nu till relay, som är integritetsrespekterande mellanservrar som anonymiserar dina frågor. Om du vill använda dem (och det bör du), måste du ställa in alternativet "routes" under sektionen "anonymized_dns". Det enklaste tillvägagångssättet är att få DNSCrypt Proxy att reläera alla förfrågningar medan de väljer dessa steg slumpmässigt:

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

Notera att ovanstående metod kan ta en stund att fungera initialt, eftersom den behöver hitta en fungerande relay.

Du kan dock välja specifika relay på detta sätt:

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

Detta kommer att skicka alla förfrågningar som är riktade mot vilken server som helst genom relay kallade "relay-example-1" och "relay-example-2."

Du kan få en komplett lista över relay från DNSCrypt offentliga serverlista.

Om du klickar på rubriken (anteckning "1"), kan du sortera listan efter relay ("2"). Namnet på relayservern finns till vänster ("3").

Många av dessa relayservrar ägs av gemenskapen, så var försiktig med ditt val. Kom dock ihåg att de inte kan läsa din fråga. Slutligen, för att skydda din anonymitet, se till att dina relay och servrar inte ägs av samma personer.

Du kan ytterligare konfigurera servrar för att använda specifika relay:

[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" ] }, ]

Nu behöver du ändra dina DNS-inställningar. Vi har guider för det på Windows 10, Windows 11, och macOS. På Linux behöver du bara uppdatera en enda fil:

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

Att göra en fil oföränderlig innebär att även root inte kan ändra den. Du kan dock göra den muterbar igen med sudo chattr -i /etc/resolv.conf. Använd lsattr /etc/resolv.conf för att se den aktuella filattributstatusen.

Att göra resolv.conf fil oföränderlig på Linux är ibland nödvändigt eftersom vissa program (som NetworkManager) gärna återställer den när de aktiveras. Du bör betrakta detta som en kärnvapenoption, och om det går att uppnå via någon annan metod, då föredra det.

Det finns några extra inställningar som möjliggör en ren, anonymiserad DNSCrypt-protokollkoppling. Vissa fungerar som filter för den nedladdade serverlistan.

 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

Dessutom, under sektionen "anonymized_dns", ställ in:

[anonymized_dns] skip_incompatible = true

Om du upptäcker att en server inte gör en anslutning, beror det troligen på att något av dessa filter utesluter den från slutvalda listan. Kontrollera noga din måltidserver och dina inställningar.

Starta och testa tjänsten

Det är olika för varje plattform

När konfigurationen är klar, behöver du starta tjänsten och testa den. För plattformar andra än Linux, hänvisa till den relevanta guiden som länkades tidigare.

För Linux kallas tjänsten vanligtvis "dnscrypt-proxy":

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

För att testa den:

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

Alternativt, om du använder dig av dig, kan du köra:

dig example.com

Du bör se att det löses med hjälp av den lokala servern:

Jag har sammanställt en komplett, fungerande konfigurationsfil för dig. Den använder Quad9:s filtrerade DNSCrypt-tjänst, som filtrerar bort skadliga domäner. Den skickar även trafik genom Österrike och Sverige. Du kan lägga till eller ta bort reläer som du anser nödvändiga eller använda informationen som täcks för att anpassa din installation.

För de alternativ vi har gått igenom idag har jag märkt dem med "CUSTOM!" För allt annat kan du hitta dem i exempelkonfigurationsfilen.

 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 kan köra dnscrypt-proxy -check (med samma katalog som konfigurationsfilen) för att säkerställa att dina förfrågningar dirigeras genom Österrike eller Sverige. När du har gjort det handlar det bara om att starta tjänsten och utföra DNS-förfrågningar.

Även om krypterad DNS gör mycket för din integritet, gör en VPN ännu mer. Med krypterad DNS är det som att stänga dina gardiner, men med en VPN är det som att låsa alla dina dörrar också. Om du är seriös om integritet rekommenderar jag ProtonVPN, som jag personligen använder och älskar.

Nu när du har läst klart Varför din DNS-trafik är ett sekretessläckage och hur du kan åtgärda det en gång för alla, inbjuder vi dig att utforska kategorin Ansökningar ytterligare. Där hittar du fler intressanta artiklar som kommer att utöka dina kunskaper och hålla dig informerad. Sluta inte läsa och upptäcka mer!

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Go up