czwartek, 20 lutego 2020

DHCP Snooping, czyli ujarzmianie serwerów DHCP

Trochę "tego i owego" tytułem wstępu :)

DHCP Snooping to termin pod którym kryje się kilka technik mających zabezpieczać komunikację z serwerami DHCP.

Dzisiaj wyjaśnię jedną z nich, która pozwoli uchronić sieć lokalną przed omyłkowym, czy też celowym wpięciem do niej innego serwera DHCP.

Takie przypadkowe wpięcie obcego serwera DHCP jest dość łatwym zadaniem do wykrycia, ponieważ klienci otrzymują na ogół inną adresację i cała sieć zaczyna się "sypać".

Gorzej sytuacja wygląda, kiedy mamy do czynienia nie z przypadkowym, ale celowym wykorzystaniem obcego serwera DHCP. To już można nazwać atakiem.

Jak może on wyglądać?


Fałszywy serwer DHCP może dystrybuować prawidłowe adresy IP, ale ze zmienioną opcją nr 3 odpowiadającą za wskazanie klientom na bramy / routera. Zmieniona opcja będzie wskazywać na podstawione przez atakującego urządzenie. Z kolei podstawione urządzenie będzie puszczać ruch dalej, ale dokonując w międzyczasie logowania wszystkiego co przez nie przechodzi.

Tego typu atak jest o tyle niebezpieczny, że może być nie do wykrycia przed dłuższy czas.

Innym rodzajem ataku jest siłowe działanie ukierunkowanie na zakłócenie prawidłowego działania sieci. Taki typowy wandalizm mający za zadanie przydzielać klientom adresy z innej podsieci, bądź z błędnymi opcjami DHCP.

Powyżej są tylko dwa przykłady niecnego wykorzystania obcego serwera DHCP. Pewnie można wymyślić jeszcze kilkanaście zastosowań, ale nie to jest przedmiotem tego wpisu.

Niżej przedstawione screeny pochodzą z urządzenia TP-Link TL-SG3210

No to jak się w końcu zabezpieczyć przed powyższymi przykładami?

Wystarczą tutaj 2 kroki :)

  1. Na przełączniku zarządzalnym znaleźć opcję DHCP Snooping i ją włączyć.
  2. Port w przełączniku do którego wpięty jest prawidłowy serwer DHCP oznaczyć jako zaufany. 
Obydwie powyższe rzeczy oznaczyłem czerwoną ramką na screenie poniżej. 

Zaznaczone dwie opcje odpowiedzialne za włączenie opcji DHCP Snooping i ustawienie portu nr 1 jako zaufanego
Zaznaczone dwie opcje odpowiedzialne za włączenie opcji DHCP Snooping i ustawienie portu nr 1 jako zaufanego

Jakby coś jednak było niejasne, to w kolumnie Trusted Port, tabelki Port Config, tylko port nr 1 ma ustawioną wartość Enable. To oznacza, że serwer DHCP wpięty tylko do tego portu będzie działał poprawnie.

Widać to na screenie poniżej, gdzie przedstawiono ruch sieciowy widoczny z poziomu komputera klienckiego złapany przy użyciu Wiresharka.

Zieloną ramką zaznaczono prawidłowy ruch klienta i serwera, czyli ramkę DHCP Request i DHCP ACK. 

Zielona ramka: prawidłowa komunikacja pomiędzy klientem i serwerem DHCP; czerwona ramka: żądania klienta, bez odpowiedzi ze strony serwera.
Zielona ramka: prawidłowa komunikacja pomiędzy klientem i serwerem DHCP; czerwona ramka: żądania klienta, bez odpowiedzi ze strony serwera.

Czerwoną ramką oznaczona została komunikacja, gdzie klient wysyłał żądania DHCP  Request aż cztery razy, ale serwer nie odpowiedział ani razu. Stało się tak dlatego, że kabel sieciowy z serwerem DHCP został przepięty do portu w przełączniku, który nie był oznaczony jako zaufany. Dlatego też przełącznik blokował jego komunikację z klientami.

Tym samym udało nam się potwierdzić, że serwer DHCP wpięty do portu innego niż zaufany, będzie blokowany.

I o to nam chodziło - dziesięć sekund konfiguracji może zapobiec kilku / kilkudziesięciu minutom stresu w przyszłości :)

2 komentarze:

  1. A przy rozleglej sieci, gdzie są kolejne switche, co w nich ustawić?

    OdpowiedzUsuń
    Odpowiedzi
    1. Spróbuj trunki pomiędzy switchami ustawić jako zaufane.

      Usuń

Bardzo proszę o zachowanie netykiety.