Bezpieczeństwo serwerów DNS
W dzisiejszym artykule podejmę temat serwerów DNS – dowiesz się czym są słynne DNS-y, jakie są ich zadania i dlaczego owe serwery są tak istotne.
W dalszej części artykułu opiszę na jakie ataki mogą być narażone serwery DNS oraz, co chyba najważniejsze, jak się przed takimi atakami bronić. Zapraszam do lektury!
System nazw domen (Domain Name System – DNS) to ta „część Internetu”, o której typowy użytkownik komputera bardzo rzadko lub w ogóle nie myśli. Wielu pracowników, których codzienne obowiązki zależą od poprawnego działania tego systemu, nawet nie wie, że taki system istnieje, a co najciekawsze, zdarzają się osoby, pracujące w IT, które również nie znają tego terminu.
Jedno jest pewne – bez systemu nazw domen, aby odwiedzić stronę internetową, wysłać e-mail lub uzyskać dostęp do zasobów na innym komputerze, musielibyśmy zapamiętać ogromną liczbę adresów IP w postaci ciągu liczb, co byłoby szalenie niepraktyczne.
Znaczenie DNS-ów
DNS tłumaczy adresy IP zrozumiałe dla komputerów na przyjazne dla użytkownika nazwy. Tak jednym zdaniem można podsumować rolę, którą ten system pełni. Całość brzmi dość prosto, ale za kulisami cały proces jest nieco bardziej skomplikowany i obejmuje różne typy serwerów – rekurencyjne serwery DNS, główne serwery nazw, serwery domen najwyższego poziomu i autorytatywne serwery nazw, które współpracują na samym końcu z komputerem użytkownika i uruchomioną na nim aplikacją (np. przeglądarka internetowa). Rozpoznanie nazwy na adres IP to wieloetapowy proces, który omówię w osobnym artykule.
Wystarczy powiedzieć, że DNS jest usługą o kluczowym znaczeniu, jeśli Twoja organizacja korzysta z Internetu. Gdy osoby atakujące wezmą sobie na celownik serwer DNS, mogą doprowadzić do blokady usług świadczonych w sieci wykorzystując atak DoS lub jego odmianę czyli atak DDoS (o czym za chwilę). Taka blokada usług może zatrzymać komunikację biznesową i osobistą w Internecie. Niestety, sam system DNS jest podatny na wiele różnych rodzajów ataków.
Podobnie jak inne protokoły internetowe opracowane kilkanaście lat temu, zanim bezpieczeństwo stało się priorytetem, DNS nie był z założenia projektowany z myślą o ochronie przed atakującymi. Gdy go tworzono, Internet rozumiany jako sieć był dostępny na znacznie mniejszą skalę niż ten, z którym mamy do czynienia dzisiaj. Dobrym przykładem niech będzie tutaj analogia do małego miasteczka, w którym wszyscy się znają i ufają sobie nawzajem. Wzajemne zaufanie i bezpieczeństwo jest zapewnione dopóty, dopóki miasto nie rozrośnie się i nie pojawią się osoby, które będą chciały nadużyć tego zaufania.
DNS został zaprojektowany do korzystania z protokołu UDP (User Datagram Protocol), który jest szybszy niż protokół TCP (Transmission Control Protocol), ponieważ nie ma tutaj narzutu na nawiązywanie połączenia i śledzenie sesji, sam protokół nie posiada również mechanizmów kontroli przepływu i retransmisji.
Cyberprzestępcy wiedzą, że mogą siać spustoszenie, atakując system nazw domen. Ponieważ coraz więcej firm korzysta z zasobów chmurowych, DNS jest ważniejszy niż kiedykolwiek wcześniej. Awaria serwerów DNS może spowodować, że pracownicy nie będą mogli wykonywać swoich zadań, klienci nie będą mogli dokonywać zakupów ani skontaktować się z personelem wsparcia, a takie sytuacje będą mieć rzeczywisty i bardzo negatywny wpływ na wyniki finansowe firmy i jej reputację.
Uwaga: we wczesnych latach funkcjonowania Internetu wszystkie systemy komputerowe w sieci globalnej i ich adresy IP mogły być wymienione w jednym pliku tekstowym, zwanym plikiem hosts, który był przechowywany na każdym serwerze lub komputerze osobistym. Internet, rozumiany jako sieć urządzeń był wtedy znacznie mniejszy, bardziej kompaktowy. Obecnie istnieje ponad miliard stron internetowych, a prognozy mówią, że do 2022 roku 28,5 miliarda urządzeń będzie podłączonych do Internetu, a liczba użytkowników sięgnie 4,8 miliarda. Co minutę dodawane są nowe nazwy domen. Plik hosts jest dziś używanym, choć na mniejszą skalę, reliktem przeszłości.
Rodzaje ataków DNS
Istnieje wiele różnych sposobów wykorzystania przez atakującego DNS jako wektora ataku. Wiedza o każdym z nich i ich działaniu może pomóc Ci się przed nimi chronić.
Atak DoS (ang. Denial of Service) – odmowa usługi:
Atak polega zwykle na przeciążeniu aplikacji lub serwera serwującego określone dane. Oznacza to w praktyce zalewanie sieci (ang. flooding) nadmiarową ilością danych mających na celu wysycenie dostępnego pasma, którym dysponuje atakowany host. Niemożliwe staje się wówczas osiągnięcie go, mimo że usługi pracujące na nim są gotowe do przyjmowania połączeń. W przypadku ataku DoS na serwer DNS staje się on nieosiągalny dla innych urządzeń.
Odmianą ataku DoS jest DDoS:
Atak DDoS – (ang. Distributed Denial of Service) – rozproszona odmowa usługi:
Atak DDoS jest odmianą ataku DoS polegającą na zaatakowaniu ofiary z wielu miejsc jednocześnie. Do przeprowadzenia ataku służą najczęściej komputery, nad którymi przejęto kontrolę przy użyciu innego oprogramowania (różnego rodzaju boty i trojany). Zainfekowane komputery rozpoczynają jednocześnie atak na system lub serwer ofiary, zasypując go fałszywymi próbami skorzystania z usług, jakie oferuje. Dla każdego takiego wywołania atakowany komputer musi przydzielić pewne zasoby (pamięć, czas procesora, pasmo sieciowe), co przy bardzo dużej liczbie żądań prowadzi do wyczerpania dostępnych zasobów, a w efekcie do przerwy w działaniu.
Nieco innym rodzajem ataku DDoS jest atak polegający na wzmocnieniu DNS, który wykorzystuje sieć botnetów do wysyłania licznych małych zapytań DNS ze sfałszowanymi adresami IP. Zapytania takie skutkują dużą ilością odpowiedzi z serwera. Odpowiedzi jest tak dużo, że sztucznie wzmocniony ruch przytłacza cel. W tym przypadku atakujący nie skupia się na samych serwerach DNS, ofiarą jest urządzenie, którego adres IP został sfałszowany.
Usługi internetowe Amazon zostały poddane atakowi DDoS w październiku 2019 r., kiedy to zostały zalane fałszywymi zapytaniami DNS, które zakłócały legalny ruch do witryn i usług korzystających z AWS.
Zatrucie pamięci podręcznej DNS
Innym rodzajem fałszowania adresów IP związanych z DNS-ami jest przekierowywanie odwiedzających z legalnej strony internetowej na własne strony phishingowe, zaprojektowane tak, aby wyglądały jak prawdziwe, które mogą gromadzić nazwy użytkowników i hasła oraz inne wrażliwe dane. Nazywa się to zatruciem pamięci podręcznej i można to osiągnąć przez wprowadzenie spreparowanych informacji do pamięci podręcznej DNS. Dostawcy usług internetowych i sieci firmowe prowadzą własne serwery DNS buforujące informacje z serwerów DNS wyższego poziomu. Jeśli informacje DNS na serwerze zostaną zatrute, można je następnie zapisać w pamięci podręcznej innych serwerów. Wspomnieliśmy wcześniej, że DNS używa protokołu UDP do szybszych odpowiedzi. Oznacza to brak weryfikacji, czy nadawcy są tymi, za których się podają. Atakujący mogą sfałszować nagłówki danych, a serwer DNS zaakceptuje i zbuforuje dane. Dobrą wiadomością jest to, że zatrucie pamięci podręcznej DNS wymaga, aby atak wysłał sfałszowaną odpowiedź, zanim autorytatywny serwer nazw prześle prawdziwą odpowiedź, a atakujący musi wiedzieć, jakiego portu używa serwer DNS – atak nie jest zatem tak prosty do przeprowadzenia.
Przejęcie serwera DNS
Przejęcie serwera DNS to kolejny sposób, w jaki atakujący osłabiają bezpieczeństwo sieci firmowej. Złośliwe oprogramowanie może być użyte do zmiany konfiguracji komputera, tak aby wskazywał na skompromitowany serwer DNS obsługiwany przez osobę atakującą zamiast na właściwy serwer DNS. Podobnie jak w przypadku zatrucia pamięci podręcznej, skutkiem jest przekierowanie użytkowników na sfałszowane strony internetowe w celu wyłudzenia wrażliwych danych.
Oprócz rozpowszechniania złośliwego oprogramowania w celu wprowadzania zmian w ustawieniach TCP / IP na komputerach klienckich, osoby atakujące mogą wykorzystywać luki w routerach dostępowych, aby zmienić ustawienia serwera DNS, co wpłynie ostatecznie na wszystkie urządzenia łączące się z takim routerem. Co więcej, atakujący może przechwycić komunikację między użytkownikami a serwerami DNS i zmienić docelowy adres IP, aby przekierować użytkownika na złośliwą stronę internetową. Jest to forma ataku typu man-in-the-middle.
Jak chronić się przed atakami DNS i łagodzić ich skutki?
Ochrona przed atakami DNS DDoS polega na ograniczeniu niechcianych odpowiedzi DNS, zablokowaniu tego samego zapytania od klienta, który już otrzymał odpowiedź, wymaganiu od klientów DNS udowodnienia, że ich dane uwierzytelniające nie są sfałszowane, blokowaniu zapytań z lokalizacji geograficznych, w których nie prowadzi się działalności.
Brak weryfikacji w systemie DNS można rozwiązać za pomocą rozszerzeń zabezpieczeń systemu nazw domen (DNSSEC), które umożliwiają uwierzytelnianie danych. DNSSEC został zaprojektowany, aby uniemożliwić aplikacjom (i buforującym programom tłumaczącym, które obsługują aplikacje) używanie fałszywych lub zmanipulowanych informacji DNS dzięki stosowaniu podpisów cyfrowych. DNSSEC istnieje już od późnych lat 90., ale wdrażanie przebiegało powoli i często było wykonywane nieprawidłowo. DNSSEC stopnoiowo staje się standardem operacyjnym dla wielu rejestratorów domen i dostawców usług internetowych. W styczniu 2019 r. ICANN wezwał wszystkie rejestry domen i rejestratorów do pełnego wdrożenia DNSSEC, a także wezwał właścicieli nazw domen do migracji do tych rejestratorów, którzy oferują DNSSEC.
Jeśli Twoja organizacja posiada własne serwery DNS, możesz podjąć szereg kroków:
- Dostęp do serwerów DNS należy ograniczyć i zabezpieczyć za pomocą uwierzytelniania wieloskładnikowego, silnych zabezpieczeń fizycznych i standardowych zabezpieczeń sieci, aby uniemożliwić zdalny dostęp.
- Aktualizowanie serwerów DNS, terminowe stosowanie poprawek zabezpieczeń dla klientów DNS, a także ochrona przed złośliwym oprogramowaniem w celu zapobiegania zmianom ustawień DNS.
- Zamknij wszystkie niepotrzebne programy rozpoznawania nazw DNS w sieci i umieść potrzebne programy tłumaczące za zaporą ogniową.
- Ogranicz transfery stref.
- Wyłącz rekursję DNS.
- Monitoruj serwery nazw pod kątem podejrzanych działań.
Podsumowanie
System nazw domen ma kluczowe znaczenie dla działania Internetu, a atak na serwer DNS może mieć daleko idące konsekwencje. Ważne jest, aby zdawać sobie sprawę z zagrożenia, podjąć prewencyjne kroki, aby zapobiec takim atakom w przyszłości i ostatecznie wiedzieć, jak złagodzić szkody, jeśli atakujący zaatakuje Twoją organizację.