Tania i bezpieczna sieć bezprzewodowa z 802.1x
- Patryk Królikowski,
- 07.01.2008
Zapotrzebowanie pracowników na dostęp do zasobów sieci, bez konieczności ciągłego wleczenia za sobą splotów kabli, osiągnęło obecnie taki poziom, że w każdej, nawet niewielkiej firmie, błyskawicznie pojawiają się bezprzewodowe punkty dostępowe. Problem w tym, że o ile duże korporacje posiadają odpowiednie zaplecze finansowe na budowę porządnej, bezprzewodowej infrastruktury, o tyle mniejsi niestety nie.
Zapotrzebowanie pracowników na dostęp do zasobów sieci, bez konieczności ciągłego wleczenia za sobą splotów kabli, osiągnęło obecnie taki poziom, że w każdej, nawet niewielkiej firmie, błyskawicznie pojawiają się bezprzewodowe punkty dostępowe. Problem w tym, że o ile duże korporacje posiadają odpowiednie zaplecze finansowe na budowę porządnej, bezprzewodowej infrastruktury, o tyle mniejsi niestety nie.
Klocki do zabawy
Zacznijmy od początku - czyli od poszczególnych elementów, które powinny wejść w skład takiej infrastruktury. Żeby zbudować bezpieczną sieć bezprzewodową, skorzystamy z dobrze sprawdzonej i okrzepłej w boju technologii - 802.1x. Jej siłą napędową jest protokół EAP (Extensible Authentication Protocol) występujący w wielu wariantach. Oto 4 najpopularniejsze:
EAP-MD5 - klient przesyła do serwera uwierzytelniania (Radius) nazwę użytkownika i potraktowane funkcją skrótu MD5 hasło. Ze względu na odkryte słabości algorytm MD5 nie jest uznawany za wystarczająco bezpieczny. Dodatkowym mankamentem jest to, że w EAP-MD5 uwierzytelniany zostaje jedynie klient do serwera, przez co ten pierwszy nie ma możliwości stwierdzenia, czy "rozmawia" z właściwym serwerem. EAP-MD5 nie powinien być stosowany w nowoczesnej architekturze 802.1.x.
EAP-TLS - zastosowanie algorytmu TLS w tej odmianie EAP sprawia, że do ustanowienia połączenia wymagane jest użycie certyfikatów. Muszą one być wygenerowane zarówno dla serwera, jak i każdego klienta łączącego się z siecią. EAP-TLS żeby mógł zostać w pełni wykorzystany, potrzebuje funkcjonującej infrastruktury PKI. To z kolei powoduje, że nakłady (głównie czasowe), jakie trzeba ponieść na zarządzanie, są dosyć duże i mało która z niewielkich firm zdecyduje się na ten krok (mimo że EAP-TLS daje wysoki poziom bezpieczeństwa).
PEAP - to z kolei dziecko współpracy Microsoftu, Cisco i RSA. Jest to bodajże najpopularniejszy obecnie z "modów" EAP. Przyczyną jego stworzenia była chęć zabezpieczenia prostych metod uwierzytelniania (jak np. MS-CHAP), opakowując je w szyfrowanie oparte na TLS. Dzięki tunelowaniu TLS dane uwierzytelniające są przesyłane dopiero po zestawieniu bezpiecznego kanału komunikacyjnego. PEAP wymaga stworzenia certyfikatu jedynie dla serwera uwierzytelnia, przez co jest mało kłopotliwy w utrzymaniu. Z tego też powodu PEAP będzie wykorzystany w naszym przykładzie.
EAP-TTLS - metoda stworzona w laboratoriach Funk Software (autora popularnego, komercyjnego serwera Radius - Steel Belted Radius). W przeciwieństwie do PEAP-a jest wspierana na bardzo szerokiej gamie platform. Podobnie jak w PEAP-ie, to serwer zostaje uwierzytelniony przez klienta, a certyfikat musi być wystawiony tylko dla serwera. Podobnie również jak w PEAP-ie, dane uwierzytelniające przesyłane są dopiero po zestawieniu tunelu TLS.
Oprócz EAP nie możemy zapominać o innych protokołach, takich jak WEP, WPA i WPA2. Napisano jednak o nich tak wiele, że tylko o nich wspomnimy. Ze zrozumiałych względów bezpieczeństwa protokołu WEP nawet nie bierzemy pod uwagę - ten powinien dawno znaleźć się w szafie na rupiecie. Nie będziemy też opisywać architektury protokołów WPA i WPA2 oraz ich powiązania z TKiP i AES-em. Wystarczy powiedzieć, że w zależności od możliwości sprzętowych powinniśmy brać pod uwagę kombinację WPA/TKiP (starszy sprzęt) oraz WPA2/AES (nowszy sprzęt).
Potrzebny sprzęt
Nie samymi jednak protokołami 802.1x żyje. Podczas budowy sieci (bez znaczenia, czy jest to sieć oparta o kable, czy fale radiowe), wykorzystując ten standard, potrzebne będą co najmniej trzy elementy: klient, brama dostępowa (np. switch lub access point) oraz serwer uwierzytelniający. Jeżeli chodzi o stronę kliencką, to w zasadzie każdy system operacyjny (włączając w to Symbiana - szerzej przy okazji konfiguracji klienta) zawiera dostępną natywnie, bądź za pośrednictwem dodatkowego oprogramowania, obsługę dla 802.1x.
W naszym przykładzie do pracy wykorzystamy narzędzie należące do tej drugiej grupy - open-source'owy serwer FreeRADIUS (http://www.freeradius.org ). Ponieważ FreeRADIUS działa pod kontrolą Linuksa, musimy wybrać odpowiednią dystrybucję. Dobrym pomysłem jest postawienie CentOS-a, który oferuje funkcjonalność niemal tożsamą ze swoim płatnym "bratem", jakim jest Red Hat. Linuksa zainstalujemy na zwykłym komputerze (np. PIII, 512 MB RAM, karta sieciowa). Dzięki niskim wymaganiom sprzętowym zarówno systemu, jak i FreeRADIUS-a będzie można zutylizować starszy, nieużywany komputer. Pozostaje jeszcze kwestia dobrania klienta sieci bezprzewodowej. Wszystko zależy od algorytmów. Jeżeli chcemy wykorzystać PEAP i MSCHAPv2, w zupełności wystarczy wbudowany w Windowsa XP klient 802.1x. Jeżeli zaś chcemy czegoś innego, np. EAP-TTLS, wówczas możemy zainstalować darmowego klienta SecureW2 (http://www.securew2.com ).
No to do roboty. Zaczynamy od konfiguracji serwera Radius.