DNS (Domain Name System) to usługa odpowiedzialna za przypisywanie adresów IP nazwom internetowym 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. W systemie Linux możemy wykorzystać program traceroute, który jest dostępny z poziomu konsoli. 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. Zwykle mamy skonfigurowane dwa adresy IP jednego dostawcy 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.

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

Schemat działania DNS
Czytany schemat od dołu wyjaśnia, co się dzieje po wpisaniu adresu internetowego w przeglądarce.
Polecenie PING
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?

Konfiguracja DNS
Adresy DNS wpisane w konfiguracji routera. Secondary DNS jest opcjonalny, ale przydaje się w przypadku niedostępności głównego.

Domyślne adresy DNS ustawione przez mojego dostawcę w routerze szybko zostały zmienione na oferowane przez Comodo SecureDNS. Ta zmiana nie jest podyktowana chęcią skonfigurowania routera według moich potrzeb, a zasadą “Security First”. Wątpię, że mój ISP oferuje najwyższe zabezpieczenia. Adres 192.168.12.1 to jego własny serwer, który jest dostępny tylko dla klientów. 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 wWciąż 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 dostawców

Nazwa Adres Pochodzenie Filtrowanie kategorii np. pornografia / ochrona przed malware, C&C i phishingiem
CloudFlare 1.1.1.1 USA NIE / NIE
Google Public DNS 8.8.8.8 i 8.8.4.4 USA NIE / NIE
Cisco OpenDNS 208.67.222.222 i 208.67.220.220 USA TAK / TAK
F-Secure Quad9 9.9.9.9 USA NIE / TAK
Norton ConnectSafe * 199.85.126.20 USA NIE / TAK
DNS.Watch 84.200.69.80 i 84.200.70.40 USA NIE / NIE
OpenNIC

servers.opennicproject.org

Kanada NIE / NIE
Comodo SecureDNS 8.26.56.26 i 8.20.247.20 USA NIE / TAK
VeriSign Public DNS 64.6.64.6 i 64.6.65.6 USa NIE / NIE

* Serwery DNS Norton ConnectSafe zostaną wyłączone 15 listopada 2018 roku.

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.

Zmiana adresów DNS w Windows
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 nie wie się 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, który znajduje się na naklejce na routerze). W ustawieniach sieci WAN odnajdujemy ustawienia serwerów DNS.

WAN DNS TP-Link
W polu Primary DNS i Secondary DNS wpisujemy adresy wybranego dostawcy.
Comodo DNS blokowanie szkodliwych stron
DNS-y do Comodo chronią przed szkodliwą zawartością, ale nie są tak skuteczne jak zainstalowany antywirus w systemie. Dodatkowo zapewniają ochronę tylko w przeglądarce.

Test szybkości

Z poziomu konsoli w Linuxie przeprowadziłem testy popularnych dostawców serwerów DNS pod kątem czasu odpowiedzi. Badanie zostało powtórzone 4 razy o różnych godzinach. Wykorzystałem polecenie DIG służące do diagnostyki DNS. Można je wykorzystać do sprawdzania szybkości odpowiedzi bez każdorazowej zmiany adresów w systemie lub routerze, np. dig @9.9.9.9 facebook.com

Dostawca Czas odpowiedzi [ms]
  9 rano 12 w południe 15 po południu 21 wieczorem
CloudFlare 19 18 18 17
Google Public DNS 46 46 48 48
Cisco OpenDNS 16 20 17 19
F-Secure Quad9 49 101 59 58
Norton ConnectSafe 61 41 54 63
DNS.Watch 64 42 62 1582
OpenNIC 72 76 50 53
Comodo SecureDNS 60 51 50 60
VeriSign Public DNS 223 233 238 227

Niekwestionowanym liderem pod względem czasu odpowiedzi jest Cloudflare oraz Cisco OpenDNS. Z kolei najgorszy wynik osiągnął VeriSign. Stale odświeżane informacje o "szybkości" serwerów DNS znajdują się na stronie dnsperf.com. Ten ranking serwerów DNS aktualizowany jest kilka razy w ciągu dnia.

Polecane serwery DNS porównanie
Pierwsze miejsce CloudFlare nie jest zaskoczeniem. Ich globalna sieć serwerów sprawia, że dostęp do nich jest błyskawiczny.

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.

AUTOR:Michał Giza
Podziel się

Komentarze

jasc pt., 19-10-2018 - 20:38

Dobrze napisany tekst, zrozumiały także dla nietechnicznych użytkowników. Do testowania DNSów - w konkretnym miejscu i na konkretnym łączu, warto użyć markowego i darmowego narzędzia DNS Benchmark (https://www.grc.com/dns/benchmark.htm).

Michal Giza pt., 19-10-2018 - 21:40

Dziękuję za pozytywne uwagi :) Odnośnie DNS Benchmark: Nie widzę sensu pobierania dodatkowego oprogramowania, skoro można postawić maszynę wirtualną z Linuxem i testować poleceniem dig

Dodane przez jasc w odpowiedzi na

jasc sob., 20-10-2018 - 02:01

Michał, dużo szybciej, łatwiej i wygodniej jest paroma kliknięciami ściągnąć, odpalić i mieć zawsze pod ręką jedno zaawansowane narzędzie (portable - więc nie wymaga instalacji) - niż stawiać Linuxa na wirtualce :).

Dodane przez Michal Giza w odpowiedzi na

Michal Giza sob., 20-10-2018 - 12:48

Szczerze? Nie podoba mi się to narzędzie.
Stawiać nie trzeba, bo wiele dystrybucji ma opcję LiveCD, więc nie wymaga instalacji

Dodane przez jasc w odpowiedzi na

zeinhard sob., 20-10-2018 - 11:25

Zabrakło wzmianki o DNSCrypt, DNSSEC, Encrypted SNI, DNS over HTTPS, DNS over TLS.

Polecam zainstalować DNSCrypt https://simplednscrypt.org jeśli nie ma się routera który umożliwia obsługę DNSCrypt-proxy, DNSSEC, DNS over TLS np. OpenWRT https://blog.cloudflare.com/dns-over-tls-for-openwrt/ Tomato https://openlinksys.info/forum/viewthread.php?thread_id=21651#post_1677…

Ustawiamy w DNSCrypt DNSy od CluodFlare 1.1.1.1

W Firefoxie dodatkowo włączamy w about:config:
network.security.esni.enabled -> "Boolean" -> "true"
network.trr.mode -> “Integer” -> "2"
network.trr.uri -> "String" -> "https://cloudflare-dns.com/dns-query"
security.tls.version.max -> “Integer” -> "4"

Możemy zainstalować dodatek https://addons.mozilla.org/pl/firefox/addon/dnssec/ żeby widzieć czy dana strona jest podpisana przez DNSSEC.

Teraz sprawdzamy czy na teście https://www.cloudflare.com/ssl/encrypted-sni/ wszystkie znaczki są na zielono https://i.imgur.com/UAvx2e6.png Jak tak, to cieszymy się szybkimi, bezpiecznymi i zaszyfrowanymi zapytaniami DNS :)

Warto dodatkowo sprawdzić czy zapytania idą na pewno przez ustawione przez nas DNSy czy np. ISP nie proxuje zapytań do swoich DNSów https://dnsleaktest.com

Prędkość DNSów można sprawdzić przez ten skrypt https://github.com/cleanbrowsing/dnsperftest Można wyedytować w nim strony i dostawców DNSów.

Robert sob., 20-10-2018 - 11:58

Dosyć ciekawy artykuł z tym teścikiem. Zabrakło szczegółowych wskazówek dla szyfrowania zapytań DNS.

Michal Giza sob., 20-10-2018 - 12:44

Odsyłam do mojego pierwszego artykułu: avlab.pl/pl/standardy-ochrony-prywatnosci-w-internecie
Wystarczy dobry VPN, np. NordVPN (polecam link partnerski go.nordvpn.net/aff_c?offer_id=15&aff_id=13656)

Dodane przez Robert w odpowiedzi na

seqritylabs sob., 20-10-2018 - 12:37

Ładnie napisany i zobrazowany artykuł. Brak tylko precyzji wypowiedzi w pewnych kwestiach
- wg moich testów rozwiązywanie adresów w Polsce i zagranicą mocno się różni pod względem czasu, min. 35 ms, tak wiec czasy reakcji będą mocno zależeć od zestawu testowanych domen
- ustawianie bardzo wysokich serwerów DNS powoduje ich szybką odpowiedź ale powoduje też wzrost ruchu dookoła, generalnie dig pozwala znaleźć krótką drogę do autorytarnego serwera DNS, jakikolwiek inny DNS i tak zwróci się z zapytaniem do autorytarnego
- narzędzi jest dużo (np. https://mxtoolbox.com/DNSLookup.aspx), oddzieliłbym wydajność od bezpieczeństwa DNSów, to faktycznie temat na kolejny artykół

Michal Giza sob., 20-10-2018 - 12:52

Wydajność i bezpieczeństwo idą w parze.
Ogólnie Cloudflare nieźle sobie radzi, więc z prędkością w Polsce i zagranicą problemów być nie powinno. Postanowiłem na COMODO i też nie narzekam

Dodane przez seqritylabs w odpowiedzi na

ddd sob., 20-10-2018 - 13:38

Bardzo brakowało mi takiego artykułu. Chciałbym przy okazji zapytać jak z prywatnością i zbieraniem danych w/w dns. Google - wiadomo, a co z resztą?
Cloudflare - który jest szybki oraz Cisco - który jest bardziej bezpieczny od pozostałych?
Czy można prosić o wyjaśnienie?

Michal Giza sob., 20-10-2018 - 14:20

No cóż, na to pytanie nie ma jednoznaczej odpowiedzi :) Google w swoim DNS nie oferuje żadnej ochrony, a jedynie w miarę szybkie ładowanie stron. Starałem się wybrać "bezpieczne" DNSy, więc można im zaufać. Osobiście korzystam z SecureDNS od COMODO.
Jeśli chodzi o wybór pomiędzy Cloudflare, a Cisco, to zależy, na co zwracamy uwagę. Jeśli na prędkość, to Clouflare, jeśli na filtrowanie treści, to OpenDNS. Warto pamiętać, że DNS jest ważnym elementem bezpieczeństwa, ale nie zastąpi dobrego programu ochronnego

Dodane przez ddd w odpowiedzi na

Adrian Ścibor sob., 20-10-2018 - 14:59

Cisco OpenDNS w pakiecie Home, link: https://www.opendns.com/home-internet-security/ umożliwia po założeniu konta wybierać kategorie stron, które powinny być blokowane w sieci domowej, np. porno. To bardzo dobry wybór dla rodziców i opiekunów, ale także dla małych firm, które chcą podnieść produktywność pracowników.

Po założeniu konta na @ przychodzi powiadomienie. Automatycznie wykrywany jest adres publiczny IP oraz maska. Po kliknięciu w przycisk "add network" podajesz jeszcze nazwę projektu, który pojawi się do zarządzania w konsoli webowej OpenDNS i tyle. Jeśli masz zmienne IP (dynamiczne) to pobierasz program, który wskaże konfigurator i logujesz się podanym @ oraz hasłem, tym samym co do konta OpenDNS. Jeśli masz stałe IP to nic nie robisz.

Teraz wybierasz dodaną swoją sieć z adresem IP i masz kilka poziomów filtracji: wysoki, średni, niski oraz własny. Wybierając własny klikasz po prostu w kategorię, którą chcesz blokować, np. drugs, pornography, social media lub inne.

Na routerze ustawiasz adresy DNS wskazane w tabelce dla Cisco OpenDNS. Teraz każdy użytkownik z twojej sieci wchodząc na stronę z blokowanej kategorii zobaczy komunikat, że strona została zablokowana.

W sumie to dobry pomysł na poradnik :)

Oprócz tego masz ustawienia ochrony Malware/Botnet Protection oraz przez phishingiem. A więc złośliwe strony powinny być blokowane bez dodatkowego narzędzia. Oczywiście nie będzie to tak skuteczne jak renomowane antywirusy, ale za darmo zawsze to coś.

Dodane przez ddd w odpowiedzi na

ddd sob., 20-10-2018 - 17:28

Dziękuję bardzo za wyjaśnienie,zaraz mam zamiar wypróbować.
Chciałbym też zapytać o to co z ustawionym dns np na cisco gdy używam dodatkowo nordvpn czy też inny tego typu program.
Czy filtrowanie wtedy się zmienia? Czy vpn ustawia swoje dns?

Dodane przez Adrian Ścibor w odpowiedzi na

Adrian Ścibor sob., 20-10-2018 - 17:44

Filtrowanie dla twojego adresu IP publicznego nie będzie działać, o ile ustawisz takie samo jak na serwerze wyjściowym z VPN-a. IP klienta końcowego, czyli twoje, musi się zgadzać z tym co jest wpisane w konfiguracji OpenDNS. Jeżeli masz dynamiczne przydzielane lub korzystasz z VPN-a, który oprócz szyfrowania zmienia adres IP, filtrowanie nie zadziała.

Dodane przez ddd w odpowiedzi na

Adrian Ścibor sob., 20-10-2018 - 17:50

Wyłącz VPN-a na czas testów i upewnij się, że urządzenie ma przydzielone serwery DNS w sposób automatyczny w konfiguracji karty sieciowej.
Sprawdź czy masz ciągle stały adres IP https://www.whatismyip.com Jeśli nie jesteś pewny skontaktuj się z dostawcą. Jeśli masz dynamiczne IP musisz wykonać to: https://support.opendns.com/hc/en-us/articles/227987787-Dynamic-IP-Gene…

Dodane przez ddd w odpowiedzi na

ddd ndz., 21-10-2018 - 09:44

W tym momencie nie mam VPN, wpisywałem dns w routerze.
Blokowanie jest ale po jakimś czasie - nie od razu.
Jeśli chodzi o blokowanie np porno filmów to generalnie pierwsze strony z wyszukiwarek są blokowane, można natomiast bez problemu wejść na mniej znane, lub też na wszystkie w chomiku. Zdjęcia pornograficzne nie są blokowane prawie wcale, dziwne bo strona https://nordvpn.com jest blokowana, wejście na nią powoduje zerwanie szyfrowania i zablokowanie treści.

Dodane przez Adrian Ścibor w odpowiedzi na

Adrian Ścibor ndz., 21-10-2018 - 09:51

Blokowane nie jest od razu, ponieważ istnieje coś takiego na twoim pc i routerze jak cache dns. Filtrowanie pewnie nie jest doskonałe, ale musisz upewnić się który poziom masz ustawiony (high, moderate, low, custom). Najlepiej samemu wybrać kategorie w Custom. Takie blokowanie stron nie będzie doskonałe. Lepiej do tego wykorzystać kontrolę rodzicielską w Windows lub programy antywirusowe z takimi funkcjami.

Jeśli już potestujesz więcej daj znać, jak to działa w praktyce.

Dodane przez ddd w odpowiedzi na

ddd ndz., 21-10-2018 - 13:39

Dziękuję w takim razie przeszedłem na podstawowy.
Powiedz mi może jeszcze co polecasz jako ochronę rodzicielską? Jaki program który jest skuteczny a zarazem nie potrzebuje do działania antywirusa?
Chyba byłby z tego dobry temat na artykuł :)

Dodane przez Adrian Ścibor w odpowiedzi na

ddd ndz., 21-10-2018 - 14:53

Eset parental Control nie jest osobną aplikacją na windows.

Dodane przez Adrian Ścibor w odpowiedzi na

Adrian Ścibor ndz., 21-10-2018 - 14:54

A jaką jest? Wbudowaną w Windows? To nie antywirus. Zainstaluj i wypróbuj.

Dodane przez ddd w odpowiedzi na

ddd ndz., 21-10-2018 - 15:25

To ja bardzo poproszę linka do programu ESET Parental Control na windows 7.

Dodane przez Adrian Ścibor w odpowiedzi na

ddd ndz., 21-10-2018 - 14:46

Nie mam klasycznego av więc ta opcja odpada. Dziękuję bardzo za odpowiedzi.

Michal Giza ndz., 21-10-2018 - 15:15

Polecam Kaspersky Safe Kids. Działa jako osobna aplikacja lub jako moduł Kaspersky Total Security

Dodane przez ddd w odpowiedzi na

mrbeckham pon., 22-10-2018 - 16:14

Witam przydałby się test DNS według bezpieczeństwa lata korzystałem z open dns ale ten test mnie zmartwił i postawiłem na quad9
https://blog.cryptoaustralia.org.au/2017/12/23/best-threat-blocking-dns…

W dns moim zdaniem najlepiej postawić na bezpieczeństwo bo to że DNS będzie nawet te 50% wolniejszy w testach nie oznacza że to odczujecie w domu podczas przeglądania stron :) quad9 działa wystarczająco szybko i ochronę przed malware ma na poziomie ale przydałby się test wszystkich dns aktualne na wiekszej ilości malware stron phising i innego rodzaju syfu.

Adrian Ścibor pon., 22-10-2018 - 17:23

Jest to do wykonania, natomiast z tym testem bezpieczeństwa to wcale nie jest taka oczywista sprawa. Przykładowo dysponując np. 10 000 linkami do złośliwych stron trzeba sprawdzić ile tak naprawdę z nich jest w czasie testu szkodliwe.

Na przykład DNS od producenta X może blokować stronę, ponieważ domena / IP będzie znajdować się na czarnej liście. Ale już producent Y w czasie testu nie będzie blokował tej samej domeny / IP.

I teraz najważniejsze - profesjonalny test musi zawierać taką metodologię, która w momencie otworzenia strony sprawdzi, czy ciągle na tej domenie jest zagrożenie. Bo w innym wypadku producent X zablokował czystą stronę (teoretycznie złośliwą), a producent Y już nie. I co wtedy, nie mając pewności, czy zagrożenie w czasie testu było online? Test będzie niemiarodajny. Będzie nieprawdziwy. Ze szkodą dla producenta Y.

Właśnie taki był ten test, który wskazałeś. Czyli co z tego, że autor wziął 500 złośliwych domen, które znajdowały się na jakiejś czarnej liście, skoro nie sprawdził, czy w momencie otwierania strony zagrożenie ciągle istniało. To jest sedno całego testu.

Przykładowo, autor pisze, że wykorzystał strony z exploitami. No to zobacz: https://hosts-file.net/?s=Browse&f=EXP jest kilka na 2018 rok, a reszta z roku 2017. Większość z nich jest już dawno offline. Trochę nie podoba mi się to wszystko.

Dodane przez mrbeckham w odpowiedzi na

Dodaj komentarz