DNS: co to jest? Jak działa? Jak wybrać i zmienić DNS na bezpieczne?

Co to są serwery DNS? Jak działają? Co mają wspólnego z bezpieczeństwem, prywatnością i cenzurą w sieci? Jak wybrać i zmienić DNS-y?

Co to jest DNS i jak działa?

Na początek definicja:

DNS (ang. Domain Name System) to usługa tłumacząca łatwe do zapamiętania nazwy domen internetowych, na adresy IP serwerów.

Co to jednak oznacza w praktyce?

Systemy DNS działają więc podobnie do listy kontaktów w naszym telefonie. Nie musimy pamiętać wszystkich numerów telefonów, ponieważ mamy je zapisane pod przyjaznymi i łatwymi do zapamiętania nazwami, które sami ustaliliśmy. Wystarczy, że z książki wybierzemy dowolny kontakt (np. Mama), a nasz smartfon będzie wiedział, pod jaki numer telefonu chcemy zadzwonić lub wysłać wiadomość.

Dla komputerów i innych urządzeń podłączonych do sieci takimi numerami telefonów są adresy IP.

Adres IP to ciąg znaków (np. 12.34.56.789 w przypadku IPv4), który identyfikuje konkretne urządzenie podpięte do sieci (np. serwer, router, komputer). W internecie wszystkie urządzenie komunikują się ze sobą właśnie za pomocą adresów IP.

Za każdym razem, gdy wpisujesz w przeglądarce adres jakiejś strony internetowej (np. kwestiabezpieczenstwa.pl), Twój komputer kontaktuje się z serwerem DNS, aby zapytać go, pod jaki adres ma się udać, szukając tego, czego szukasz. W odpowiedzi dostaje on adres IP serwera, na którym znajduje się poszukiwana przez Ciebie strona WWW i pod który powinien się udać.

Jak działa DNS?
Jak działa DNS? – JakWybraćHosting.pl

Nad tym, aby internet mógł poprawnie funkcjonować, czuwa 13 głównych serwerów DNS (tzw. root servers) zarządzanych przez 12 niezależnych organizacji i instytucji takich jak np. Departament Obrony Stanów Zjednoczonych, NASA czy RIPE).

Mapa root servers wraz z ich "klonami"
Mapa root servers wraz z ich „klonami” – root-servers.org

Oprócz tego są tysiące serwerów DNS udostępnianych przez dostawców internetu czy firmy i instytucje takie jak Google lub Cisco.

Każde urządzenie podłączone do internetu korzysta z serwerów DNS. Nawet jeśli ich sami nie skonfigurowaliśmy, to nasz dostawca internetu domyślnie je nam ustawił.

My jako użytkownicy końcowi korzystamy zazwyczaj z serwerów DNS dostarczanych przez dostawców internetu (np. Orange, Netia, UPC, Vectra itd.) lub firmy takie jak Google. Możemy jednak w dowolnej chwili zmienić serwery DNS zarówno na pojedynczym urządzeniu (komputerze, smartfonie, tablecie itd.), jak i w całej naszej sieci domowej (na routerze).

A piszę cały czas o „serwerach” (w liczbie mnogiej), a nie serwerze, bo zazwyczaj na urządzeniach wskazywane są co najmniej dwa adresy serwerów DNS, na wypadek, gdyby jeden z nich przestał działać lub zbyt długo odpowiadał na nasze zapytanie.

Dlaczego jednak w ogóle ma to jakiekolwiek znacznie? I do te serwery DNS mają wspólnego z bezpieczeństwem i prywatnością?

DNS a prywatność

Pierwszą kwestią, o której chciałem napisać jest prywatność. Trzeba pamiętać, że wszystkie zapytania do serwerów DNS są zazwyczaj logowane i zapisywane.

Jakie informacje są zbierane w tzw. logach serwerów DNS?

  • kto pyta o adres strony (adres IP wysyłającego zapytanie)
  • o jaki adres strony pyta (domena)
  • jaka jest odpowiedź (adres IP)
  • data i dokładny czas zapytania

I tak każde zapytanie po zapytaniu. Cała lista odwiedzanych przez Ciebie stron WWW.

Dane te mogą być wykorzystywane przez operatora serwerów DNS do celów statystycznych i reklamowych. Mogą być też sprzedawane czy udostępniane innym podmiotom, czy firmom.

W Polsce wszyscy dostawcy internetu (ISP) czy usług takich jak DNS mają obowiązek:

  • zbierania takich danych
  • trzymania ich przez minimum 12 miesięcy
  • udostępniania ich „uprawnionym podmiotom”

Mówi o tym wprost art. 180a Prawa Telekomunikacyjnego (Obowiązek zatrzymywania, przechowywania, udostępniania i ochrony danych), o którym wspominałem już w poradniku poświęconym VPN:

art. 180a Prawa Telekomunikacyjnego
art. 180a Prawa Telekomunikacyjnego

DNS a cenzura internetu

We wspomnianym poradniku pisałem też o cenzurze internetu w Polsce, która realizowana jest właśnie za pomocą serwerów DNS.

Na tę chwilę cenzura internetu, rozumiana jako blokowanie konkretnych stron internetowych polega wyłącznie na uniemożliwieniu dostępu do stron, które oferują usługi hazardowe takie jak kasyna czy zakłady bukmacherskie bez polskiej licencji (i bez płacenia podatku w Polsce).

Lista ponad 14 000 zablokowanych stron WWW tego typu nazywa się Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą i jest dostępna na stronie hazard.mf.gov.pl.

Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą - lista
Rejestr Domen Służących do Oferowania Gier Hazardowych Niezgodnie z Ustawą – lista

Wszystkie strony z tej listy blokowane są w ciągu maks. 48 godzin od dodania do niej, przez polskich dostawców internetu właśnie na poziomie serwerów DNS. Gdy mamy więc na swoich urządzeniach adresy DNS od ISP takich jak np. Orange, Play, Plus, UPC, Vectra, Netia, Multimedia, to zamiast strony, na której będziemy mogli nielegalnie roztrwonić nasze pieniądze, zobaczymy:

"Strona internetowa, z którą podjęto próbę połączenia jest wykorzystywana do nielegalnego oferowania gier hazardowych." - komunikat
„Strona internetowa, z którą podjęto próbę połączenia jest wykorzystywana do nielegalnego oferowania gier hazardowych.” – komunikat

Po prostu DNS, zamiast w odpowiedzi wysłać adres IP serwera, na którym znajduje się strona hazardowa, odpowie adresem IP specjalnej strony Ministerstwa Finansów.

Do pozbycia się tej blokady wystarczy zmiana adresów DNS na takie, które dostarczane są przez innego (zagranicznego) operatora.

DNS a bezpieczeństwo

No i oprócz prywatności i cenzury zostaje jeszcze kwestia bezpieczeństwa. Jak odpowiednie serwery DNS mogą podnieść poziom naszego bezpieczeństwa w sieci? Blokując niebezpieczne strony WWW.

Zasada działania jest taka sama jak w przypadku wspomnianej wcześniej cenzury i blokad stron hazardowych. Niektóre serwery DNS mają „wbudowane” listy niebezpiecznych stron WWW, czyli domen internetowych, które wykorzystywane są aktywnie do ataków czy wyłudzeń.

Listę takich niebezpiecznych stron WWW, wykorzystywanych w Polsce do ataków, wyłudzeń czy innego phishingu prowadzi zespół CERT Polska, który na bieżąco umieszcza tam domeny, które podszywają się pod banki, instytucje finansowe, firmy kurierskie, sklepy internetowe i wykorzystywane są aktywnie w atakach na polskich użytkowników internetu.

Fragment listy niebezpiecznych domen CERT Polska
Fragment listy niebezpiecznych domen CERT Polska

Podobnie jak w przypadku odwiedzenia strony hazardowej, tak i tu przy próbie wejścia na stronę wyłudzającą dane czy pieniądze zobaczymy poniższy komunikat:

Uwaga! Ta strona stanowi zagrożenie - komunikat na zablokowanej stronie
„Uwaga! Ta strona stanowi zagrożenie” – komunikat na zablokowanej stronie

Czy Twój operator DNS korzysta z tej listy, możesz sprawdzić wchodząc na stronę lista.cert.pl,

Podobnych list jest na świecie więcej. I warto korzystać z serwerów DNS, które zwiększają bezpieczeństwo nasze i naszych domowników czy pracowników, blokując fałszywe czy niebezpieczne strony internetowe.

Jak sprawdzić jakich DNSów używam?

Informację o tym, z jakich serwerów DNS korzysta konkretne urządzenie, można w prosty sposób sprawdzić w ustawieniach.

Domyślne działanie DNS-ów jest takie, że jeśli na danym urządzeniu (komputerze, telefonie, smart-odkurzaczu itd.) nie zostały podane konkretne adresy IP serwerów DNS, to pobierane są one z routera sieci Wi-Fi, z którym dane urządzenia się łączą. A jeśli tam nie zostały podane, to wszędzie ustawione są domyślne serwery DNS od dostawcy internetu (ISP).

Jak sprawdzić DNS na komputerze z Windows 10?

  1. Klikasz w manu Start i Uruchom, a następnie uruchamiasz CMD
  2. Wpisujesz: ipconfig /all

Jak sprawdzić DNS na komputerze z macOS lub Linux?

  1. Uruchamiasz terminal
  2. Wpisujesz polecenie: cat /etc/resolv.conf

Jak sprawdzić DNS na urządzeniu Apple z iOS lub ipadOS (iPhone, iPad)?

  1. Wchodzisz w Ustawienia, a następnie Wi-Fi
  2. Klikasz na ikonę informacji („i”) przy wybranej sieci Wi-Fi
  3. Klikasz w „Konfiguruj DNS”

Jak sprawdzić DNS na urządzeniu z Androidem (telefon, tablet)?

  1. Wchodzisz w Ustawienia, a następnie w Połączenia i WiFi
  2. Przytrzymujesz palec na wybranej nazwie sieci i z rozwiniętego menu wybierasz „Zarządzaj ustawieniami sieciowymi” lub „Modyfikuj sieć” (zależnie od wersji Androida)
  3. Kliknij w opcje DHCP i zmień ją na „Statyczny” lub zaznacz opcję „Pokaż opcje zaawansowane” (zależnie od wersji Androida)

W wyniku możesz zobaczyć zarówno adresy IP dwóch serwerów DNS, jak i adres IP swojego routera (najczęściej 192.168.0.1 lub 192.168.1.1). Jeżeli będzie tam adres routera, oznacza to, że Twoje urządzenie korzysta z serwerów DNS ustawionych przez Ciebie (lub dostawce internetu) na routerze. I to właśnie tam (po zalogowaniu się do panelu) musisz sprawdzić, z jakich DNS-ów faktycznie korzystasz.

Jeśli już będziesz w panelu zarządzania routerem, to dowiedz się koniecznie jak zabezpieczyć swój router i sieć WiFi.

Czy zmiana DNS przyspieszy internet?

Jedne serwery DNS są szybsze a inne wolniejsze. Chodzi oczywiście o czas – liczony w milisekundach – od zapytania („jaki jest adres IP dla domeny google.pl?”) do uzyskania odpowiedzi („adres IP to 11.22.33.44”).

Podczas odwiedzin każdej strony WWW, takie zapytanie o adres IP do serwerów DNS wysyłane jest od kilku do nawet kilkudziesięciu razy, gdyż na jednej stronie WWW może być sporo odwołań do zasobów umieszczonych na innych domenach (statystyki, fonty, film, grafiki, widgety mediów społecznościowych, reklamy itd.)

Czy szybkość DNS ma więc znacznie dla szybkości korzystania z internetu? Tak, choć nie ma co oczekiwać cudów przy zmianie DNS-ów na szybsze. Zmiana może okazać się niezauważalna gołym okiem.

DNS Lookup
Zapytanie DNS jest jednym z etapów ładowania strony WWW w przeglądarce

Jakie DNS-y są najszybsze? Z pomocą przychodzi badanie DNSPerf, które sprawdza na bieżąco m.in. właśnie czas odpowiedzi publicznych serwerów DNS.

Szybkość DNS - ostatnie 30 dni / Europa
Szybkość DNS – ostatnie 30 dni / Europa – dnsperf.com

TOP 10 najszybszych DNS wygląda więc następująco:

MiejsceDostawca DNSŚredni czas odpowiedzi
1.1.1.1.17.57 ms
2.DNSFilter16.5 ms
3.Cisco Umbrella16.53 ms
4.Neustar17.43 ms
5.NextDNS19.84 ms
6.Google23.33 ms
7.Quad924.03 ms
8.NuSEC33.78 ms
9.Yandex44.54 ms
10.SafeDNS57.94 ms

Czy jednak szybkość powinna być jedynym i najważniejszym kryterium wyboru serwerów DNS? Moim zdaniem nie.

DNSy a funkcje dodatkowe

Podstawowym zadaniem serwerów DNS jest szybkie tłumaczenie nazw domen na adresy IP. To jednak niejedyna funkcja, jaką mogą spełniać DNS-y w internecie. Dodatkowe

  1. Bezpieczeństwo – O kwestii bezpieczeństwa (blokowanie złośliwych stron, phishingu itd.) pisałem już wcześniej. To właśnie bezpieczeństwo jest najważniejszym powodem, dla którego warto zmienić adresy serwerów DNS na swoich urządzeniach.
  2. Ochrona rodzicielska – DNS-y mogą blokować domeny serwujące wybrane niepożądane przez nas treści takie jak np.: materiały dla dorosłych / pornografia, gry czy hazard.
  3. Blokowanie wybranych stron – Analogicznie, niektórzy dostawcy serwerów DNS pozwalają na stworzenie własnych list dowolnych stron WWW, które mają zostać zablokowane.
  4. Blokowanie reklam – DNS-y mogą blokować także wyświetlanie reklam na stronach internetowych. Blokują one wtedy domy, z których zazwyczaj serwowane są reklamy
  5. Blokowanie śledzenia – wraz z reklamami zazwyczaj DNS-y tego typu blokują skrypty i kody śledzące i statystyczne takie jak Google Analytics, pixele Facebooka.

Dodatkowo – jak wcześniej wspominałem – jeśli zmienimy serwery DNS na takie, które są dostarczane przez jakiegoś międzynarodowego dostawcę, to możemy liczyć na „odblokowanie cenzury internetu” czyli tych stron hazardowych zablokowanych przez Ministerstwo Finansów.

Jaki DNS rekomenduję? Jaki DNS najlepszy?

Na początek kilka słów podsumowania. Dobry i bezpieczny operator serwerów DNS powinien:

  • działać szybko
  • nie zbierać logów
  • blokować domeny zagrażające bezpieczeństwu (phishing, złośliwe oprogramowanie itd.)

Każda dodatkowa funkcja (blokowanie reklam, blokada rodzicielska itd.) jest dodatkowym bonusem.

Poniżej kilka propozycji:

1. DNS Cloudflare (1.1.1.1)

Cloudflare to globalna firma świadcząca różne usługi internetowe, która ma serwery również w Polsce (Warszawa). W wielu przypadkach i testach jest to najszybsza usługa DNS na rynku. Cloudflare udostępnia 3 rodzaje serwerów DNS, w zależności od tego, czy i co chcemy blokować.

Adresy serwerów DNS:
1.1.1.1 i 1.0.0.1 – podstawowe serwery DNS zapewniające prywatność
1.1.1.2 i 1.0.0.2 – serwery DNS blokujące złośliwe oprogramowanie i phishing
1.1.1.3 i 1.0.0.3 – serwery DNS blokujące złośliwe oprogramowanie, phishing i treści dla dorosłych

Adres strony: https://1.1.1.1/dns/
Polityka prywatności: https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver

2. NextDNS

NextDNS to ciekawa usługa, która umożliwia stworzenie własnych serwerów DNS i samodzielne ustalenie co ma być blokowane, a co nie. Dostawca DNS udostępnia użytkownikom gotowe listy blokujące (np. złośliwe oprogramowanie, reklamy itd.) oraz pozwala tworzyć i dodawać własne listy filtrowanych domen (np. blokada mediów społecznościowych, blokada wszystkich usług Facebooka czy Google).

Usługa płatna, ale ma plan darmowy (do 300 000 zapytań w miesiącu), który w wielu przypadkach może okazać się wystarczający.

Adresy serwerów DNS:
indywidualne dla każdego z użytkowników

Adres strony: https://nextdns.io/
Polityka prywatności: https://nextdns.io/privacy

3. Quad9

Serwery DNS udostępniane przez szwajcarską fundację sponsorowaną przez Global Cyber Alliance oraz IBM. Ich głównym celem jest ochrona prywatności i szybka blokada domen mogących stwarzać zagrożenie (np. udostępniających złośliwe oprogramowanie)

Adresy serwerów DNS:
9.9.9.9 i 149.112.112.112

Adres strony: https://www.quad9.net/
Polityka prywatności: https://www.quad9.net/service/privacy

Do często polecanych alternatywnych dostawców DNS-ów można zaliczyć też AdGuard DNS, czyli rozwiązanie od twórców znanego oprogramowania do blokowania reklam i skryptów śledzących.

A jeżeli masz trochę więcej zapału, to możesz stworzyć własne serwery DNS i uruchomić je w ramach swojej sieci domowej np. na minikomputerze jakim jest Raspberry Pi. Możesz to zrobić wykorzystując oprogramowanie PiHole.

Jak zmienić DNS?

Najprostszym i najskuteczniejszym rozwiązaniem na zmianę serwerów DNS, z których korzystamy, jest ustawienie ich na naszym routerze Wi-Fi. Gdy tam zmienimy DNS, automatycznie wszystkie urządzenia podłączone do naszej sieci zaczną korzystać ze wskazanych DNS-ów.

Aby to zrobić, wystarczy, że zalogujesz się do panelu zarządzania swoim routerem i w ustawieniach sieci odnajdziesz opcję wpisania dwóch adresów IP nazwaną DNS lub nameservers. Adres logowania do panelu routera znajdziesz na w instrukcji obsługi urządzenia lub na naklejce na jego spodzie.

Jeżeli jednak chcesz ustawić DNS na konkretnym urządzeniu, to poniżej szybka instrukcja dla poszczególnych systemów:

Jak zmienić DNS na komputerze z Windows 10?

  1. Klikasz w menu Start -> Ustawienia -> Sieć i internet
  2. Wybierasz opcję Zmień właściwości połączenia i klikasz przycisk „Edytuj” przy „Ustawienia protokołu IP”
  3. Wpisujesz adresy DNS w pola „Preferowany serwer DNS” i „Alternatywny serwer DNS”

Jak zmienić DNS na komputerze z macOS?

  1. Klikasz menu Apple w lewym górnym rogu, a następnie Preferencje systemowe i Sieć
  2. Wybierasz połączenie sieciowe, którego chcesz użyć (np. Wi-Fi) i klikasz „Zaawansowane” i wchodzisz w zakładkę DNS
  3. W polu „Serwery DNS” po lewej stronie dodajesz oba serwery DNS klikając znak „+” pod listą.

Jak zmienić DNS na urządzeniu Apple z iOS lub ipadOS (iPhone, iPad)?

  1. Wchodzisz w Ustawienia, a następnie Wi-Fi
  2. Klikasz na ikonę informacji („i”) przy wybranej sieci Wi-Fi
  3. Klikasz w „Konfiguruj DNS”
  4. Wybierasz opcję „Ręcznie” i dodajesz do listy serwerów DNS oba adresy klikając na „Dodaj serwer”

Jak zmienić DNS na urządzeniu z Androidem (telefon, tablet)?

  1. Wchodzisz w Ustawienia, a następnie w Połączenia i WiFi
  2. Przytrzymujesz palec na wybranej nazwie sieci i z rozwiniętego menu wybierasz „Zarządzaj ustawieniami sieciowymi” lub „Modyfikuj sieć” (zależnie od wersji Androida)
  3. Kliknij w opcje DHCP i zmień ją na „Statyczny” lub zaznacz opcję „Pokaż opcje zaawansowane” (zależnie od wersji Androida)
  4. Zmień adresy serwerów widoczne w polach DNS 1 i DNS 2

Uwaga: Powyższe instrukcje dla iOS i Android zmienią serwery DNS tylko dla połączenia z siecią WiFi. Aby korzystać z innych DNS-ów łącząc się z siecią komórkową, musisz skorzystać z osobnej aplikacji dostarczanej przez niektórych dostawców DNS (np. Cloudflare 1.1.1.1, NextDNS).

DNS over HTTPS, DNS over TLS i pełna prywatność

Jest jeszcze ważna kwestia, o której musisz wiedzieć na koniec: Zmiana DNS-ów nie uchroni Cię przed zapisywaniem informacji o wszystkich stronach, które odwiedzasz przez Twojego dostawcę internetu, szefa, szkołę, partnera/partnerki czy po prostu administratora Twojej sieci.

Gdy powstawał internet (i protokół DNS) nikt nie myślał o kwestii prywatności. W wyniku tego wszystkie zapytania do serwerów DNS są wysyłane jawnym tekstem (nie są w żaden sposób szyfrowane).

Oznacza to, że nawet gdy zmienisz swoje adresy DNS z tych dostarczonych Ci przez dostawcę internetu na inne, które z założenia nie zbierają logów i dbają o prywatność, to nadal będzie miał on dostęp do Twoich zapytań (a więc odwiedzanych przez Ciebie stron).

Rozwiązaniem tego problemu jest korzystanie z jednego z dwóch stosunkowo nowych rozwiązań:

  1. DNS over HTTPS (DoH)
  2. DNS over TLS (DoT)

Ich działanie jest zbliżone. Polega ono na tym, że wszystkie zapytania do serwera DNS i odpowiedzi od niego są w 100% szyfrowane. Cała komunikacja z serwerem DNS odbywa się za pomocą szyfrowanego protokołu, a transmisji nie może podejrzeć nie „po drodze”.

Minusy takiego rozwiązania:

  • Nadal niewielu operatorów DNS je wspiera
  • Mało który router WiFi je obsługuje
  • Ustawienie na komputerze czy smartfonie wymaga instalacji osobnego programu lub aplikacji

Plusy:

  • DNS-over-HTTPS wspierają popularne przeglądarki na komputerach (Chrome, Firefox, Edge, Brave)

Wszystkie zarekomendowane wcześniej serwery DNS wspierają DNS-over-HTTPS (DoH).

Korzystanie z tych rozwiązań nie daje pełnej prywatności (dostawca internetu nadal będzie widział adresy IP stron, jakie odwiedzasz), ale pozwala zwiększyć jej poziom (nie będzie widział zapytań do DNS i odpowiedzi).

Jeżeli chcesz więc korzystać z serwerów DNS w pełni prywatnie, nie dzieląc się listą odwiedzanych stron, możesz:

  • zaopatrzyć się w router, który wspiera taki protokół (np. Synology RT2600ac)
  • zainstalować program czy aplikację wspierającą ten protokół (np. 1.1.1.1 od Cloudflare)
  • używać DoH lub DoT tylko w przeglądarce (tu instrukcje w j. angielskim), a „zwykłych” DNS-ów dla reszty programów i aplikacji
  • skorzystać z VPN i przy okazji zaszyfrować cały ruch internetowy i zmienić/ukryć adres IP

Wybór zostawiam jak zawsze Tobie.


Tak czy inaczej, zachęcam Cię gorąco do zmiany domyślnych serwerów DNS na takie, która bardziej zadbają o Twoje bezpieczeństwo i prywatność w sieci.

A jak już to zrobisz, to będę wdzięczny za podzieleniem się linkiem do tego artykułu na Facebooku, Twitterze, LinkedIn, czy nawet wrzucenia fotki z informacją o nim na Instagram. Będę wdzięczny za każde udostępnienie.

Zapisz się na bezpłatny 7-dniowy kurs e-mail:
PODSTAWY BEZPIECZEŃSTWA

i dowiedz się jak zabezpieczyć komputer, telefon i konta internetowe:

PODSTAWY BEZPIECZEŃSTWA