Daniel Lenkiewicz
Bartłomiej Nowak
Bartosz Próchniak
Mariusz Redwanz
STANDARD IEEE 802.1X - laboratorium
IEEE 802.1X jest standardem kontroli dostępu do sieci przewodowych i bezprzewodowych.
Standard ten zapewnia mechanizm uwierzytelniania urządzeń w momencie podłączenia się do sieci
LAN lub WLAN.
IEEE 802.1X zabezpiecza warstwę graniczną sieci poprzez wymuszanie
uwierzytelnienia i autoryzacji na poziomie fizycznego punktu przyłączenia przewodu sieciowego
(np. na przełączniku sieciowym). Pomaga w ten sposób uniknąć podłączeń nieznanych hostów do
sieci intranetowej. Alternatywnie IEEE 802.1X może zostać tak skonfigurowany, aby umożliwiać
nierozpoznanym klientom dostęp jedynie do specjalnie wydzielonej podsieci wirtualnej (VLAN).
Podsieć taka może zostać przystosowana specjalnie na potrzeby komputerów-gości.
Środowisko IEEE 802.1X określa się za pomocą trzech elementów:
- klienta (suplikanta),
- urządzenia granicznego,
- serwera uwierzytelniającego.
Klientem jest urządzenie próbujące uzyskać dostęp do sieci przyłączonej do urządzenia granicznego.
Urządzeniem granicznym jest przełącznik lub punkt dostępowy, który wymusza uwierzytelnienie
klienta przed udzieleniem dostępu do sieci. W większości przypadków urządzenie graniczne nie
dokonuje jednoznacznego uwierzytelniania, a jedynie przekazuje dane klienta wraz z pozostałymi
informacjami o połączeniu do serwera uwierzytelniającego. Serwer uwierzytelniający dokonuje
uwierzytelnienia i autoryzacji klienta w imieniu urządzenia granicznego. W chwili otrzymania
informacji o próbie połączenia, serwer dokonuje ewaluacji jego danych oraz sprawdza uprawnienia
dostępu. Następnie informacja o wyniku autoryzacji jest zwracana do urządzenia granicznego, które
zezwala bądź nie zezwala na dostęp do sieci (ewentualnie kieruje klienta do podsieci wirtualnej). Pod
pojęciem serwera uwierzytelniającego można rozumieć:
a. Komponent przełącznika/punktu dostępowego
W tym wypadku przełącznik/punkt dostępowy musi zostać skonfigurowany do współpracy z
klientami, w szczególności muszą zostać określone dane logowania i uprawnienia dostępu. Z
reguły nie korzysta się z możliwości połączenia roli urządzenia granicznego i serwera
uwierzytelniającego, gdyż takie zarządzanie zabezpieczeniami jest skomplikowane, a samo
rozwiązanie mało skalowalne.
b. Dedykowany komputer w sieci
W tym wypadku przełącznik przekazuje dane logowania i informacje o połączeniu do serwera
uwierzytelniającego.
klient (suplikant)
urządzenie
graniczne
serwer
uwierzytelniający
zabezpieczona
sieć
Rysunek 1 Środowisko IEEE 802.1X.
Gdy nowy klient próbuje podłączyć się do sieci, cały ruch od tego urządzenia blokowany jest
przez urządzenie graniczne, za wyjątkiem ruchu uwierzytelniającego. Następnie wysyłane jest do
podłączającego się żądanie identyfikacji. Dalsza wymiana informacji zależy od zastosowanych
protokołów i metod uwierzytelniania. Urządzenie graniczne komunikuje się z serwerem
uwierzytelniania, który decyduje, czy podłączające się urządzenie można dopuścić do sieci. Jeżeli
proces przebiegnie poprawnie urządzenie graniczne odblokowuje ruch od nowego urządzenia do
sieci, a także (w przypadku niektórych protokołów uwierzytelniania) może przekazać mu dodatkowe
informacje otrzymane od serwera uwierzytelniania, na przykład klucze szyfrujące pozwalające na
zabezpieczenie przesyłanego ruchu, czy opcje konfiguracyjne. Jeśli nowe urządzenie zostanie
odrzucone przez serwer uwierzytelniania, urządzenie graniczne wymusza jego całkowite odłączenie
od sieci.
Protokół 802.1X jest protokołem transportowym, pozwalającym na wymianę informacji
pomiędzy suplikantem i urządzeniem granicznym. Protokół 802.1X pracuje w warstwie drugiej
modelu ISO-OSI (łącza danych), tak więc bez poprawnego uwierzytelnienia, niemożliwe jest
skorzystanie z jakichkolwiek usług sieciowych, czy też (celowe lub przypadkowe) zakłócenie ich pracy.
Blokada dostępu w tak niskiej warstwie pozwala na osiągnięcie bardzo wysokiego poziomu
bezpieczeństwa: urządzenia graniczne są w stanie separować wszystkie warstwy od drugiej włącznie,
a warstwa pierwsza (fizyczna) jest rozdzielana w przypadku praktycznie każdego z urządzeń
sieciowych (za wyjątkiem rzadko już spotykanych koncentratorów sieciowych, pracujących w
warstwie fizycznej).
Warstwa aplikacji
Warstwa transportowa
Warstwa sieciowa
Warstwa łącza danych
Warstwa łącza danych
Warstwa fizyczna
Warstwa fizyczna
Rysunek 2 Separacja dwóch segmentów sieci z użyciem urządzenia granicznego.
Protokół 802.1X okazał się na tyle niezawodny i elastyczny, że w chwili obecnej może być
stosowany praktycznie we wszystkich najpopularniejszych rodzajach sieci dostępowych:
- łączach pętli abonenckiej opartych na protokole PPP (np. PPP, PPP over Ethernet, PPP over ATM),
- serwerach VPN,
- sieciach lokalnych typu Ethernet,
- sieciach bezprzewodowych typu WLAN.
Pozwala on zatem na stworzenie jednolitej struktury mechanizmów uwierzytelniania w złożonej sieci
komputerowej, obejmującej zarówno klasyczne sieci LAN, sieci bezprzewodowe WLAN, łącza VPN czy
dostępowe łącza abonenckie.
Przełącznik
(urządzenie graniczne)
Przełącznik Ethernet
Serwer uwierzytelniający
Punkt dostępowy
(urządzenie graniczne)
Klient
(suplikant)
Klient
(suplikant)
sieć
zabezpieczona
Rysunek 3 Przykład wspólnego dla sieci przewodowej i bezprzewodowej systemu uwierzytelniania.
Inną cechą, która decyduje o sukcesie protokołu 802.1X, jest fakt, iż jest to protokół
transportowy, pozwalający na użycie wielu protokołów uwierzytelniania, które z kolei mogą
wykorzystywać całą gamę metod uwierzytelniania. Protokół 802.1X zapewnia przenoszenie
wiadomości generowanych przez te protokoły i metody, dając podstawy do stworzenia bardzo
elastycznego i możliwego do praktycznie dowolnej rozbudowy systemu bezpieczeństwa.
Jak wspomniano przed chwilą, protokół 802.1X pozwala na zastosowanie całej gamy
protokołów i metod uwierzytelniania. Najpopularniejszym stosowanym protokołem uwierzytelniania
jest, w chwili obecnej, Extensible Authentication Protocol (EAP). Stanowi on platformę, która
umożliwia obu stronom procesu uwierzytelniania na wymianę wiadomości oraz zawiera mechanizmy
pozwalające obu stronom procesu uwierzytelniania na dokonanie wyboru najlepszego,
obsługiwanego przez obie strony, sposobu uwierzytelniania.
Poniżej przedstawiony został podstawowy format ramki EAP.
Kod
Identyfikator
Długość
Dane
1
1
2
zmienna długość
Rysunek 4 Podstawowy format ramki EAP.
Kod jest polem jednobajtowym i identyfikuje typ pakietu EAP. Kod 1 oznacza ramkę Request, 2 –
Response, 3 – Success, natomiast 4 – Failure. Kolejnym, również jednobajtowym, jest identyfikator,
który służy do dopasowania odpowiedzi do żądania. Pole długości ma dwa bajty i określa rozmiar
pakietu w bajtach. Pole danych może mieć 0 lub więcej bajtów. Format danych zależy od pola kodu.
Komunikacja w protokole EAP jest wymianą pakietów Request/Response, aż do momentu odebrania
pakietu Success lub Failure.
Protokół EAP przenoszony z użyciem protokołu 802.1X nazywany jest często EAP over LAN
(EAPoL), jako że jego komunikaty przenoszone są bezpośrednio przez warstwę drugą sieci – bez
użycia dodatkowych protokołów sieciowych (warstwa trzecia) czy transportowych (warstwa czwarta),
takich jak IP, UDP czy TCP.
Należy pamiętać, że 802.1X, a zatem i EAPoL, stosowany jest pomiędzy suplikantem, a urządzeniem
granicznym. Komunikacja pomiędzy urządzeniem granicznym a serwerem uwierzytelniania odbywa
się już z pomocą protokołu RADIUS (a w przypadku stosowania protokołu EAP – EAP over RADIUS),
opartego na protokole UDP.
Metody uwierzytelniania
Protokoły uwierzytelniania
802.1x
RADIUS
UDP
IP
802.3/802.11/...
802.3/...
Urządzenie graniczne
Urządzenie graniczne
Klient (suplikant)
Klient (suplikant)
Serwer uwierzytelniający
Serwer uwierzytelniający
802.1x
RADIUS
Rysunek 5 Model warstwowy protokołów uwierzytelniania na odcinkach suplikant - urządzenie graniczne i urządzenie
graniczne - serwer uwierzytelniający.
Metod uwierzytelniania, czyli mechanizmy które są w stanie potwierdzić tożsamość
użytkownika różnymi sposobami, wykorzystywane razem z protokołem EAP można podzielić na trzy
grupy:
a. metody z kluczem symetrycznym - klient i serwer uwierzytelniający zestawiają pomiędzy sobą
zaufane połączenie poprzez udowodnienie znajomości sekretnego klucza przez jedną i drugą
stronę. Metody z kluczem symetrycznym mają tą zaletę, że nie wymagają dużej złożoności
obliczeniowej. Natomiast wadą jest to, że większość użytkowników wybiera słabe hasła a przez to
metoda ta jest podatna na ataki słownikowe.
- MD5 - jest najbardziej popularną metodą, która daje podstawowe zabezpieczenie.
Wykorzystywany jest tu jednostronny algorytm hash'ujący w połączeniu z sekretnym kluczem i
zadaniem, którego rozwiązanie potwierdza znajomość klucza przez klienta. W momencie, gdy
hacker podsłucha zadanie oraz jego zahash'owaną odpowiedź, może w łatwy sposób uzyskać
sekretny klucz poprzez wrzucanie wyrazów ze słownika aż uzyska tą samą odpowiedź. Hacker
znając hasło klienta może w prosty sposób podszyć się pod klienta. Ponadto poprzez
jednostronne uwierzytelnianie i słabość algorytmu, MD5 jest podatny na ataki typu Man-in-the-
Middle - hacker może podszyć się pod punkt dostępowy i przejąć sesje klienta.
- LEAP (Lightweight EAP) – został zaprojektowany przez Cisco dla sieci bezprzewodowych. W
przeciwieństwie do MD5, LEAP używa dwustronnego uwierzytelnienia, co pozwala wyeliminować
ataki Man-in-the-Middle. Szyfruje on dane używając dynamicznie zmieniającego się kluczy WEP.
W LEAP klucze sesyjne są unikatowe dla każdego klienta. Niestety LEAP jest podatny analogicznie
do MD5 na ataki słownikowe.
b. metody z kluczem publicznym - do zaszyfrowania wiadomości używany jest klucz publiczny
natomiast do jego odszyfrowania służy wyłącznie klucz prywatny. By dowieść o prawidłowości
klienckiego klucza publicznego, serwer uwierzytelniający musi zestawić zaufane połączenie w
oparciu o autoryzowane certyfikaty CA.
- TLS (Transport Layer Security) - całkowicie odporny na łamanie haseł, ze względu na to, że nie
jest od nich zależny. TLS oparty jest na dwustronnego uwierzytelniania bazującym na
certyfikatach X.509, co pozwala wyeliminować ataki Man-in-the-Middle. Ponadto dynamicznie
generuje i odpowiednio rozprowadza pomiędzy klientami odpowiednio klucze publiczne i
prywatne służące do zabezpieczenia połączenia. Jedyną wadą TLS jest, że wymaga się od dwóch
stron ważnych certyfikatów, co powoduje rudności administracyjne.
c. metody z tunelowaniem - główną zaletą tunelów jest to, że realizują ochronę tożsamości.
Używanie tunelów i metod tunelowych pozwala na ukrycie tożsamości klienta. Ze względu na to,
że w pierwszej fazie jest zestawiany tunel a dopiero w drugiej następuje faktyczne
uwierzytelnianie, metody te są tak samo bezpieczne jak TLS.
- TTLS (Tunneled TLS) - jest rozwinięciem TLS. Proces uwierzytelniania przebiega tutaj w dwóch
fazach. W pierwszej serwer wstępnie uwierzytelnia klienta na podstawie certyfikatów X.509.
Jednak w tym przypadku wymagany jest wyłącznie certyfikat serwera. Po wymianie certyfikatów
zestawiany jest szyfrowany tunel. W fazie drugiej przesyłane są już przez tunel dane potrzebne
do uwierzytelnienia.
- PEAP (Protected EAP) – metoda o bardzo podobnej funkcjonalności do TTLS. Został
zaproponowany przez firmy Microsoft, CISCO oraz RSA Security jako alternatywa TTLS. Mimo że
standard powstał już po ukazaniu się TTLS, zyskał dużą popularność i jest szeroko
implementowany, oczywiście również w systemach Microsoft Windows. Jedyną różnicą
pomiędzy TTLS a PEAP jest to, że PEAP w drugie fazie może wyłącznie z metod EAP, natomiast
TTLS może korzystać z innej metody uwierzytelniania.
PPP
802.11
802.3
802.1X
EAP
MD5
TLS
TTLS
PEAP
MS-
CHAPv2
P
A
P
C
H
A
P
E
A
P
EAP
Rysunek 6 Przykładowe metody uwierzytelniania dostępne z użyciem protokołu EAPoL.
Tabela 1 Właściwości wybranych metod uwierzytelniania dostępnych z użyciem protokołu EAP.
Metoda
Typ poświadczenia
Uwierzytelnianie
Zalety
Wady
EAP/MD5 - ustalone hasła
Rozwiązanie zadania,
potwierdzające
znajomość klucza
- łatwy w
implementacji i
wdrożeniu
- dobrze wspierany
- słaby mechanizm
uwierzytelniania
- nie zapewnia
dwustronnego
uwierzytelniania
LEAP
- ustalone hasła
Opiera się na
protokole
uwierzytelniania MS-
CHAP i MS-CHAPv2
- łatwy w
implementacji i
wdrożeniu
- zapewnia
dwustronne
uwierzytelnianie
- wspiera
dynamiczne
generowanie kluczy
WEP
- standard
zastrzeżony
- słaby mechanizm
uwierzytelniania,
jeśli hasło jest źle
wybrane
EAP/TLS
- certyfikaty
Dwustronne
uwierzytelnianie
certyfikatów
- silny mechanizm
uwierzytelniania
- zapewnia
dwustronne
uwierzytelnianie
- wspiera
dynamiczne
generowanie kluczy
WEP
- trudny w
implementacji i
wdrożeniu
- wymaga
infrastruktury
klucza publicznego
- wymaga ważnych
certyfikatów od
klienta i serwera
EAP/TTLS - ustalone hasła
- hasła
jednorazowe
- certyfikaty
Dwie fazy:
- serwer sam się
uwierzytelnia
używając certyfikat i
zestawia szyfrowany
tunel
- przez tunel
przesyłane są
informacje do
uwierzytelnienia
klienta
- silny mechanizm
uwierzytelniania
- zapewnia
dwustronne
uwierzytelnianie
- wspiera
dynamiczne
generowanie kluczy
WEP
- trudniejszy do
wdrożenia niż
EAP/MD5
- ograniczone
wsparcie zarówno
przez sprzęt, jak i
oprogramowanie
PEAP
- ustalone hasła
- hasła
jednorazowe
- certyfikaty
Podobny do TTLS, za
wyjątkiem innej
metody EAP
wewnętrznego
uwierzytelniania
- silny mechanizm
uwierzytelniania
- zapewnia
dwustronne
uwierzytelnianie
- wspiera
dynamiczne
generowanie kluczy
WEP
- wschodzący
standard
Poza opisanymi już wcześniej elementami systemu kontroli dostępu, tzn. suplikantem oraz
urządzeniem granicznym, konieczny jest także serwer uwierzytelniający. Jego zadaniem jest
komunikacja z urządzeniem granicznym, a za jego pośrednictwem także z suplikantem, a następnie:
- potwierdzenie tożsamości tego ostatniego,
- decyzja czy i jaki dostęp mu przyznać,
- określenie opcji konfiguracyjnych, które należy przekazać urządzeniu granicznemu i suplikantowi (w
rodzaju: typu kompresji, typu szyfrowania, adresów IP, maksymalnej dopuszczalnej wielkości ramki,
itp.),
- wygenerowanie kluczy szyfrujących,
- przesłanie decyzji o dopuszczeniu lub odrzuceniu podłączającego się urządzenia do urządzenia
granicznego i suplikanta,
- przesłanie ustalonych wcześniej lub wygenerowanych opcji konfiguracyjnych i materiału
kryptograficznego do urządzenia granicznego i suplikanta.
Najczęściej spotykanym obecnie typem serwera uwierzytelniającego jest serwer RADIUS. W systemie
korzystającym z takiego serwera poszczególne jego elementy nazywamy następująco:
- suplikant – element urządzenia próbującego podłączyć się do sieci, który odpowiedzialny jest za
współpracę z mechanizmami bezpieczeństwa systemu w celu jego uwierzytelnienia.
- klient RADIUS– mechanizmy zawarte w urządzeniu pośredniczącym w podłączaniu się innych do
sieci (np. w punkcie dostępowym czy przełączniku Ethernet).
- serwer RADIUS – serwer uwierzytelniający.
O ile do komunikacji pomiędzy suplikantem i klientem RADIUS wykorzystywany jest protokół 802.1X
(a najczęściej jego wersja EAPoL), to do komunikacji pomiędzy klientem i serwerem RADIUS
wykorzystywany jest protokół transportowy RADIUS, który korzysta z protokołu IP/UDP. Z jednego
serwera uwierzytelniającego może korzystać wielu klientów RADIUS (czyli wiele urządzeń
granicznych), co pozwala na stworzenie scentralizowanego systemu punktu uwierzytelniania.
Dodatkową funkcją serwera uwierzytelniającego RADIUS może być zbieranie danych o wykorzystaniu
systemu przez użytkowników (np. o czasach połączeń, ilości przesłanych danych itp.). Stąd też tego
rodzaju serwery są często nazywane serwerami AAA: Authentication (uwierzytelnianie –
potwierdzenie tożsamości), Authorization (autoryzacja – określenie poziomu dostępu do zasobów),
Accounting (rozliczanie – zbieranie danych o wykorzystaniu zasobów przez użytkownika).
Laboratorium składa się z dwóch części – wejściówki oraz zadań do wykonania. Za obie części można
uzyskać po 1 punkcie. Wejściówka składać się będzie z 5 pytań jednokrotnego wyboru. Za każdego
pytanie można uzyskać 0.2 punktu.
Pytania:
1. IEEE 802.1X jest standardem kontroli dostępu do sieci …
2. Które elementy tworzą środowisko IEEE 802.1X?
3. Urządzeniem granicznym jest …
4. Przy próbie podłączenia się klienta do sieci …
5. Protokół 802.1X …
6. Najpopularniejszym obecnie protokołem uwierzytelniania stosowanym w IEEE 802.1X jest …
7. Które pole nie wchodzi w skład ramki EAP?
8. Który z typów pakietów nie jest typem pakietu EAP?
9. Protokół 802.1X stosowany jest pomiędzy …
10. Metodą uwierzytelniania wykorzystującą klucz symetryczny jest …
11. Metodą uwierzytelniania wykorzystującą klucz publiczny jest …
12. Metodą uwierzytelniania wymagającą zestawienia tunelu jest …
13. Metodą uwierzytelniania niewykorzystującą certyfikatów jest …
14. Metodą uwierzytelniania niezapewniającą dwustronnego uwierzytelniania jest …
15. Najpopularniejszym obecnie typem serwera uwierzytelniającego jest …
16. Protokołem wykorzystywanym do komunikacji pomiędzy klientem i serwerem RADIUS jest …
17. Ilu klientów RADIUS może korzystać z jednego serwera uwierzytelniającego?
18. Serwer AAA pozwala na …