Polecane serwery DNS — które z nich są najszybsze i najlepiej chronią użytkownika?

12 czerwca 2020

DNS (Domain Name System) to usługa odpowiedzialna za przypisywanie adresów IP nazwom internetowym (domenom) czytelnym dla człowieka. Każda strona WWW posiada swój „identyfikator”, czyli wspomniany adres IP. Adresy te można poznać poprzez wyszukanie strony np. w bazie GWhois lub za pomocą polecenia PING. Jest to o tyle dobrze przemyślane, że dzięki usługom DNS nie musimy pamiętać adresu IP każdej strony, z którą zamierzamy się połączyć.

Tak naprawdę trudno wyobrazić sobie świat bez tych serwerów. Adresami IP serwerów DNS zajmuje się IANA i ICANN. W Polsce ich odpowiednikiem jest Naukowa i Akademicka Sieć Komputerowa, czyli NASK. Sam DNS podczas przesyłania zapytań działa w oparciu o protokół UDP w warstwie aplikacji w modelu OSI na domyślnym porcie 53. Zwykle mamy skonfigurowane dwa adresy IP różnych dostawców DNS-ów, co jest zabezpieczeniem w przypadku awarii któregoś z nich. Natomiast wykupienie domeny nie zawsze jest równoznaczne z natychmiastowym dodaniem do bazy DNS adresu internetowego. Zwykle trwa to kilka godzin. Po więcej informacji odsyłam na stronę dns.pl.

„Szkielet Internetu” stanowią tzw. root servers. Ich lista dostępna jest na stronie https://root-servers.org/.

Często bywa tak, że dostawca usług internetowych konfiguruje router, aby łączył się z ustalonymi DNS-ami i zazwyczaj są to serwery DNS operatora internetu. Nie jest to zawsze bezpieczne i idealne rozwiązanie, co wyjaśniam w dalszej części artykułu.

Ping Windows
Polecenie PING wyświetla sporo informacji, np.TTL (Time To Live, czas życia pakietu), IP serwera hostującego stronę oraz informacje o pakietach (otrzymanych, wysłanych i utraconych).

Dlaczego warto zmienić domyślny adres DNS? 

Domyślne adresy DNS ustawione przez mojego dostawcę w routerze zostały przeze mnie zmienione na te oferowane przez Quad9. Ta zmiana jest podyktowana chęcią skonfigurowania routera według moich potrzeb oraz zasadą „Security First”. Wątpię, że mój ISP oferuje najwyższe zabezpieczenia. Dzięki analizie logów dostawca będzie wiedział, jakie strony odwiedziłem. Zmiana DNS co prawda niewiele pomoże w tym przypadku, gdyż każdy ISP jest zobowiązany do monitorowania aktywności i przechowywania zapisów przez 5 lat. Jeśli chcemy ukryć tę aktywność, to zachęcam do zapoznania się z poprzednim artykułem, w którym opisałem zasadę działania sieci Tor i VPN.

Natomiast operator prawdopodobnie nie stosuje filtracji domen, z którymi użytkownicy łączą się poprzez jego infrastrukturę. Czyli, jeśli odwiedzimy porządnie wykonaną stronę phishingową (SSL budzący zaufanie, wygląd i adres), to zazwyczaj (ale nie zawsze) serwer DNS nie informuje o zagrożeniu.

Idąc dalej, zauważamy, że mój ISP ma siedzibę w Polsce. A więc wciąż nie zapominamy o pomyśle cenzury polskiego Internetu przez rząd. Z założenia „filtrowanie szkodliwych treści” byłoby realizowane przez DNS-y. Czyli wystarczyłaby zmiana adresu serwera DNS i moglibyśmy cieszyć się „niekontrolowanym” dostępem do blokowanych domen. Taka sama sytuacja jest z ministerialną listą zakazanych stron hazardowych. Jeśli rząd wpadnie w przyszłości na pomysł cenzurowania Internetu, to chcąc zwiększyć jej skuteczność, powinien posłuchać tego podcastu Niebezpiecznika.

Porównanie serwerów DNS

NazwaAdresPochodzenieFiltrowanie kategorii np. pornografia, reklamy / ochrona przed malware i phishingiemWsparcie dla DNS-over-HTTPS (DoH)
Cloudflare1.1.1.1 oraz 1.1.1.2, 1.0.0.2 (ochrona przed malware), 1.1.1.3, 1.0.0.3 (ochrona przed malware i filtr treści)USANIE / (TAK)TAK
Google Public DNS8.8.8.8 i 8.8.4.4USANIE / NIETAK
Cisco OpenDNS208.67.222.222 i 208.67.220.220USATAK / TAKTAK
Quad99.9.9.9USANIE / TAKTAK
DNS.Watch84.200.69.80 i 84.200.70.40NiemcyNIE / NIENIE
OpenNIC192.71.245.208, 195.10.195.195, 176.126.70.119 i 91.217.137.37USANIE / NIENIE
Comodo Secure DNS8.26.56.26 i 8.20.247.20USANIE / TAKNIE
VeriSign Public DNS64.6.64.6 i 64.6.65.6USANIE / NIENIE
CleanBrowsing185.228.168.168 i 185.228.169.168USATAK / NIETAK
Alternate DNS23.253.163.53 i 198.101.242.72USATAK / NIENIE
AdGuard DNS176.103.130.130 i 176.103.130.131USATAK / TAKTAK

Praktycznie wszystkie serwery DNS znajdują się z jurysdykcją w USA. Jedynie dwóch dostawców zapewnia jednocześnie filtrowanie kategorii i ochronę przed złośliwymi (w ogólnym znaczeniu) stronami. Cieszy fakt, że sporo serwerów wspiera DNS-over-HTTPS, czyli szyfrowanie zapytań. Warto zauważyć, że serwery bez wsparcia tej technologii nie mają wiele do zaoferowania.

Konfiguracja adresów DNS

Zmianę adresów DNS dokonujemy na pojedynczym urządzeniu lub na wszystkich, w ustawieniach routera. Ma do duże znaczenie. W przypadku modyfikacji adresów, np. na laptopie, sprawimy, że tylko to pojedyncze urządzenie będzie komunikowało się ze światem za pośrednictwem ustawionych serwerów. Pozostałe urządzenia w sieci będą rozwiązywały domeny na adresy IP za pośrednictwem serwerów DNS ustawionych w routerze. Należy pamiętać, że systemowe DNS mają „pierwszeństwo” przed tymi w konfiguracji routera.

Konfiguracja IPv4
Właściwości IPv4.

W przypadku zmiany adresów DNS w konfiguracji routera sprawa wygląda paradoksalnie łatwiej. Należy jednak pamiętać, że pozostałych ustawień lepiej nie modyfikować, jeśli się nie wie do czego służą. A więc w przeglądarce wchodzimy pod adres najczęściej 192.168.0.1 lub 192.168.1.1 (lub inny, w zależności od struktury sieci i producenta routera).  

Zazwyczaj ustawienia DNS są połączone z ustawieniami DHCP (Dynamic Host Configuration Protocol, odpowiada za automatyczne przydzielanie urządzeniom w sieci informacji o niej, m.in. adres IP, maska czy adres bramy domyślnej i DNS). 

W jaki sposób poznać adres routera? Metod jest kilka, a te zależą w głównej mierze od systemu:

  •  Windows: Uruchamiamy wiersz polecenia (z poziomu Menu Start, wyszukując “cmd”, lub skrótem Win+R i wpisując “cmd”. Następnie wpisujemy „ipconfig” i szukamy pozycji Default Gateway. Widoczny adres to adres routera. To zdecydowanie najszybszy sposób, bo w domowej sieci raczej DHCP przydziela konfigurację, a niewiele osób ustawia ją statycznie (co ma uzasadnienie w przypadku serwerów i drukarek w sieci). Jeśli posiadamy sprzęt od MikroTik, to polecam wykorzystać WinBox, który w zakładce Neighbours wyświetla urządzenia tej firmy w naszej sieci.
  • Linux: W terminalu wystarczy wpisać “route” i pod Gateway widoczny jest szukany adres.
  • Android: Adres routera jest widoczny w ustawieniach konkretnej sieci WiFi. Nie zalecam jednak zmieniać konfiguracji z poziomu mobilnych przeglądarek z powodu małego komfortu. Lepiej pobrać aplikację (Tether w przypadku TP-Link i MikroTik dla łotewskiego producenta) z oficjalnego sklepu i z niej korzystać, bo umożliwia szybki dostęp do najważniejszych ustawień (w tym blokadę danego urządzenia jednym kliknięciem).
Konfiguracja DNS w routerze
W polu Primary DNS i Secondary DNS wpisujemy adresy wybranego dostawcy.

Test szybkości serwerów DNS

Skrypt pobierał z serwera WWW zainstalowanego na VPS plik tekstowy z listą 10 tysięcy domen. Następnie automatycznie, wykorzystując narzędzie dig odpytywał po kolei serwery adresami z tej listy.

Skrypt był uruchamiany w ciągu kilku godzin. Jego wykonanie zajmowało za każdym razem wiele czasu, dlatego zastosowałem tzw. wirtualną konsolę (polecenie screen).

W ten sposób mogłem spokojnie zakończyć sesję SSH (w przeciwieństwie do RDP, czyli zdalnego pulpitu, przerwanie połączenia SSH skutkuje zatrzymaniem wykonywania polecenia), chociaż okresowo kontrolowałem poprawność działania, wyświetlając aktualne procesy (ps -A).

DostawcaŚredni czas odpowiedzi (10000 domen) [ms]
 5 rano13 po południu20 wieczorem9 rano
Cloudflare106.5690.4391.9288.11
Google Public DNS66.0570.4966.5066.99
Cisco OpenDNS91.3787.6887.9888.41
Quad989.2890.9787.19105.78
DNS.Watch104.09116.65109.28111.42
OpenNIC93.4595.5993.1798.46
Comodo Secure DNS84.7583.9076.4784.71
VeriSign Public DNS89.0891.9382.1291.23
CleanBrowsing92.29105.3585.4999.38
Alternate DNS189.41186.54185.70185.91
AdGuard DNS118.33115.16105.64109.47

Czym mniejszy czas odpowiedzi, tym oczywiście lepiej. Od razu można zauważyć zdecydowaną przewagę DNS Google pod względem wydajności. W tym przypadku podobne wyniki utrzymywały się praktycznie cały dzień, z wyjątkiem pory popołudniowej. Niektóre serwery również potrafią szybko obsłużyć ruch (OpenDNS, Quad9, OpenNIC, Comodo), chociaż uzyskane czasy znacznie się różną z wynikami lidera testu.

Test ochrony przed phishingiem (100 adresów dziennie)

Poniższe dwa testy nie były aż tak zautomatyzowane. Co prawda chciałem użyć gotowego skryptu, ale skuteczność i jakość pozostawały wiele do życzenia. Ostatecznie zdecydowałem się na wykorzystanie polecenia wget, które pobierało z pliku tekstowego dokładnie 100 „świeżych” i unikalnych adresów każdego dnia.

Adresy zebrałem z zagranicznych list. Za każdym razem zmieniałem serwer DNS w /etc/resolv.conf, po czym uruchamiałem polecenie wget i czekałem na pobranie plików (w przypadku malware) lub zwykłych plików HTML (w przypadku phishingu).

Od liczby 100 odejmowałem ilość pobranych plików i w ten sposób uzyskiwałem ilość zablokowanych zapytań.

DostawcaDzieńZablokowane adresy / NXDOMAIN*
Cloudflare153
254
336
Cisco OpenDNS198
296
393
Quad9199
297
397
Comodo Secure DNS135
236
324
AdGuard DNS146
240
343

Test ochrony przed malware (100 adresów dziennie)

DostawcaDzieńZablokowane adresy / NXDOMAIN*
Cloudflare148
243
324
Cisco OpenDNS147
241
323
Quad9188
250
329
Comodo Secure DNS147
241
323
AdGuard DNS150
239
325

Przed każdym testem system był restartowany, aby wyczyścić cache DNS.

* NXDOMAIN oznacza, że w bazie DNS konkretnego operatora domena nie jest powiązana z adresem IP, czyli użytkownik końcowy nie odwiedzi danej strony.

Wnioski z testu

Przeprowadzone testy były bardzo interesujące od strony technicznej. Pozwoliły na pogłębienie wiedzy oraz zobaczenie „na żywo” różnych metod blokowania zawartości. Dwa przykłady:

  • OpenDNS od Cisco podstawia własny certyfikat, który z oczywistych przyczyn nie jest zaufany w systemie operacyjnym (w przeglądarce też, pomimo niezależności od systemu). Dzięki temu użytkownik końcowy (zwłaszcza nietechniczny) po prostu nie odwiedzi danej strony, czyli nie pobierze malware lub nie spotka się z phishingiem. W konsekwencji zostanie ochroniony. Musiałby zaimportować do systemowej bazy certyfikatów, certyfikat OpenDNS.
  • Quad9 (dawniej należący do F-Secure) zakłada nieco prostsze działanie. Po prostu złośliwa domena nie znajduje się w bazie operatora. W ten sposób serwer zwraca NXDOMAIN, o którym wspominałem wyżej.

Należy pamiętać, że nawet najskuteczniejszy serwer DNS nie będzie alternatywą dla programu antywirusowego. Jego przewaga polega na tym, że wystarczy ustawić raz adres w routerze i cała lokalna sieć będzie chroniona. Wszystkie urządzenia wysyłają i odbierają jakieś dane (użytkownik odwiedza daną stronę w przeglądarce, zainstalowana aplikacja odpytuje swoje serwery o aktualizacje itd.), a DNS może wtedy ochronić przed różnymi złośliwymi działaniami. Należy jednak pamiętać, że malware nie znajduje się jedynie w Internecie, bo równie dobrze możemy zainfekować system poprzez uruchomienie złośliwego makra, uruchomienie szkodliwego programu czy nawet zwykłe podpięcie pendrive.

DNS nie chroni również przed popularnymi atakami występującymi w sieci (MITM, podsłuchanie komunikacji, ARP spoofing). Nie możemy też liczyć na ochronę kamery internetowej czy pliku hosts. Swoją drogą mało osób o tym wspomina, ale ten prosty plik ma ogromny wpływ na bezpieczeństwo. Wystarczy wpisać:

[adres_IP_atakujacego] mbank.pl

Zamiast na stronie mBanku, będziemy na stronie atakującego. Jeśli jest dobrze przygotowana, to raczej nie mamy szans na zauważenie ataku. W pasku adresu widoczny jest mbank.pl, a w praktyce jesteśmy połączeni z serwerem atakującego.

Adresy DNS to bardzo ważny element naszego bezpieczeństwa. O tym niech poświadczy fakt szkodliwego oprogramowania DNSChanger, które podmieniało adresy DNS. Pisał o tym także CERT Polska. Na tej stronie internetowej znajdują się aktualne listy serwerów DNS w Polsce.

PODZIEL SIĘ:

Share on facebook
Share on twitter
Share on linkedin
Share on email
AUTOR: Michał Giza
guest
7 komentarzy
Inline Feedbacks
View all comments
OloHolo
OloHolo
4 miesięcy temu

„Cieszy fakt, że sporo serwerów wspiera DNS-over-HTTPS, czyli szyfrowanie zapytań” – serio? A gdzie choćby słowo o DNSCrypt i sprawdzenie ile serwerów wspiera tę metodę szyfrowania zapytań?

Michał
Michał
4 miesięcy temu
To jest odpowiedź do  OloHolo

Znacznie bardziej popularny jest jednak DoH. Poza tym szyfrowanie ruchu tylko poprzez DNS nie jest sensownym rozwiązaniem. Lepiej sprawdzi się VPN.

Daniel
Daniel
3 miesięcy temu
To jest odpowiedź do  Michał

Witam. Moglby mi Pan doradzic w przypadku PS4 ? Jest jakis uniwersalny DNS czy moge jakas metoda wyszukac najlepszy dla mojej konsoli ? Responsywnosc gry online jest okropna. Probowalem Primary I Secondary 1.1.1.1 I 1.0.0.1 I 8.8.8.8 I 8.4.4.8

Michał
Michał
3 miesięcy temu
To jest odpowiedź do  Daniel

Nie ma serwera o adresie 8.4.4.8. Jest 8.8.4.4 należący do Google. DNS jest istotnym elementem sieci, ale nawet najszybszy nie wpłynie na wydajność, kiedy infrastruktura na to nie pozwala. Domowa sieć może być obciążona przez inne urządzenia, które praktycznie cały czas łączą się z określonymi adresem. Przykłady: 1) aplikacja Facebooka zainstalowana na smartfonie regularnie odbiera powiadomienia 2) Windows 10 i zainstalowane na nim aplikacje wysyłają dane diagnostyczne, sprawdzają aktualizacje, itd. 3) streaming treści, np. oglądanie filmu na YouTube to kolejne spore obciążenie, bo film jest odbierany „partiami”, nigdy za jednym razem nie pobiera się cały, bo trwałoby to zbyt długo Trzeba więc wziąć to pod uwagę. Czasem router jest po prostu przestarzały. Dawniej radził sobie z ruchem, ale dziś w dobie wielu urządzeń w sieci może mieć problemy. Starsze urządzenia… Czytaj więcej »

Dawid
Dawid
3 miesięcy temu

Najlepszy DNS to NextDNS, gdyż korzysta również z polskich filtrów (w tym również tych od scamów) i ma wiele możliwości, jak choćby zablokowanie całych domen, np. .xyz, .online, itd. Oprócz wycinania reklam jak AdGuard (btw. można w ustawieniach bardzo prosto dodać te same reguły jednym kliknięciem), blokuje także po zaznaczeniu odpowiednich opcji nawet telemetrię Windows.

Adrian Ścibor
Admin
Adrian Ścibor
3 miesięcy temu
To jest odpowiedź do  Dawid

Nie zawaham się sprawdzić 🙂

Szymon
Szymon
3 miesięcy temu
To jest odpowiedź do  Adrian Ścibor

Hej. Zostało dołączone do tej usługi także lista CERT, która jest ustawiona w domyślnej konfiguracji.

Newsletter

BĄDŹ ZAWSZE NA BIEŻĄCO!

Newsletter

ZAPISZ SIĘ NA POWIADOMIENIA
BĄDŹ ZAWSZE NA BIEŻĄCO!
zapisz się

Bitdefender GravityZone Webinarium

Dowiedz się, co eksperci mówią o GravityZone

POLECANE PRODUKTY

YUBIKEY

Klucze zabezpieczające

100% ochrony przed phishingiem

Newsletter

BĄDŹ ZAWSZE NA BIEŻĄCO!

Newsletter

ZAPISZ SIĘ NA POWIADOMIENIA
BĄDŹ ZAWSZE NA BIEŻĄCO!
zapisz się

Newsletter

BĄDŹ ZAWSZE NA BIEŻĄCO!

Newsletter

ZAPISZ SIĘ NA POWIADOMIENIA E-MAIL I ZAWSZE BĄDŹ NA BIEŻĄCO!
zapisz się

POLECANE PRODUKTY

YUBICO

Klucze zabezpieczające

SILNE UWIERZYTELNIANIE DWUSKŁADNIKOWE, WIELOSKŁADNIKOWE I BEZ HASŁA

Bitdefender GravityZone Webinarium

Dowiedz się, co eksperci mówią o GravityZone