Dlaczego Twój ruch DNS to wyciek prywatności i jak naprawić to raz na zawsze

Zabezpiecz swoją prywatność online dzięki szyfrowaniu zapytań DNS. Dowiedz się, jak zainstalować i skonfigurować DNSCrypt Proxy dla lepszej ochrony danych.
Czy martwisz się o swoją prywatność? Czy obawiasz się, że twój dostawca internetu zbiera twoje dane? Zapytania DNS to jeden ze sposobów, w jaki szpiedzy mogą zbierać informacje o tobie, a szyfrowane DNS jest odpowiedzią. Jednak nie wszystkie rozwiązania są równe, ale mam rozwiązanie, które naprawdę może chronić twoją anonimowość.
Problem i rozwiązanie
Twoje zapytania DNS ujawniają każde twoje żądanie internetowe
DNS (System Nazw Domenowych) to sposób mapowania nazw domen (jak example.com) na adresy IP. Kiedy wykonujesz żądanie internetowe, twój system wysyła pakiet DNS do serwera DNS (nazywanego rekurencyjnym rozwiązywaczem) w Internecie. Ten system następnie wykonuje szereg kolejnych zapytań, aby rozwiązać twoje zapytanie. Cały proces odbywa się w protokole tekstowym, co oznacza, że każdy szpieg w sieci (jak twój dostawca internetu) może zbudować szczegółowy profil twoich nawyków przeglądania. Omówiłem to szczegółowo w innym artykule, który napisałem. Polecam, abyś najpierw go przeczytał.
Co więc możemy z tym zrobić? Wcześniej osiągnięto wnioski, aby zaszyfrować zapytania DNS. Choć nie jest to idealne rozwiązanie, oferuje najlepszą ochronę, jaką mamy, i z pewnością utrudnia profilowanie.
DNSCrypt Proxy to jedno z takich rozwiązań. To program (usługa), który działa na każdym komputerze, takim jak twój komputer stacjonarny czy laptop. Następnie aktualizujesz konfigurację DNS swojego systemu operacyjnego, aby kierować zapytania przez niego — więcej na ten temat później.
Instalacja DNSCrypt Proxy
Lokalna usługa, która akceptuje i szyfruje zapytania DNS
To program, który uruchamiasz na swoim komputerze i który akceptuje oraz szyfruje zapytania DNS. W pliku konfiguracyjnym informujemy go, gdzie je wysyłać.
Reszta przewodnika skupi się na Linuksie, ale możesz odnosić się do oficjalnych przewodników dla Linuxa, Windowsa, macOS lub kilku innych platform. Następująca sekcja konfiguracyjna jest uniwersalna dla wszystkich z nich, podobnie jak wyjaśnienia — korzystanie z niej jest przydatne, niezależnie od tego, co używasz.
Każda z wymienionych metod pomoże ci zainstalować i skonfigurować usługę.
Konfiguracja DNSCrypt Proxy
Uniwersalny format konfiguracji dla wszystkich platform
Konfiguracja to najtrudniejsza część, a ja podzielę się moim doświadczeniem w tym, co działa.
Aby zlokalizować plik konfiguracyjny dla swojej platformy, odnies się do oficjalnych przewodników, ale w przypadku Linuksa lokalizacja to: /etc/dnscrypt-proxy/dnscrypt-proxy.toml.
Edytujemy plik konfiguracyjny (TOML), aby zapytania DNS przechodziły przez przekaźnik.
Najpierw ustaw adres nasłuchu, aby usługa nasłuchiwała na twoim lokalnym komputerze, używając standardowego portu DNS (53):
listen_addresses = [ "127.0.0.1:53", "[::1]:53" ]To umożliwia programom łatwe znajdowanie i korzystanie z DNSCrypt Proxy. "127.0.0.1" i "[::1]" to lokalny komputer (tzw. localhost) dla IPv4 i IPv6, odpowiednio.
Następne są nazwy serwerów. DNSCrypt Proxy pobiera listy serwerów rozwiązań, które zawierają zdalne konfiguracje nazywane stempelami. Podajemy nazwy tych stempli w taki sposób:
server_names = [ "server-name-1", "server-name-2" ]Stempel to zakodowany, publiczny ciąg konfiguracyjny — zawiera publiczny adres i informacje o szyfrowaniu. Na przykład, to jeden z stempel Quad9 dla serwera o nazwie "quad9-dnscrypt-ip4-filter-ecs-pri":
sdns://AQMAAAAAAAAADTkuOS45LjExOjg0NDMgZ8hHuMh1jNEgJFVDvnVnRt803x2EwAuMRwNo34Idhj4ZMi5kbnNjcnlwdC1jZXJ0LnF1YWQ5Lm5ldA
Oto jak to wygląda po dekodowaniu:
To pokazuje tylko cel i funkcję stempli.
Na marginesie, pierwsza część tego wideo wprowadza Quad9. Jest on odrębny od DNSCrypt, więc nie myl ich. Możesz używać Quad9 bez DNSCrypt, co wyjaśnia druga część wideo. Jednak nie otrzymujesz w ten sposób szyfrowanych zapytań, więc bądź ostrożny. Najlepiej używać ich razem za pośrednictwem usługi DNSCrypt Quad9.
Wracając do DNSCrypt. Ustawiając nazwę serwera, informujesz DNSCrypt Proxy, które publiczne serwery (stampery) mają być używane. Aby użyć powyższego stampera, ustaw:
server_names = [ "quad9-dnscrypt-ip4-filter-ecs-pri" ]Wybierasz serwery z publicznej listy serwerów DNSCrypt.
Aby wybrać odpowiedni serwer, uporządkuj listę („1”) według protokołu „DNSCrypt” najpierw („2”), a następnie użyj nazwy po lewej stronie („3”). Drugi obrazek pokazuje dodatkowe informacje o serwerze, w tym stamper—jest to to, co DNSCrypt Proxy pobiera, gdy podajesz nazwę serwera.
Teraz przechodzimy do relayów, które są pośrednimi serwerami szanującymi prywatność, które anonimizują Twoje zapytania. Jeśli chcesz z nich skorzystać (a powinieneś), musisz ustawić opcję „routes” w sekcji „anonymized_dns”. Najłatwiejszym podejściem jest sprawienie, aby DNSCrypt Proxy przekaźnikował wszystkie zapytania, wybierając te przeskoki losowo:
[anonymized_dns] routes = [ { server_name = "*", via = ["*"] } ]Jednak powyższe podejście może na początku trochę potrwać, ponieważ musi znaleźć działający relay.
Możesz jednak wybrać konkretne relaye w następujący sposób:
[anonymized_dns] routes = [ { server_name = "*", via = [ "relay-example-1", "relay-example-2" ] }, ]To spowoduje, że wszystkie zapytania skierowane do dowolnego serwera będą przechodzić przez relaye nazywane „relay-example-1” i „relay-example-2”.
Możesz uzyskać pełną listę relayów z publicznej listy serwerów DNSCrypt.
Jeśli klikniesz nagłówek (adnotacja „1”), możesz posortować listę według relayów („2”). Nazwa serwera relay znajduje się po lewej stronie („3”).
Wiele z tych serwerów relay jest własnością społeczności, więc bądź ostrożny przy swoim wyborze. Pamiętaj jednak, że nie mogą one odczytać Twojego zapytania. Na koniec, aby chronić swoją anonimowość, upewnij się, że Twoje relaye i serwery nie są własnością tych samych osób.
Możesz jeszcze bardziej skonfigurować serwery, aby używały konkretnych relayów:
[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" ] }, ]Teraz musisz zmienić ustawienia DNS. Mamy przewodniki, aby to zrobić w systemach Windows 10, Windows 11 oraz macOS. W systemie Linux wystarczy zaktualizować jeden plik:
su echo "nameserver 127.0.0.1\nnameserver ::1" > /etc/resolv.conf chattr +i /etc/resolv.conf Uczynienie pliku niezmiennym oznacza, że nawet użytkownik root nie może go zmienić. Możesz jednak uczynić go znowu zmiennym za pomocą sudo chattr -i /etc/resolv.conf. Użyj lsattr /etc/resolv.conf, aby sprawdzić bieżący stan atrybutów pliku.
Uczynienie pliku resolv.conf niezmiennym w systemie Linux czasami jest konieczne, ponieważ niektóre programy (jak NetworkManager) lubią resetować go, gdy się aktywują. Powinieneś potraktować to jako opcję atomową, a jeśli można to osiągnąć jakąś inną metodą, to ją preferuj.
Istnieje kilka dodatkowych ustawień, które umożliwiają czyste, anonimizowane połączenie z protokołem DNSCrypt. Niektóre działają jako filtry dla pobranej listy serwerów.
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 = falseDodatkowo, w sekcji „anonymized_dns” ustaw:
[anonymized_dns] skip_incompatible = trueJeśli stwierdzisz, że serwer nie nawiązuje połączenia, prawdopodobnie dlatego, że jeden z tych filtrów wyklucza go z końcowej listy wyfiltrowanej selekcji. Sprawdź dwukrotnie swój docelowy serwer i swoje ustawienia.
Uruchomienie i testowanie usługi
To różni się w zależności od platformy
Po skonfigurowaniu musisz uruchomić usługę i ją przetestować. W przypadku platform innych niż Linux, odniesienia do odpowiednich przewodników znajdują się wyżej.
W przypadku systemu Linux usługa zazwyczaj nazywa się „dnscrypt-proxy”:
sudo systemctl enable dnscrypt-proxy sudo systemctl start dnscrypt-proxyAby to przetestować:
cd /etc/dnscrypt-proxydnscrypt-proxy -resolve example.com
Alternatywnie, jeśli używasz dig, możesz wykonać:
dig example.comPowinieneś zobaczyć, że rozwiązuje to przy użyciu lokalnego serwera:
Przygotowałem dla Ciebie kompletny, działający plik konfiguracyjny. Wykorzystuje on filtrowaną usługę DNSCrypt od Quad9, która filtruje złośliwe domeny. Łączy również połączenia przez Austrię i Szwecję. Możesz dodać lub usunąć przekaźniki według własnego uznania lub wykorzystać informacje zawarte w celu dostosowania swojej konfiguracji.
Dla opcji, które omówiliśmy dzisiaj, oznaczyłem je jako "CUSTOM!" Wszystkie inne możesz znaleźć w przykładowym pliku konfiguracyjnym.
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" ]Możesz wykonać dnscrypt-proxy -check (będąc w tym samym katalogu co plik konfiguracyjny), aby upewnić się, że Twoje zapytania są kierowane przez Austrię lub Szwecję. Gdy to zrobisz, wystarczy uruchomić usługę i przeprowadzić zapytania DNS.
Chociaż szyfrowane DNS wiele robi dla Twojej prywatności, VPN robi więcej. Z szyfrowanym DNS jest jak z zamykaniem zasłon, ale z VPN jest jak z zamykaniem wszystkich drzwi. Jeśli poważnie myślisz o prywatności, polecam ProtonVPN, którego sam używam i uwielbiam.
Jeśli ciekawią Cię artykuły podobne do Dlaczego Twój ruch DNS to wyciek prywatności i jak naprawić to raz na zawsze, zajrzyj do kategorii Tutoriale i odkryj jeszcze więcej interesujących treści.
Dodaj komentarz

Możesz być zainteresowany