Wprowadzenie do bezpieczeństwa Warstwy 2
Zapory sieciowe (firewall), VPN i szyfrowanie chronią dane na wyższych warstwach podczas transmisji przez internet. Ochrona obejmuje również pierwszy punkt dostępu do sieci lokalnej: fizyczny port przełącznika w biurze, sieć Wi-Fi w kawiarni lub gniazdko Ethernet w akademiku. Ten punkt połączenia jest obsługiwany przez Warstwę Łącza Danych (Warstwa 2).
Bezpieczeństwo Warstwy 2 skupia się na kontrolowaniu, kto może połączyć się z siecią lokalną oraz jakie działania może podjąć po uzyskaniu dostępu. Bez tych środków nieautoryzowany użytkownik może podłączyć się do otwartego portu i rozpocząć dalsze ataki, podsłuchiwać ruch lub zakłócać usługi sieciowe. Kontrola adresów, uwierzytelnianie portów i filtrowanie ruchu pomagają ograniczyć te zagrożenia. Kontrole dostępu nie zastępują szyfrowania zapewnianego przez inne protokoły.
Typowe ataki na Warstwę 2
Podstawowe protokoły Warstwy 2 często nie uwierzytelniają źródła informacji. Ataki mogą zmieniać mapowania adresów, zużywać zasoby przydzielane klientom albo przenosić ruch poza zamierzony segment. Atakujący mogą wykorzystać tę właściwość do przeprowadzenia następujących ataków:
- Podszywanie się pod adres MAC (MAC Spoofing): Atakujący zmienia swojego urządzenia, aby podszyć się pod legalne urządzenie w sieci. Może to ominąć proste kontrole dostępu, a w określonych warunkach ułatwić przechwycenie ruchu przeznaczonego dla podszywanego hosta.
- Zatruwanie ARP (ARP Spoofing): Atakujący wysyła fałszywe komunikaty do sieci. Celem jest powiązanie adresu MAC atakującego z adresem IP innego hosta, na przykład domyślnej bramy (routera). Jeśli sąsiednie urządzenia przyjmą takie mapowanie, mogą wysyłać ruch do atakującego zamiast do legalnego celu, co umożliwia atak typu Man-in-the-Middle (MitM).
- Ataki DHCP Starvation i Spoofing: Atak może przebiegać w dwóch etapach. Najpierw atakujący przeprowadza głodzenie, wysyłając wiele żądań z fałszywymi adresami MAC i zużywając adresy z puli legalnego serwera DHCP. Następnie uruchamia własny serwer DHCP, który może podawać klientom złośliwą bramę domyślną lub serwer DNS i kierować ich ruch przez maszynę atakującego.
- Przeskakiwanie VLAN (VLAN Hopping): Atak, który pozwala użytkownikowi w jednej sieci uzyskać nieautoryzowany dostęp do ruchu w innej sieci VLAN. Częstą przyczyną jest błędna konfiguracja portu trunkowego lub obsługa niepożądanego znakowania ramek.
Port Security na przełączniku
Port Security to funkcja dostępna w wybranych implementacjach przełączników. Ogranicza liczbę dozwolonych adresów MAC na porcie i może odrzucać ramki z nieznanych adresów. Ogranicza to proste przypadki podłączania nieautoryzowanych urządzeń, lecz samo kopiowanie dozwolonego adresu MAC może ominąć taką kontrolę. Funkcja kontroluje adres źródłowy ramki, dlatego nie zastępuje uwierzytelniania użytkownika ani szyfrowania.
Jak Port Security Uczy Się Adresów
Port przełącznika można skonfigurować do uczenia się i zapamiętywania adresów MAC legalnych urządzeń na kilka sposobów:
- Konfiguracja Statyczna: Administrator sieci ręcznie wprowadza adresy MAC dozwolone na danym porcie. Daje to największą kontrolę, lecz jest również najbardziej pracochłonne w zarządzaniu.
- Dynamiczne Uczenie się: Przełącznik dynamicznie uczy się adresu MAC pierwszego urządzenia (lub urządzeń, do skonfigurowanego maksimum), które podłączy się do portu. Adresy te są przechowywane w tablicy adresów MAC, ale są tracone po ponownym uruchomieniu przełącznika.
- Uczenie się „Przyklejone” (Sticky): To podejście hybrydowe. Przełącznik dynamicznie uczy się adresów MAC, a następnie zapisuje je w bieżącej konfiguracji tak, jakby zostały skonfigurowane statycznie. Po zapisaniu konfiguracji daje to wygodę uczenia dynamicznego oraz trwałość wpisów statycznych.
Co Się Dzieje Podczas Naruszenia?
Gdy na port dotrze ramka z nieznanego adresu MAC, a limit dozwolonych adresów został osiągnięty, przełącznik traktuje to jako naruszenie bezpieczeństwa i podejmuje wstępnie skonfigurowaną akcję. Dokładne nazwy trybów oraz sposób raportowania zależą od producenta:
- Wyłączenie (Shutdown, domyślnie w Cisco IOS): Port przechodzi w stan error-disabled i zostaje wyłączony. Implementacja może wysłać alert, na przykład pułapkę SNMP, do stacji zarządzania. Administrator musi ponownie włączyć port po zbadaniu incydentu.
- Ograniczenie (Restrict): Port odrzuca ramki od naruszającego, nieznanego adresu MAC i zwiększa licznik naruszeń. W implementacjach obsługujących tę funkcję może zostać wysłany alert. Port pozostaje aktywny dla dozwolonych urządzeń.
- Ochrona (Protect): Port cicho odrzuca ramki od naruszającego adresu MAC. Nie zwiększa licznika i nie wysyła alertu. Tryb ogranicza sygnalizowanie naruszeń, dlatego utrudnia ich wykrycie.
Kontrola dostępu na podstawie portów IEEE 802.1X
Port Security opiera się na adresie MAC, który można zmienić. IEEE 802.1X definiuje kontrolę dostępu na podstawie portu i używa EAP do uwierzytelnienia suplikanta, reprezentującego użytkownika lub urządzenie, przed przyznaniem dostępu do sieci. Standard wspiera wzajemne uwierzytelnienie stron komunikujących się przez port kontrolowany, zależnie od użytej metody EAP. Opisuje role uczestników, a serwer zaplecza może korzystać z RADIUS do AAA.
Przed autoryzacją portu uwierzytelniacz kontroluje ruch danych i przepuszcza komunikaty potrzebne do wymiany uwierzytelniającej. Decyzję o uwierzytelnieniu i autoryzacji może podjąć serwer zaplecza.
Trzy Role w Architekturze 802.1X
Proces 802.1X angażuje trzy kluczowe role. Każda z nich ma odrębne zadania:
1. Suplikant (Supplicant)
Jest to urządzenie klienckie próbujące uzyskać dostęp do sieci, na przykład laptop lub telefon IP. Uruchamia oprogramowanie, które dostarcza poświadczenia uwierzytelniaczowi.
2. Uwierzytelniacz (Authenticator)
Jest to urządzenie sieciowe egzekwujące politykę dostępu, zazwyczaj przełącznik lub bezprzewodowy punkt dostępowy. Blokuje normalny ruch danych przed autoryzacją portu, lecz przepuszcza komunikaty uwierzytelniające, takie jak EAPOL.
3. Serwer Uwierzytelniający (Authentication Server)
To serwer zaplecza, zazwyczaj , który weryfikuje poświadczenia i podejmuje decyzję o przyznaniu dostępu. Może korzystać z nazw użytkownika, haseł lub certyfikatów zależnie od wdrożonej metody.
Wymiana 802.1X: EAP przez LAN (EAPOL)
Proces komunikacji obejmuje następujące kroki. EAP jest przenoszony między suplikantem i uwierzytelniaczem przez EAPOL, a między uwierzytelniaczem i serwerem zaplecza może być przenoszony w RADIUS.
- Inicjacja: Gdy laptop suplikanta zostaje podłączony do przełącznika pełniącego rolę uwierzytelniacza, port jest w stanie nieautoryzowanym i blokuje normalny ruch. W tym przebiegu suplikant wysyła komunikat „EAPOL-Start”, aby rozpocząć proces.
- Żądanie Tożsamości: Uwierzytelniacz odpowiada pakietem „EAP-Request/Identity”, pytając „Kim jesteś?”.
- Odpowiedź na Tożsamość: Suplikant odpowiada ze swoją tożsamością (np. nazwą użytkownika).
- Przekazanie do RADIUS: Uwierzytelniacz bierze tę tożsamość, pakuje ją w komunikat RADIUS „Access-Request” i przekazuje do Serwera Uwierzytelniającego.
- Wyzwanie (Challenge): Serwer Uwierzytelniający wyszukuje użytkownika i rozpoczyna właściwą metodę uwierzytelniania za pośrednictwem . Może wysłać wyzwanie, zażądać hasła lub rozpocząć weryfikację certyfikatu. Poufność i ochrona tej wymiany zależą od wybranej metody EAP, a Uwierzytelniacz przekazuje komunikaty między stronami.
- Werdykt: Po zakończeniu wymiany EAP, Serwer Uwierzytelniający wysyła ostateczny werdykt z powrotem do Uwierzytelniacza: komunikat RADIUS „Access-Accept” lub „Access-Reject”. Odpowiedź może także zawierać atrybuty autoryzacji, zależnie od konfiguracji serwera.
- Dostęp Przyznany (lub Odrzucony): Jeśli komunikat brzmi „Access-Accept”, Uwierzytelniacz przełącza port w stan autoryzowany, pozwalając na przepływ normalnego ruchu danych. Użytkownik jest teraz w sieci. W przypadku „Access-Reject”, port pozostaje nieautoryzowany.