Bezpieczeństwo serwerów DNS - jak można je poprawić?
24.09.2018
Jak się to wszystko zaczęło?
Pod koniec lat 60tych ubiegłego wieku, cztery uniwersytety znajdujące się w Stanach Zjednoczonych stworzyły rozwiązanie, będące przodkiem dzisiejszego Internetu. Rozwiązanie to, zwane ARPANET miało na celu stworzenie sieci komputerowej, działającej w oparciu o lokalizacje odległe, gdzie nie istniał punkt centralny, zaś cała sieć mogła funkcjonować nawet pomimo uszkodzenia jej części. Obok ARPANETu, powstał w późniejszym czasie usenet oraz wiele innych mniejszych sieci, które na przestrzeni czasu były ze sobą niekompatybilne. Z założenia wszystko to miało stworzyć sieć mogącą łączyć ośrodki naukowe, a także inne ważne instytucje.
W latach 70tych stworzono zunifikowany protokół zwany dziś TCP/IP, dzięki któremu możliwe było stopniowe wdrażanie w ówczesnych niekompatybilnych ze sobą sieciach jednolitego protokołu, za pomocą którego porozumiewały się poszczególne urządzenia w sieci. TCP/IP zakładał sieć fizyczną wyłącznie jako medium, a za działanie infrastruktury miały odpowiadać wyłącznie serwery. Od początku lat 80tych stopniowo likwidowano wszystkie pomniejsze sieci poprzez scalanie ich w jeden globalny Internet, który działał w oparciu o TCP/IP. Jednym z problemów, jaki rozwiązywało TCP/IP, było nazewnictwo poszczególnych urządzeń w sieci, ponieważ każde urządzenie znajdujące się w sieci posiadało swój własny adres, zwany adresem IP.
Jak spamiętać adresy IP?
Stosowanie adresów IP składających się z wartości liczbowych było jednak dość uciążliwe, głównie z uwagi na konieczność zapamiętania ciągu liczb, stąd też w 1983 roku powstał tak zwany Domain Name System (DNS), który umożliwiał stosowanie zamiennika zrozumiałego dla człowieka w postaci adresu domeny dla trudnych do zapamiętania adresów IP. Bardzo często dla logicznego wyjaśnienia jak działa DNS używa się porównania do książki telefonicznej – dla urządzeń telekomunikacyjnych wartością zrozumiałą jest numer telefonu, dla człowieka nazwisko osoby – książka telefoniczna będzie zatem swoistym odpowiednikiem serwera DNS.
Powstała w tamtych czasach wersja serwera DNS była jednak dość prosta i wbrew pozorom uciążliwa – korzystanie z DNS wymagało pobrania z serwera ulokowanego w Instytucie Stanforda pliku, który zawierał przypisania nazw domen do poszczególnych adresów IP. W przypadku awarii lub niedostępności tego serwera, pobranie było niemożliwe, w związku z czym cały DNS przestawał działać. Z czasem jednak system unowocześniono, powiększono liczbę serwerów DNS i obecnie praktycznie każdy operator telekomunikacyjny posiada własny serwer DNS.
Co z bezpieczeństwem?
W czasach, gdy powstawał protokół DNS, posiadał on określone zadanie mające na celu ułatwienia i przyspieszenia wymiany informacji w sieci Internet, która wówczas powstawała. Wymiana informacji i komunikacja urządzeń miała być szybka, jak i miała spełniać określone zadania. Bezpieczeństwo sieci nie było wówczas brane pod uwagę, zwłaszcza że w tamtych czasach nikt nie przewidział, że Internet osiągnie globalny sukces i że będzie konieczne wprowadzanie mocnych zasad bezpieczeństwa.
W przypadku protokołu DNS, podstawowym problemem jest brak mechanizmu umożliwiającego potwierdzenie informacji, które są dostarczane do użytkownika przez DNS. W praktyce, włamywacz mógłby przesłać fałszywe informacje do pamięci cache serwera DNS, wprowadzając jednocześnie internautów w błąd i przekierowując ich na fałszywe, podszywające się pod określone strony serwery internetowe. W praktyce niestety może to doprowadzić do wielu uciążliwych konsekwencji – podmianie mogą ulec strony banków, sklepów internetowych, umożliwiając hakerowi kradzież.
Najlepszym rozwiązaniem problemu może być wprowadzenie przez usługodawców rozwiązania DNSSEC, które pozwoli na weryfikację autentyczności i niezmienności danych dla określonej domeny. Wszystko to działa w oparciu o rozwiązania kryptograficzne, które umożliwiają zweryfikowanie tego, czy nie nastąpiły niepożądane zmiany w domenie, dzięki czemu możemy mieć gwarancję, że hakerzy nie dokonają podmiany kluczowych dla nas stron na własne. Rozwiązanie to powinno zostać wdrożone przede wszystkim przez firmy, którym zależy na bezpieczeństwie własnych stron internetowych.