Podkast 21T43 DNS w Wireshark’u [Tego nie wiesz]

Więcej miejsc do posłuchania:

Spotify

WERSJA TEKSTOWA:

Cześć, witam Cię w dzisiejszym odcinku mojego podcastu – temat DNS. Konkretniej, możemy sobie dzisiaj porozmawiać, jaką ważną rolę pełni DNS zarówno w naszej sieci, jeśli jest on firmowy, jak i w sieci publicznej, czyli w Internecie. Pierwsza podstawowa funkcja jest taka, że nam zamienia adresy w postaci zrozumiałej dla człowieka na adresy IP. Może oczywiście również służyć do odwrotnej operacji, czyli do potwierdzania, że dany adres IP jest powiązany z daną nazwą domenową. To jest niewątpliwie podstawowa funkcjonalność.

Co więcej może taki DNS nam dostarczyć? Może nam oczywiście umożliwić pewne balansowanie obciążenia serwerów. Standardowo, jeśli mamy zapytanie o daną nazwę, to dostajemy jeden adres IP, ale możemy dostać kilka zwrotnych adresów IP. Co więcej, możemy dostać adres IPv4 czy grupę takich adresów oraz jednocześnie dla tego zapytania, czy dla drugiego zapytania w stosie IPv6, taką grupę serwerów, które odpowiadają dla adresacji IPv6. Możemy już na tym etapie rozrzucić część ruchu dla różnych klientów, tak, żeby to obciążenie rozłożyć. Głównie się to stosuje do jakiś większych instytucji czy serwisów, które po prostu mają tego ruchu dużo.

Nie jest to jedyny aspekt, jest to podstawowa funkcjonalność, natomiast warto się zastanowić też nad bezpieczeństwem. Skoro jest to system w zasadzie konieczny, ponieważ teoretycznie można oczekiwać, że my, jako administratorzy, będziemy wpisywać sobie adres IP ręcznie i to się nawet robi, czasami, jeśli mamy swoje małe środowisko. Jeśli natomiast mamy szerszą grupę administratorów lub to środowisko jest większe, jak jest publiczne, to już całkowicie trzeba przejść na nazwy domenowe. Wtedy w zasadzie nie ma innej możliwości, trzeba korzystać z serwerów DNS.

Jeśli ktoś chce przeprowadzić atak na serwer DNS – a jest ich cała gama – to jesteśmy jednocześnie narażeni na rożne, nieprzewidziane konsekwencje. Największe ryzyko jest takie, że wydarzy się coś, co przez nas nie było przewidziane a w związku z tym, nie było też zabezpieczone. Więc jeżeli chodzi o całą grupę ataków DNS-owych, to pojawia się pierwsze pytanie – skąd taki klient, wykonując zapytanie DNS-owe, ma wiedzieć, że dostał odpowiedź wiarygodną. Jeśli popatrzymy sobie na typowe zachowanie się serwerów publicznych to w zasadzie nie jesteśmy w stanie tego potwierdzić, dlatego, że nie ma standardowo używanego takiego mechanizmu. Oczywiście został stworzony odpowiedni RFC i można wdrożyć bezpieczny DNS, w tym sensie, że jesteśmy w stanie potwierdzić, że odpytujemy się właściwego DNS-a. Natomiast widziałem też różne przykłady, iż powoduje to nowe możliwości, nowe zagrożenia, których nie będę tu dzisiaj rozwijał, ale jest tak, że jedno naprawiamy a drugie otwieramy jako dodatkową furtkę wykonywania jakiejś gamy ataków.

W wykorzystaniu wewnętrznym zakładamy, że nasza sieć powinna być w miarę bezpieczna. Oczywiście w zależności od tego, jakie dane przechowujemy, przetwarzamy, jak one są krytyczne, jak długo są istotne. W kontekście bezpieczeństwa warto zawsze rozważać czas życia tych danych, czy ich istotność. DNS jest również takim zasobem. Skoro jest dla nas krytycznym elementem, który jeżeli zostanie zatrzymany, to nam nie działa firma – to bez wątpienia wskazanie, iż jest to element krytyczny. Po drugie, może wskazywać błędnie, jeżeli zostanie taki DNS zhakowany, na serwer, komputer lub stacje, obojętnie co tam wskazuje, która jest przygotowana do ataku – do podsłuchania lub zapisania danych. Można użyć różnych wariantów, w każdym razie jest to otwarta furtka, do czegoś dalej.

Zabezpieczanie serwerów DNS to temat rzeka, tak, jak zabezpieczanie wszystkich serwerów, w zależności od tego, co one realizują. Warto mieć na uwadze, że wykorzystanie ich wewnątrz firmy, nawet jeżeli uważamy, że nasze urządzenia są bezpieczne, chociaż to w największym zakresie zależy od tego, czy chociażby mamy takie mechanizmy, jak 802.1x, bo jeśli nie, to możliwość dopięcia się do naszej sieci jest bez porównania dużo łatwiejsza, niż przy uwierzytelnianiu dostępu do sieci. Niezależnie od tego, zawsze może zdarzyć się przypadek, że ktoś złapie malware, prawidłowy użytkownik, prawidłowo może się uwierzytelnić w 802.1x a i tak będzie miał atak, posiadając taką stację przesiadkową w postaci naszego pracownika czy laptopa pracownika, będzie miał możliwość atakowania np serwera DNS. Teraz jeśli chcemy, możemy wybierać z całej gamy rozwiązań zabezpieczających serwery DNS i w zależności od naszej potrzeby wydawać więcej lub mniej środków na ten cel.

Jeśli chodzi o odpytywanie w IPv6 to też jest ciekawy temat. Jeżeli danych serwer DNS już działa, w kontekście podwójnego stosu IP, to zapytanie, które wysyłamy np nslookup-em będzie generowało tak naprawdę dwa zapytania pod spodem – jedno w IPv4 i drugie w IPv6. Jeśli chciałbyś zobaczyć szczegóły takiego zapytania, to możesz zobaczyć poniedziałkowy odcinek, gdzie pokazuje taki przykład w Wireshark-u oraz analizę parametrów, które widać na poziomie poszczególnego pakietu. Dzięki temu możesz zobaczyć, że są tam również zapytania IPv6 i IPv4, chociaż – tu jest oczywiście jedno „ale” – w zależności od tego czy to zapytanie wspiera dany serwer. W każdym razie host wysyła takie odpytanie.

To wszystko w tym odcinku. Jeżeli jesteś ciekaw, zajrzyj na mojego bloga. Publikacja będzie również w mediach społecznościowych oraz na YouTube. W przypadku pytań, pisz śmiało w komentarzu. Dziękuję Ci za czas i do usłyszenia już za tydzień.


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *