1. Protokoły VPN warstwy łącza danych Protokoły VPN warstwy łącza danych działają poniżej warstwy sieci (w modelu TCP/IP), co oznacza, że mogą one chronić informacje warstwy sieci i warstw wyższych. Co więcej, chroniony może być nie tylko ruch IP, ale także ruch innych protokołów, np. IPX (ang. Internetwork Packet Exchange).
Najczęściej protokoły VPN warstwy łącza danych wykorzystują protokół PPP (ang. Point-to-Point Protocol), który używany był do zabezpieczenia połączeń modemowych. Dany protokół VPN służy przeważnie do utworzenia tunelu, przez który może się komunikować protokół PPP. Dla przykładu w PPTP (ang. Point-to-Point Tunneling Protocol) szyfrowanie i uwierzytelnianie dokonywane jest przez PPP, a nie przez protokół VPN. PPP wykorzystuje do szyfrowania algorytm DES, natomiast to uwierzytelniania stosowane są algorytmy PAP (ang. Password Authentication Protocol) oraz CHAP (ang. Challenge Handshake Authentication Protocol). Kilka lat temu odkryto pewne niedoskonałości wyżej wymienionych protokołów, dlatego też protokoły VPN warstwy łącza danych często korzystają z dodatkowych protokołów, aby zapewnić większe bezpieczeństwo połączeń VPN [2]. Najczęściej używane protokoły VPN warstwy łącza danych to: PPTP i L2TP.
1.1. Point-to-Point Tunneling Protocol
PPTP (ang. Point-to-Point Tunneling Protocol) jest protokołem, który pozwala ustanowić wirtualny tunel w sieci IP, przez który może być nawiązane połączenie PPP. Standard PPTP nie modyfikuje protokołu PPP, a raczej dostarcza mechanizmów umożliwiających zastosowanie PPP w sieci pakietowej, takiej jak Internet [3].
Protokół PPTP został opracowany przez firmę Microsoft, aby zapewnić zdalne dostęp poprze publiczną sieć do serwera (bramy VPN). PPTP może wykorzystywać do uwierzytelnienia takie algorytmy jak: PAP, CHAP, MS-CHAP i EAP. Pomimo faktu, że PPP używany jest głównie do zabezpieczania pojedynczych połączeń, np. modemowych, protokół PPTP może być ustanowiony ze zwykłego połączenia LAN.
PPTP wykorzystywany był głównie w starszych systemach operacyjnych: Windows 95, 98 i ME. W nowszych systemach, tj. Windows 2000, XP, 2003 i Vista, częściej wykorzystuje się protokół L2TP lub IPSec.
W protokole PPTP dostępne są następujące usługi [4]:
Architektura protokołu PPTP
Protokół PPTP działa na zasadzie architektury klient - serwer [4].
Urządzenie pełniące rolę klienta określane jest jako PAC (ang. PPTP Access Concentrator). Jego zadaniem jest nawiązanie bezpiecznego połączenia z serwerem i przesyłanie danych w pakietach PPP.
Urządzenie pełniące rolę serwera nazywane jest PNS (ang. PPTP Network Server). Jego zadaniem jest odbieranie ruchu od PAC, sprawdzanie zabezpieczeń, odszyfrowywanie i przekazywanie danych.
Pomiędzy PAC a PNS ustanawiane są dwa rodzaje połączenia [3]:
Problemy występujące w sieciach VPN wykorzystujących PPTP
Z implementacją sieci VPN z wykorzystaniem protokołu PPTP związane są pewne problemy, z których najważniejsze zostały opisane niżej [4]:[/list]
Protokół TLS (ang. Transport Layer Security) jest rozwinięciem protokołu SSL (ang. Secure Socket Layer). Istnieją niewielkie różnice pomiędzy tymi protokołami, ale w większości przypadków zasada działania jest identyczna. Wirtualne sieci prywatne warstwy transportu modelu TCP/IP zwykle określa się jako SSL VPN.
TLS jest najczęściej używanym protokołem zabezpieczającym transfer danych w warstwie transportu modelu TCP/IP. Stosuje się go zazwyczaj do zabezpieczenia ruchu poszczególnych aplikacji opartych na HTTP, ale może być też wykorzystywany do innych typów aplikacji, np. SMTP, POP (ang. Post Office Protocol), FTP. Użytkownicy, którzy chcą korzystać z aplikacji chronionej przez TLS nie muszą instalować dodatkowego oprogramowania ani zmieniać konfiguracji systemu operacyjnego, ponieważ większość przeglądarek internetowych ma wbudowaną obsługę TLS/SSL.
Protokół TLS może być stosowany w architekturze typu host-to-host lub host-to-gateway. Istnieją rozwiązania pozwalające na stosowanie TLS w architekturze gateway-to-gateway, ale w tym przypadku lepiej sprawdza się protokół IPSec.
Istnieją dwa rodzaje SSL VPN: SSL portal VPN oraz SSL tunel VPN. Używane są one głównie w celu zabezpieczenia połączenia użytkowników zdalnych z bramą VPN. Brama SSL VPN może być dedykowanym urządzeniem posiadającym oprogramowanie mogące pełnić funkcje związane z SSL. Przykładem urządzeń pełniących rolę bramy VPN może być router lub firewall posiadający odpowiedni system operacyjny.
TLS w zależności od konfiguracji i implementacji może zapewniać następujące typy zabezpieczeń:
2.1. Architektura SSL VPN
SSL VPN jest rozwiązaniem zapewniającym bezpieczny zdalny dostęp do zasobów firmowych przy użyciu przeglądarki internetowej. Dostęp ten może polegać na łączności z aplikacjami posiadających interfejs obsługiwany przez przeglądarkę, aplikacjami typu klient-serwer lub na łączności z urządzeniami znajdującymi się wewnątrz sieci chronionej przez bramę VPN. Ruch pomiędzy bramą a przeglądarką szyfrowany jest przez protokół SSL. Typowymi użytkownikami SSL VPN są pracownicy w zdalnych oddziałach firmy, użytkownicy mobilni lub partnerzy biznesowi. Mogą się oni łączyć z różnych typów urządzeń, takich jak: firmowe laptopy, komputery osobiste lub telefony komórkowe wyposażone w odpowiednie oprogramowanie. Jedynym wymaganiem jest zainstalowanie na danym urządzeniu przeglądarki internetowej obsługującej protokół SSL. Typową architekturę SSL VPN przedstawiono na rysunku 6 [7].
2.2. Funkcje dostępne w SSL VPN
W rozwiązaniu SSL VPN najczęściej bramą jest dedykowane urządzenie wykonujące tylko tą funkcję. Może to być również rozwiązanie programowe zainstalowane na serwerze. W zależności od wybranego urządzenia lub programu, rozwiązanie SSL VPN oferuje jedną lub więcej z poniższych funkcji [7]:
2.3. Usługi bezpieczeństwa w SSL VPN
Urządzenia SSL VPN oferują standardowo następujące usługi bezpieczeństwa [8]:
2.4. Problemy występujące w SSL VPN
Technologia SSL VPN jest rozwinięta i stosowana na szeroką skalę, ale mimo tego wciąż narażona jest na niebezpieczeństwa i problemy [7].
Pomimo faktu, że SSL VPN nie wymaga żadnego dodatkowego oprogramowania w systemie użytkownika, nie zawsze możliwe jest nawiązanie połączenia z dowolnego komputera. Jeśli użytkownik znajduje się w kafejce internetowej, może on nie mieć odpowiednich uprawnień w systemie operacyjnym, aby zezwolić na zainstalowanie programu lub wtyczki do przeglądarki umożliwiającej połączenie SSL tunel VPN.
Poważną kwestią w SSL VPN jest stopień zaufania do komputera, z którego łączy się dany użytkownik. Jeśli jest to komputer dostępny publicznie, może nie mieć zainstalowanego programu antywirusowego i najnowszych poprawek do systemu operacyjnego. Stanowi to poważne zagrożenie dla chronionej siec podczas połączenia z takim komputerem. Ponadto po zakończeniu sesji na takim ogólnym systemie mogą pozostać poufne informacje przechowywane w katalogach plików tymczasowych.
Urządzenia oraz programowe rozwiązania SSL VPN powinny być kompatybilne z różnymi systemami operacyjnymi i urządzeniami, z których użytkownik może chcieć się połączyć. Niestety nie wszystkie rozwiązania SSL VPN dają pełną kompatybilność. Istnieje niewiele rozwiązań wspierających komputery kieszonkowe i telefony komórkowe.
Tryb rozszerzenia sieci nie jest dostępny dla każdego i z każdej lokalizacji. W przypadku, gdy użytkownik danego systemu operacyjnego nie ma odpowiednich uprawnień w systemie, może on nie pozwolić mu na uruchomienie dodatkowego oprogramowania niezbędnego do uruchomienia trybu network extension.
Należy również zaznaczyć, że niektóre rozwiązania SSL VPN nie współpracują z aplikacjami typu klient-serwer.
Zestaw protokołów i algorytmów wchodzących w skład IPSec (ang. Internet Protocol Security) służy zapewnieniu wysokiej jakości zabezpieczeń ruchu w sieciach IP. Dwa główne protokoły wykorzystywane w IPSec to AH (ang. Authentication Header) i ESP (ang. Encapsulating Security Payload) [9].
W modelu TCP/IP protokół IPSec znajduje się w warstwie sieci. Oznacza to, że IPSec może zabezpieczyć całość ruchu pomiędzy dwoma sieciami IP niezależnie od stosowanych w tych sieciach aplikacji. Ponadto IPSec, oprócz zapewnienia poufności danych, może ukryć nagłówki IP, w których znajdują się takie informacje jak adresy źródłowe i docelowe.
Z uwagi na fakt, że protokół IPSec potrafi zabezpieczyć wiele aplikacji jednocześnie, stał się bardzo popularny jako zabezpieczenie przesyłu danych przez sieci publiczne takie jak Internet. IPSec jest zbiorem wielu różnych standardów i w zależności od konkretnej konfiguracji i implementacji może zapewnić następujące typy zabezpieczeń:
Przed rozpoczęciem sesji IPSec wymagane jest, aby strony uczestniczące w transmisji wiedziały, w jaki sposób będą zabezpieczać dane. Zestaw informacji, które należy ustalić to: protokół ESP czy AH oraz algorytmy i klucze kryptograficzne. Zestaw tych informacji określany jest jako SA (ang. Security Association). Każdy tunel VPN powinien posiadać unikalne SA do ochrony wysyłanych i odbieranych informacji, tzn. dla jednego tunelu IPSec wymagane są dwa SA). Urządzenie VPN posiada do tego celu bazę SA ponumerowaną za pomocą unikalnych identyfikatorów o nazwie SPI (ang. Security Parameters Index). Numery SPI przekazywane są w nagłówkach ESP i AH tak, aby urządzenie odbierające pakiety IPSec widziało, w jaki sposób zostały zabezpieczone. Bazy SA w urządzeniach VPN mogą być wpisywane ręcznie przez administratorów lub ustalane automatycznie z użyciem protokołu IKE (ang. Internet Key Exchange).
3.1. Authentication Header
Authentication Header jest jednym z protokołów IPSec, który może zapewnić integralność, uwierzytelnianie, zabezpieczenie przed powtórzeniami oraz kontrolę dostępu [8]. AH nie szyfruje danych. W pierwszych wersjach IPSec, AH zapewniał tylko szyfrowanie bez uwierzytelniania, dlatego też stosowano jednocześnie AH i ESP. W drugiej wersji IPSec dodano możliwość uwierzytelniania w ESP. W związku z tym, protokół AH stał się mniej istotny i coraz rzadziej się go używa [2].
Protokół Authentication Header ma dwa tryby pracy: tryb transportowy i tryb tunelowania. W trybie tunelowania AH tworzy nowy nagłówek IP dla każdego pakietu. Z kolei w trybie transportowym oryginalny nagłówek IP nie zostaje zmieniony. W momencie przesyłu danych w architekturze gateway-to-gateway lub host-to-gateway adresy źródłowe i docelowe IP zmieniane są na adres IP bramy VPN. Z uwagi na fakt, że protokół AH w trybie transportowym nie może zmieniać oryginalnego nagłówka IP - tryb ten nie jest kompatybilny z architekturami gateway-to-gateway i host-to-gateway. Z tego względu trybu transportowego używa się tylko w architekturze host-to-host.
Jak widać na rysunkach 7 i 8, protokół Authentication Header zapewnia integralność i uwierzytelnianie danych całego pakietu IP [4].
3.2. Encapsulating Security Payload
Encapsulating Security Payload jest następnym protokołem wchodzącym w skład IPSec. W pierwszej wersji zapewniał tylko możliwość szyfrowania. W kolejnej wersji dodano funkcję uwierzytelniania i integralności danych.
Podobnie jak AH, protokół ESP ma dwa tryby pracy: tryb transportowy i tryb tunelowania. W trybie tunelowania dla każdego pakietu tworzony jest nowy nagłówek IP. Oryginalne adresy źródłowe i docelowe zostają zamienione na adresy punktów końcowych połączenia IPSec (punktem końcowym może być host lub brama VPN). Tryb tunelowania jest kompatybilny ze wszystkimi trzema rodzajami architekturami VPN. Pierwotny nagłówek IP jest zamknięty wewnątrz nowego pakietu i może zostać zaszyfrowany. Pozwala to ukryć prawdziwe adresy źródłowe i docelowe. Osoba monitorująca lub podsłuchująca ruch w sieci będzie widzieć tylko adresy punktów końcowych połączenia VPN. Przykładowy pakiet ESP w trybie tunelowania pokazano na rysunku 9 [10].
Tryb transportowy jest rzadziej stosowany. W trybie tym, protokół ESP używa oryginalnego nagłówka IP. W związku z tym, proces szyfrowania, uwierzytelniania i zapewnienia integralności danych obejmuje tylko wewnętrzną część pakietu. Nagłówek zawierający m.in. adresy IP pozostaje jawny.
Tryb transportowy jest niekompatybilny z NAT. Suma kontrolna TCP obliczana jest na podstawie pól TCP oraz IP. Jeśli NAT zmienia adresy IP w pakiecie, istnieje potrzeba przeliczenia sumy kontrolnej TCP. NAT nie może tego dokonać, jeśli zawartość pakietu jest zaszyfrowana. Trybu transportowego używa się głównie w architekturze host-to-host [2]. Przykład pakietu ESP w tym trybie pokazano na rysunku 10 [10].
opracowano na podstawie:
| REKLAMA |
| REKLAMA |