Articles

Co to jest DNS i jak działa?

System nazw domen (DNS) jest jednym z fundamentów Internetu, jednak większość ludzi spoza branży sieciowej prawdopodobnie nie zdaje sobie sprawy, że używa go codziennie do wykonywania swojej pracy, sprawdzania poczty elektronicznej lub marnowania czasu na smartfonach.

Najpierw DNS jest katalogiem nazw, które odpowiadają numerom. Liczby te, w tym przypadku to adresy IP, których komputery używają do komunikacji między sobą. Większość opisów DNS wykorzystuje analogię do książki telefonicznej, co jest dobre dla osób powyżej 30 roku życia, które wiedzą, czym jest książka telefoniczna.

Jeśli masz mniej niż 30 lat, pomyśl o DNS jak o liście kontaktów w swoim smartfonie, która dopasowuje nazwiska ludzi do ich numerów telefonów i adresów e-mail. Następnie pomnóż tę listę kontaktów przez wszystkich ludzi na planecie.

Krótka historia DNS

Kiedy Internet był bardzo, bardzo mały, łatwiej było ludziom przyporządkować konkretne adresy IP do konkretnych komputerów, ale nie trwało to długo, gdy więcej urządzeń i ludzi dołączyło do rosnącej sieci. Nadal możliwe jest wpisanie konkretnego adresu IP w przeglądarce, aby dostać się na stronę internetową, ale wtedy, tak jak i teraz, ludzie chcieli adres składający się z łatwych do zapamiętania słów, z rodzaju tych, które dziś rozpoznalibyśmy jako nazwę domeny (jak networkworld.com). W latach 70. i wczesnych 80. te nazwy i adresy były przydzielane przez jedną osobę – Elizabeth Feinler ze Stanforda – która utrzymywała główną listę każdego komputera podłączonego do Internetu w pliku tekstowym o nazwie HOSTS.TXT.

To była oczywiście sytuacja nie do utrzymania w miarę rozwoju Internetu, nie tylko dlatego, że Feinler obsługiwała żądania tylko przed godziną 18.00 czasu kalifornijskiego i brała wolne na święta. W 1983 r. Paul Mockapetris, badacz z USC, miał za zadanie wymyślić kompromis spośród wielu propozycji rozwiązania problemu. W zasadzie zignorował je wszystkie i opracował swój własny system, który nazwał DNS. Choć od tamtego czasu system ten oczywiście uległ znacznym zmianom, na podstawowym poziomie wciąż działa tak samo jak prawie 40 lat temu.

Jak działają serwery DNS

Katalog DNS, który dopasowuje nazwę do numeru, nie znajduje się w jednym miejscu w jakimś ciemnym zakątku Internetu. Z ponad 332 milionami nazw domen wymienionych na koniec 2017 roku, pojedynczy katalog byłby naprawdę bardzo duży. Podobnie jak sam internet, katalog jest rozproszony po całym świecie, przechowywany na serwerach nazw domen (ogólnie zwanych w skrócie serwerami DNS), które komunikują się ze sobą bardzo regularnie, aby zapewnić aktualizacje i redundancję.

Autoryzujące serwery DNS vs. rekurencyjne serwery DNS

Gdy komputer chce znaleźć adres IP powiązany z nazwą domeny, najpierw kieruje swoje żądanie do rekurencyjnego serwera DNS, znanego również jako resolver rekurencyjny. Recursive resolver jest serwerem, który jest zwykle obsługiwany przez dostawcę usług internetowych lub innego dostawcy zewnętrznego, i wie, które inne serwery DNS musi poprosić o rozwiązanie nazwy witryny z adresem IP. Serwery, które faktycznie posiadają potrzebne informacje nazywane są autorytatywnymi serwerami DNS.

Serwery DNS i adresy IP

Każda domena może odpowiadać więcej niż jednemu adresowi IP. W rzeczywistości, niektóre witryny mają setki lub więcej adresów IP, które odpowiadają jednej nazwie domeny. Na przykład, serwer, do którego dociera twój komputer w poszukiwaniu www.google.com jest prawdopodobnie zupełnie inny niż serwer, do którego dotarłby ktoś w innym kraju, wpisując tę samą nazwę strony w przeglądarce.

Innym powodem rozproszonej natury katalogu jest ilość czasu, jaką zajęłoby ci uzyskanie odpowiedzi, gdy szukałeś strony, gdyby istniała tylko jedna lokalizacja katalogu, dzielona między miliony, prawdopodobnie miliardy, ludzi szukających informacji w tym samym czasie. To jedna długa kolejka do korzystania z książki telefonicznej.

Co to jest buforowanie DNS?

Aby obejść ten problem, informacje DNS są współdzielone między wieloma serwerami. Jednak informacje o ostatnio odwiedzanych stronach są również buforowane lokalnie na komputerach klienckich. Istnieje duże prawdopodobieństwo, że korzystasz z google.com kilka razy dziennie. Zamiast za każdym razem odpytywać serwer DNS o adres IP witryny google.com, informacja ta jest zapisywana na komputerze, dzięki czemu nie musi on sięgać do serwera DNS, aby połączyć nazwę z adresem IP. Dodatkowe buforowanie może wystąpić na routerach używanych do łączenia klientów z Internetem, jak również na serwerach dostawcy usług internetowych użytkownika (ISP). Przy tak dużej ilości buforowania, liczba zapytań, które faktycznie docierają do serwerów DNS jest dużo niższa niż mogłoby się wydawać.

Jak znaleźć mój serwer DNS?

Generalnie rzecz biorąc, serwer DNS, z którego korzystasz, jest tworzony automatycznie przez Twojego dostawcę sieci, gdy łączysz się z Internetem. Jeśli chcesz sprawdzić, które serwery są Twoimi głównymi serwerami nazw – zazwyczaj są to serwery rekurencyjne, jak opisano powyżej – istnieją narzędzia internetowe, które mogą dostarczyć wielu informacji o Twoim bieżącym połączeniu sieciowym. Browserleaks.com jest dobrym narzędziem i dostarcza wielu informacji, włączając w to twoje aktualne serwery DNS.

Czy mogę używać 8.8.8.8.8 DNS?

Ważne jest, aby pamiętać, że podczas gdy twój dostawca Internetu ustawi domyślny serwer DNS, nie masz obowiązku go używać. Niektórzy użytkownicy mogą mieć powody, aby unikać DNS swojego ISP – na przykład, niektórzy ISP używają swoich serwerów DNS do przekierowania żądań dla nieistniejących adresów do stron z reklamami.

Jeśli chcesz mieć alternatywę, możesz zamiast tego skierować swój komputer na publiczny serwer DNS, który będzie działał jako rekurencyjny resolver. Jednym z najbardziej znanych publicznych serwerów DNS jest serwer Google; jego adres IP to 8.8.8.8. Usługi DNS Google’a są zazwyczaj szybkie i choć istnieją pewne wątpliwości co do ukrytych motywów, jakimi kieruje się Google, oferując bezpłatną usługę, to tak naprawdę nie może on uzyskać od Ciebie więcej informacji, których nie uzyskał już od Chrome’a. Google ma stronę ze szczegółowymi instrukcjami, jak skonfigurować komputer lub router, aby połączyć się z DNS Google.

Jak DNS zwiększa wydajność

DNS jest zorganizowany w hierarchii, która pomaga utrzymać rzeczy działające szybko i gładko. Dla zilustrowania, załóżmy, że chcesz odwiedzić stronę networkworld.com.

Początkowe zapytanie o adres IP jest kierowane do resolwera rekurencyjnego, jak omówiono powyżej. Rekursywny resolver wie, które inne serwery DNS musi zapytać, aby rozwiązać nazwę strony (networkworld.com) z jej adresem IP. To wyszukiwanie prowadzi do serwera głównego, który zna wszystkie informacje o domenach najwyższego poziomu, takich jak .com, .net, .org i wszystkich domenach krajowych, takich jak .cn (Chiny) i .uk (Wielka Brytania). Serwery główne są zlokalizowane na całym świecie, więc system zazwyczaj kieruje użytkownika do najbliższego geograficznie serwera głównego.

Gdy żądanie dotrze do właściwego serwera głównego, trafia do serwera nazw domen najwyższego poziomu (TLD), który przechowuje informacje o domenie drugiego poziomu, czyli słowa używane przed dotarciem do domen .com, .org, .net (na przykład informacje dla networkworld.com to „networkworld”). Żądanie trafia następnie do serwera nazw domen, który przechowuje informacje o stronie i jej adresie IP. Po odkryciu adresu IP jest on odsyłany z powrotem do klienta, który może go teraz użyć do odwiedzenia strony. Wszystko to trwa zaledwie kilka milisekund.

Ponieważ DNS działa od ponad 30 lat, większość ludzi uważa to za oczywiste. Bezpieczeństwo również nie było brane pod uwagę przy tworzeniu systemu, więc hakerzy w pełni to wykorzystali, tworząc różne ataki.

Ataki typu DNS reflection

Ataki typu DNS reflection mogą zasypać ofiary dużą ilością wiadomości z serwerów DNS. Atakujący żądają dużych plików DNS od wszystkich otwartych resolwerów DNS, które mogą znaleźć i robią to używając spreparowanego adresu IP ofiary. Gdy resolvery odpowiadają, ofiara otrzymuje zalew nieproszonych danych DNS, które przytłaczają jej maszyny.

Zatrucie pamięci podręcznej DNS

Zatrucie pamięci podręcznej DNS może przekierować użytkowników na złośliwe strony internetowe. Atakującym udaje się wprowadzić do DNS fałszywe rekordy adresowe, więc gdy potencjalna ofiara prosi o podanie adresu jednej z zatrutych stron, DNS odpowiada adresem IP innej strony, kontrolowanej przez atakującego. Po wejściu na te fałszywe strony ofiary mogą zostać podstępnie zmuszone do podania haseł lub mogą być narażone na pobranie złośliwego oprogramowania.

Wyczerpanie zasobów DNS

Ataki polegające na wyczerpaniu zasobów DNS mogą zapchać infrastrukturę DNS dostawców usług internetowych, blokując ich klientom dostęp do stron w Internecie. Atakujący rejestrują nazwę domeny i wykorzystują serwer nazw ofiary jako serwer autorytatywny domeny. Jeśli więc resolwer rekurencyjny nie może podać adresu IP powiązanego z nazwą witryny, zapyta o niego serwer nazw ofiary. Atakujący generują dużą liczbę żądań dla swojej domeny, podrzucając przy tym nieistniejące subdomeny, co prowadzi do zalewu żądań resolwera na serwerze nazw ofiary, przytłaczając go.

Co to jest DNSSec?

DNS Security Extensions to rozwiązanie mające na celu zwiększenie bezpieczeństwa komunikacji pomiędzy różnymi poziomami serwerów biorących udział w wyszukiwaniu DNS. Został on opracowany przez Internet Corporation for Assigned Names and Numbers (ICANN), organizację odpowiedzialną za system DNS.

ICANN zdał sobie sprawę ze słabych punktów w komunikacji pomiędzy serwerami DNS najwyższego poziomu, drugiego poziomu i trzeciego poziomu, które mogłyby pozwolić atakującym na przejęcie odszukiwania. To pozwoliłoby atakującym odpowiedzieć na żądania odszukania legalnych stron adresem IP złośliwych stron. Strony te mogłyby przesyłać złośliwe oprogramowanie do użytkowników lub przeprowadzać ataki phishingowe i pharmingowe.

DNSSEC rozwiązuje ten problem poprzez cyfrowy podpis każdego poziomu serwera DNS, co gwarantuje, że żądania wysyłane przez użytkowników końcowych nie zostaną przejęte przez atakujących. Tworzy to łańcuch zaufania, tak że na każdym etapie wyszukiwania, integralność żądania jest sprawdzana.

Dodatkowo, DNSSec może określić, czy nazwy domen istnieją, a jeśli nie, nie pozwoli, aby ta oszukańcza domena została dostarczona do niewinnych wnioskodawców, którzy chcą mieć rozwiązaną nazwę domeny.

Ponieważ powstaje coraz więcej nazw domen, a coraz więcej urządzeń dołącza do sieci za pośrednictwem urządzeń Internetu rzeczy i innych „inteligentnych” systemów, a także ponieważ coraz więcej stron migruje do IPv6, utrzymanie zdrowego ekosystemu DNS będzie wymagane. Rozwój big data i analityki również niesie ze sobą większe zapotrzebowanie na zarządzanie DNS.

SIGRed: A wormable DNS flaw rears its head

Świat otrzymał ostatnio dobre spojrzenie na rodzaj chaosu, jaki mogą wywołać słabości w DNS, dzięki odkryciu wady w serwerach DNS systemu Windows. Potencjalna dziura w zabezpieczeniach, nazwana SIGRed, wymaga złożonego łańcucha ataku, ale może wykorzystać niezałatane serwery DNS Windows do potencjalnego zainstalowania i wykonania dowolnego złośliwego kodu na klientach. Ponadto, exploit jest „robakowalny”, co oznacza, że może rozprzestrzeniać się z komputera na komputer bez interwencji człowieka. Luka została uznana za na tyle niepokojącą, że amerykańskie agencje federalne dostały tylko kilka dni na zainstalowanie poprawek.

DNS over HTTPS: Nowy krajobraz prywatności

Od tego czasu DNS jest na skraju jednej z największych zmian w swojej historii. Google i Mozilla, które razem kontrolują lwią część rynku przeglądarek, zachęcają do przejścia na DNS over HTTPS, lub DoH, w którym żądania DNS są szyfrowane przez ten sam protokół HTTPS, który już chroni większość ruchu w sieci. W implementacji Chrome’a, przeglądarka sprawdza, czy serwery DNS obsługują DoH, a jeśli nie, przekierowuje żądania DNS do 8.8.8.8.8.Google’a.

Jest to ruch nie bez kontrowersji. Paul Vixie, który wykonał wiele z wczesnych prac nad protokołem DNS w latach 80-tych, nazywa ten ruch „katastrofą” dla bezpieczeństwa: korporacyjne IT będzie miało znacznie trudniejszy czas na monitorowanie lub kierowanie ruchem DoH, który przemierza ich sieć, na przykład. Mimo to Chrome jest wszechobecny, a DoH wkrótce zostanie włączone domyślnie, więc zobaczymy, co przyniesie przyszłość.

(Keith Shaw jest byłym starszym redaktorem w Network World i wielokrotnie nagradzanym pisarzem, redaktorem i recenzentem produktów, który pisał dla wielu publikacji i stron internetowych na całym świecie.)

(Josh Fruhlinger jest pisarzem i redaktorem mieszkającym w Los Angeles.)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *