Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Jest nim wprowadzenie czytelników w tę tematykę, omówienie podstawowych zagadnień i dostarczenie wiedzy stanowiącej bazę do dalszej lektury. Tylko na temat konfiguracji serwerów RADIUS napisano wiele książek i nie zamierzam tu zajmować się ich streszczeniem.
Omówiłem już mechanizmy bezpieczeństwa standardu 802.11i – WPA/WPA2. Standard 802.11i realizuje uwierzytelnianie przy pomocy standardu 802.1X i protokołu EAP, ale dopiero WPA/WPA2-Enterprise pokazuje spektrum możliwości, jakie udostępnia nam ta technologia:
są najważniejszymi cechami WPA/WPA2-Enterprise.
WPA/WPA2-Personal wykorzystywał 802.1X i EAP w jednym z najprostszych wariantów, używając współdzielonego klucza (metody EAP-PSK). W obu wariantach stosowane są te same algorytmy szyfrowania transmisji, takie jak TKIP czy CCMP oraz mechanizmy zarządzania kluczami, taki jak 4-way handshake.
Kilka podstawowych informacji dotyczących 802.1X zostało już wstępnie przedstawionych w poprzedniej części cyklu, dotyczącej standardu 802.11i. W tej sekcji przyjrzymy się szczegółom. Chociaż standard 802.1X jest obecny w obu wersjach WPA/WPA2 (Personal oraz Enterprise), to dopiero wersja Enterpriste pozwala na użycie go w pełnym zakresie. Najważniejsze cechy, które nie są dostępne w wersji Personal, to:
Standard 802.1X określa mechanizm uwierzytelniania, metody kryptograficznej obsługi kluczy szyfrujących i zarządzania użytkownikami w ramach danej sieci. 802.1X bazuje na protokole EAP (Extensible Authentication Protocol) zdefiniowanym w RFC 3748. Jak już wspomniałem w poprzedniej części cyklu, EAP stanowi tylko “framework”, a jego implementacja wymaga wybrania i użycia konkretnej metody uwierzytelniania. Zastosowanie 802.1X nie jest ograniczone tylko do sieci bezprzewodowych – protokół ten może być także stosowany do autoryzacji dostępu do sieci przewodowych czy usług sieciowych. Jest to możliwe ponieważ 802.1X definiuje metody opakowania komunikacji EAP w sposób odpowiedni dla danego środowiska. Zastosowanie EAP w środowisku Ethernet LAN określane jest jako EAPOL (EAP over LAN) i tym wariantem będziemy zajmować się w kontekście WPA/WPA2-Enterprise.
W ramach infrastruktury działającej z wykorzystaniem 802.1X można zdefiniować następujące urządzenia:
W dużym uproszczeniu przepływ danych jest następujący:
W praktyce w przypadku rozbudowanych sieci duża liczba AP jest podłączana do tzw. kontrolerów, które pełnią wówczas rolę urządzenia dostępowego, a AP są tylko interfejsami. W tym wypadku rolę urządzenia dostępowego pełni kontroler obsługujący jednocześnie wiele AP.
Protokół EAP został szczegółowo zdefiniowany w dokumencie RFC 3748 jako mechanizm uwierzytelniania o ogólnym charakterze. Zatem definiuje oraz wspiera różne metody uwierzytelniania, bez konieczności wstępnej negocjacji stosowanej metody. EAP definiuje jak mają być wymieniane komunikaty pomiędzy zaangażowanymi stronami. Standardowo działa w warstwie łącza danych, w związku z czym nie wymaga adresacji IP. Bardzo często EAP jest też stosowany w sieciach bazujących na DHCP i w tym przypadku urządzenie nie ma możliwości pobrania adresu, dopóki nie zostanie uwierzytelnione.
EAP nie definiuje szczegółowych zasad bezpieczeństwa oraz sposobu realizacji procesów uwierzytelnienia – ich bezpieczeństwo jest bezpośrednio zależne od wybranej metody uwierzytelniania. Serwer uwierzytelniający decyduje o akceptowanych metodach, a urządzenie dostępowe zajmuje się tylko ich opakowywaniem.
Protokół EAP posiada wbudowane mechanizmy pozwalające na eliminację pojawiających się duplikatów pakietów i ponowną retransmisję zagubionych pakietów. Za retransmisję pakietów odpowiedzialny jest serwer uwierzytelniający, natomiast suplikant musi zajmować się eliminacją duplikatów pakietów.
Aktualnie istnieje ok. 40 różnych metod uwierzytelniania wraz z wieloma własnościowymi metodami producentów.
Do podstawowych i najpopularniejszych (za wyjątkiem MD5) metod uwierzytelniania, które wspiera EAP, należą:
Nowszymi i jeszcze stosunkowo mało rozpowszechnionymi metodami są:
Omówimy teraz krótko cechy charakterystyczne powyższych metod.
Wprowadzona jako pierwsza, najprostsza i najszybsza metoda EAP, dająca minimalny poziom zabezpieczenia. Uwierzytelnianie następuje z wykorzystaniem nazwy użytkownika oraz hasła. Klient jest uwierzytelniany przez przesłanie niezaszyfrowanego loginu oraz hashu md5 z hasła oraz tzw. “challenge” otrzymanego od serwera.
EAP-TLS, uznawane za jedną z najbezpieczniejszych metod EAP, jest wspierane przez wszystkich dostawców sprzętu. Do 2005 roku była to jedyna metoda wymagana do uzyskania certyfikacji WPA przyznawanej przez Wi-Fi Aliance. EAP-TLS realizuje obustronnie uwierzytelnienie tożsamości: zarówno suplikanta, jak i serwera, wykorzystując infrastrukturę klucza publicznego (PKI, Public Key Infrastructure). Obie strony muszą posiadać poprawne certyfikaty X.509, a użytkownik nie stosuje hasła.
Metoda EAP-TTLS jest oparta na EAP-TLS i oferuje podobny poziom bezpieczeństwa, lecz nie wymaga od użytkownika posiadania certyfikatu X.509. Infrastruktura PKI jest używana tylko do uwierzytelnienia serwera, a klienta uwierzytelnia się tradycyjną metodą, podając login i hasło. Takie rozwiązanie znacząco zmniejsza poziom skomplikowania przy implementacji. Po uwierzytelnieniu serwera, pomiędzy suplikantem, a serwerem zestawiany jest bezpieczny tunel TLS, w którym dopiero przekazywane są dane uwierzytelniające, takie jak login i hasło. W tunelu nie ma potrzeby stosowanie dodatkowych metod ochrony danych użytkownika. Uwierzytelnianie odbywa się otwartym tekstem, ponieważ ochronę przed posłuchaniem zapewnia tunel TLS.
Ta metoda jest bardzo podobna w działaniu do EAP-TTLS i została zaproponowana jako jej alternatywa. Jest często stosowania w środowiskach opartych na infrastrukturze Microsoftu. Analogicznie jak w EAP-TTLS dane uwierzytelniające chronione są przez zastosowanie tunelu TLS. Metoda jest dość rozpowszechniona i szeroko implementowana, będąc drugą najpopularniejszą po EAP-TLS.
Możliwe są dwa podtypy PEAP:
PEAPv0/EAP-MSCHAPv2, popularnie zwana PEAP-em (większość użytkowników
nie zdaje sobie sprawy, że istnieją dwie odmiany PEAP-a). Określenie PEAPv0 dotyczy metody związanej z tożsamością zewnętrzną, natomiast metoda EAP-MSCHAPv2 wiąże się z tożsamością wewnętrzną (obie tożsamości zostaną szczegółowo omówione w części poświęconej protokołowi RADIUS). Niektórzy producenci sprzętu dopuszczają zamiast MSCHAPv2 metodę EAP-SIM (EAP for GSM Subscriber Identity).
PEAPv1/EAP-GTC (Generic Token Card) to standard zdefiniowany przez CISCO. Protokół ten przenosi tzw. wezwanie w postaci tekstu wygenerowanego przez serwer uwierzytelniania oraz odpowiedź powstającą na podstawie tzw. tokenu bezpieczeństwa.
Ta metoda została zaprojektowana jako zastępstwo dla EAP-LEAP, której bezpieczeństwo okazało się niewystarczające. Jest bardzo podobna do EAP-TTLS z tą różnicą, że pozwala na zapisanie stanu bezpieczeństwa tunelu TLS w celu późniejszego odtworzenia. Przygotowaniem do odtworzenia stanu jest dystrybucja plików PAC (Protected Access Credentials). Takie pliki muszą być przygotowane indywidualnie dla użytkownika i ich dystrybucja jest jednym z głównych problemów EAP-FAST.
Wszystkie opisane powyżej metody (za wyjątkiem MD5) wymagają zastosowania technik kryptografii wykorzystujących PKI oraz wymagają zestawienia bezpiecznego tunelu. Bezpieczeństwo tunelu jest najważniejszym elementem zapewniającym poufność transmisji.
W EAP-PWD nie ma tunelu, lecz w zamian za to stosuje się złożone metody kryptograficzne i komunikację hasło–odzew. Obie strony muszą mieć dostęp do identycznego tokena uwierzytelniającego (np. hasła w postaci niezaszyfrowanej lub zaszyfrowanej jakąś typową metodą skrótu).
W czasie komunikacji żadna ze stron nie ujawnia informacji pozwalającej na odtworzenie tokena, ale to, co przekazuje, wystarcza na potwierdzenie, że dysponuje tym samym tokenem, co strona przeciwna.
Standard 802.11i implementuje tzw. 4-way-handshake, w ramach którego wymieniane są odpowiednie dane kryptograficzne niezbędne, wraz z kluczem PMK, do zapewnienia silnej ochrony przed podsłuchaniem transmisji. Jak już wspominałem w poprzedniej części, w przypadku WPA/WPA2-Personal, klucz PMK jest tworzony z wykorzystaniem PSK. Niezmienność i współdzielenie PSK stanowią właśnie największą wadę WPA/WPA2-Personal. W przypadku wersji Enterprise klucz PMK jest ustawiany dynamicznie przez serwer Radius w ramach sesji EAP i przesyłany do suplikanta oraz AP. Dzięki temu za każdym razem stosowany jest inny, odpowiednio silny klucz oraz istnieje możliwość zmiany klucza w czasie trwania sesji. Klucz jest także przesyłany do klienta w bezpieczny sposób, uniemożliwiając podsłuchiwanie.
Przedstawiony powyżej opis jednoznacznie pokazuje, że standard 802.1X daje możliwość wyeliminowania wielu zagrożeń w sieciach komputerowych. Dużo zależy od wyboru odpowiednich metod uwierzytelniania EAP.
Potencjalne zagrożenia, na które może być narażona infrastruktura WPA/WPA2-Enterprise, to:
Metody takie jak EAP-TLS, EAP-TTLS czy EAP-PEAP są odpowiednio rozpowszechnione i bezpieczne dzięki zastosowaniu tuneli TLS.
Różnorodność metod EAP wynika z potrzeby wsparcia dla wielu systemów realizujących zadanie uwierzytelniania w różny sposób oraz z wykorzystaniem przeróżnych bazy danych. Okazuje się, że nie ma możliwości zastosowania niektórych metod z pewnymi systemami, np. ze względu na niezgodność formatów baz danych.
Na szczęście dla większości rozwiązań można dobrać odpowiednio bezpieczną metodę EAP.
–Adam Smutnicki
Bezpieczeństwo sieci Wi-Fi – część 1 (wstęp)
Bezpieczeństwo sieci Wi-Fi – część 2. (wprowadzenie do nasłuchiwania ruchu)
Bezpieczeństwo sieci Wi-Fi – część 3. (WEP)
Bezpieczeństwo sieci Wi-Fi – część 4. (Standard 802.11i czyli WPA i WPA2)
Bezpieczeństwo sieci Wi-Fi – część 5. (testowanie WPA i WPA2)
Bezpieczeństwo sieci Wi-Fi – część 6. (bezpieczeństwo WPS)
Bezpieczeństwo sieci Wi-Fi – część 8. (WPA/WPA2-Enterprise: RADIUS)
Świetny wpis dla kogoś kto nie miał wcześniej do czynienia z WPA-Enterprise, przystępnie napisane różnice między LEAP, TLS, TTLS, MD5 itd. Wielkie dzięki!
Popieram.
Genialny autor. Jasność przyjazność tekstu. Nawet dla laika jak ja.
Serdecznie pozdrawiam,
X.
świetny artykuł. Bardzo rzeczowy i treściwy . Dla osoby która dopiero zaczyna konfigurację lub lekturę tych metod jest to bardzo dobre kompendium wiedzy w pigułce, które w prostych słowach wyjaśnia najważniejsze różnice w funkcjonowaniu uwierzytelniania wpa enterprise
Dawno nie widziałem tak dobrego tekstu!
Świetny artykuł! Dzięki waszym artykułom zabezpieczyłem swoją sieć WiFi za pomocą WPA2 Enterprise z wykorzystaniem serwera RADIUS! Chociaż fajnie napisane wszystko wytłumaczone, i tak udało mi się zabezpieczyć swoją sieć :)