Klasyfikacja i analiza wybranych mechanizmów bezpieczeństwa w sieciach VPN - IP - IPSEC - ESP - TELEKOMUNIKACJA - VPN - SIECI - LAN - AH - PPTP - L2TP - PPP - TCP
Mouser Electronics Poland   Przedstawicielstwo Handlowe Paweł Rutkowski   PCBWay  

Energetyka, Automatyka przemysłowa, Elektrotechnika

Dodaj firmę Ogłoszenia Poleć znajomemu Dodaj artykuł Newsletter RSS
strona główna ARTYKUŁY Telekomunikacja Klasyfikacja i analiza wybranych mechanizmów bezpieczeństwa w sieciach VPN
drukuj stronę
poleć znajomemu

Klasyfikacja i analiza wybranych mechanizmów bezpieczeństwa w sieciach VPN

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]:


  • szyfrowanie - szyfrowanie wewnątrz datagramu PPP dokonywane jest przy użyciu protokołu MPPE (ang. Microsoft Point-to-Point Encryption). MPPE używa algorytmu szyfrującego RSA RC4 i stosuje 40, 56 lub 128 bitowe klucze, które w celu zwiększenia bezpieczeństwa są często zmieniane podczas komunikacji.
  • kompresja - kompresja danych zawarta w datagramie PPP dokonywana jest za pomocą protokołu MPPC (ang. Microsoft Point-to-Point Compression). Kompresja danych przed ich wysłaniem zmniejsza liczbę bitów potrzebnych do przesłania danej informacji, w związku z tym przyspiesza kompresję.
  • uwierzytelnianie - uwierzytelnianie dokonywane jest za pomocą jednej z metod dostępnych w protokole PPP. Może to być PAP, CHAP, MS-CHAPv1, MS-CHAPv2 lub EAP.
  • przesyłanie danych - dane warstwy sieci umieszczane są w datagramach PPP, które z kolei enkapsulowane są w pakiety PPTP. Oznacza to, że przez PPTP przesyłać można dane różnych protokołów warstwy sieci, np. IP, IPX, NetBEUI i inne.
  • przyznawanie adresów - protokół PPTP może dynamicznie przyznawać adresy punktom końcowym danego połączenia.

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]:

  • połączenie kontrolne - służy do kontroli i zarządzania połączeniem właściwym. Połączenie to wykorzystuje TCP, dlatego też PAC i PNS muszą obsługiwać protokół TCP/IP.
  • połączenie właściwe - służy do wymiany danych i używa protokołu GRE (ang. Generic Route Encapsulation). Protokół GRE zapewnia dostarczenie danych, kontrolę przepływem danych oraz zapobieganie zatorom.

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]
  • fragmentacja pakietów - MTU (ang. Maximum Transmission Unit) jest wielkością określającą największy rozmiar pakietu lub ramki, jaki może przesłać dane urządzenie dany protokół. MTU pakietu PPP wynosi 1532 bajty. Po dodaniu nagłówków GRE (16 bajtów) i IP (20-60 bajtów) długość całego pakietu może wynieść 1608 bajtów. Po uwzględnieniu nagłówków warstwy łącza danych, np. Ethernet II (20 bajtów), rozmiar całej ramki wyniesie 1628 bajtów. Większość urządzeń sieciowych ma wartość MTU równą 1500 bajtów. Powoduje to, że urządzenia te muszą dzielić (dokonywać fragmentacji) pakiety PPTP na mniejsze części. Jest to zjawisko niepożądane, dlatego też należy tak skonfigurować PAC i PNS, aby ich MTU wynosiło około 1300 bajtów.
  • bezpieczeństwo - podczas pracy protokołu PPTP połączenie kontrolne TCP nie jest w żaden sposób chronione. Wiadomości wymieniane pomiędzy PNS i PAC nie są uwierzytelniane ani sprawdzane w celu potwierdzenia integralności. Istnieje więc ryzyko manipulacji danymi lub przechwycenia sesji. Kolejną słabością protokołu PPTP jest fakt, że nagłówki IP, GRE i PPP w połączeniu właściwym nie są szyfrowane. Tak więc w tunelu PPTP istnieje również ryzyko przechwycenia sesji lub manipulacji nagłówkami. Co więcej, stosowane metody szyfrowania takiej jak MPPE wykorzystują algorytmy, które możliwe są do złamania.
  • zmiana adresów przez PAT - istnieją dwie metody translacji adresów: NAT i PAT. NAT nie sprawia problemów przy połączeniach PPTP, ponieważ zmieniane są tylko adresy źródłowe i docelowe IP. PAT operuje na numerach portów danego urządzenia. Połączenie kontrolne wykorzystuje TCP, może więc bez problemów przejść przez urządzenie dokonujące PAT. Jednak połączenie właściwe korzysta z GRE, a GRE nie posiada numerów portów, więc PAT nie zadziała. Niektórzy producenci urządzeń dokonujących translacji PAT stosują różne metody na obejście tego problemu. Jednak nie wszystkie urządzenia kompatybilne są z protokołem PPTP, o czym należy pamiętać projektując sieć VPN.[/list]

    1.2. Layer Two Tunneling Protocol

    L2TP (ang. Layer Two Tunneling Protocol) jest protokołem, który łączy w sobie cechy protokołu PPTP oraz L2F (ang. Layer 2 Forwarding - protokół opracowany przez firmę Cisco). L2TP jest bardzo często wykorzystywany, podobnie jak PPTP, do transportu pakietów PPP poprzez sieć szkieletową, np. sieć IP. Można go także stosować do pracy z innymi protokołami niż PPP. W celu zwiększenia poziomu bezpieczeństwa pakiet L2TP może być umieszczony wewnątrz pakietu IPSec. Rozwiązanie takie łączy w sobie bezpieczeństwo IPSec z zaletami PPP, np. dynamiczne przydzielanie adresów, wsparcie dla innych protokołów niż IP. Technikę taką określa się jako L2TP over IPSec lub L2TP/IPSec [4].

    Protokół L2TP nie stosuje żadnych algorytmów szyfrujących, dlatego też przy tworzeniu bezpiecznych sieci VPN korzysta się z L2TP/IPSec w celu zapewnienia odpowiedniego poziomu poufności.

    L2TP enkapsuluje dane w pakiety PPP lub inne (w zależności od implementacji) i wysyła je poprzez sieć IP. W przeciwieństwie do PPTP, L2TP nie stosuje GRE. Zamiast tego stosowany jest protokół UDP - zarówno do transportu pakietów zawierających dane i transportu pakietów kontrolnych. Z kolei pakiety UDP chronione są przez IPSec ESP w trybie transportowym [4].

    Architektura L2TP
    Protokół L2TP tworzy połączenie (tunel) pomiędzy dwoma punktami końcowymi nazywanymi jako LCCE (ang. L2TP Control Connection Endpoints). Jeśli ramki przetwarzane są w LCCE na poziomie warstwy łącza danych to dany LCCE określany jest jako LAC (ang. L2TP Access Concentrator). Jeśli ramki przetwarzane są na poziomie warstwy sieci to dany LCCE określany jest jako LNS (ang. L2TP Network Server). Dane urządzenie może pracować jako LAC dla jednych sesji i jako LNS dla innych, dlatego też pojęcia LAC i LNS należy rozpatrywać w odniesieniu do danej sesji L2TP.


    Istnieją trzy rodzaje architektury L2TP [5]:

    • LAC-LNS - z jednej strony LAC odbiera ruch z łącza, na którym działa protokół warstwy łącza danych, np. PPP. Ruch przesyłany jest dalej z wykorzystaniem protokołu L2TP poprzez sieć szkieletową, np. sieć IP. Z drugiej strony LNS logicznie zakańcza połączenie L2TP i przekazuje dalej dane do innych urządzeń, z wyjątkiem sytuacji, gdy komputer PC pełniący rolę LNS sam jest adresatem wiadomości. Ustanowienie sesji jest inicjowane przez LAC (Incoming Call) lub przez LNS (Outgoing Call). Przykład takiej architektury przedstawiono na rysunku 1.





      Rysunek 1. Przykład architektury LAC-LNS.


    • • LAC-LAC - w modelu tym oba urządzenia LCCE pełnią rolę LAC. Każde z urządzeń LAC przekazuje dane protokołu warstwy łącza danych dane sieci do drugiego z urządzeń za pomocą L2TP. Każde z urządzeń może zainicjować sesje. Przykład takiej architektury pokazano na rysunku 2.





      Rysunek 2. Przykład architektury LAC-LAC.


    • • LNS-LNS - w modelu tym oba urządzenia LCCE pracują jako LNS. Typowo połączenie inicjowane jest z poziomu użytkownika, np. tunel zainicjowany z komputera PC przez użytkownika. Przykład tej architektury ilustruje rysunek 3.





      Rysunek 3. Przykład architektury LNS-LNS.



    Protokół L2TP wykorzystuje różne bezpieczne metody uwierzytelnienia, np. EAP, ale wspiera także starsze rozwiązania takie jak: PAP, CHAP, MS-CHAP. Ponadto wykorzystuje protokół DHCP (ang. Dynamik Host Configuration Protocol), który zajmuje się dynamicznym przyznawaniem adresów IP urządzeniom.

    Zgodnie z dokumentem RFC 4667 (ang. Request for Comments) [6], główna architekturą wykorzystywaną przy tworzeniu sieci VPN warstwy łącza danych jest architektura LAC-LAC.

    Zasada działania L2TP

    LCCE tworzą i utrzymują sesję połączenia. Protokół L2TP jest więc protokołem połączeniowym. Pomiędzy urządzeniami istnieje jeden tunel (jedno połączenie), ale przesyłane są dwa rodzaje danych:[/list]
  • dane kontrolne tunelu,
  • dane właściwe.[/list]
    LCCE używają protokołu UDP jako środka transportu dla pakietów danych i pakietów kontrolnych. Istnieje możliwość stosowania implementacji L2TP, która nie korzysta z UDP. Nazywana jest ona jako L2TP over IP. Sprawia ona jednak problemy przy pracy z urządzeniami dokonującymi translacji PAT.

    W celu zapewnienia uwierzytelnienia, poufności, integralności danych i ochrony przed powtórzeniami, protokół L2TP stosuje się razem z IPSec. Zanim powstanie tunel L2TP, pomiędzy dwoma urządzeniami LCCE musi być ustanowiony tunel IPSec. Dopiero wtedy dane L2TP mogą być enkapsulowane w ESP. Budowę pakietów L2TP/IPSec pokazano na rysunkach 4 i 5.





    Rysunek 4. Budowa przykładowego pakietu L2TP/IPSec zawierającego dane kontrolne.







    Rysunek 5. Budowa przykładowego pakietu L2TP/IPSec zawierającego dane właściwe.

  • follow us in feedly
    Średnia ocena:
     
    REKLAMA

    Otrzymuj wiadomości z rynku elektrotechniki i informacje o nowościach produktowych bezpośrednio na swój adres e-mail.

    Zapisz się
    Administratorem danych osobowych jest Media Pakiet Sp. z o.o. z siedzibą w Białymstoku, adres: 15-617 Białystok ul. Nowosielska 50, @: biuro@elektroonline.pl. W Polityce Prywatności Administrator informuje o celu, okresie i podstawach prawnych przetwarzania danych osobowych, a także o prawach jakie przysługują osobom, których przetwarzane dane osobowe dotyczą, podmiotom którym Administrator może powierzyć do przetwarzania dane osobowe, oraz o zasadach zautomatyzowanego przetwarzania danych osobowych.
    Komentarze (0)
    Dodaj komentarz:  
    Twój pseudonim: Zaloguj
    Twój komentarz:
    dodaj komentarz
    REKLAMA
    Nasze serwisy:
    elektrykapradnietyka.com
    przegladelektryczny.pl
    rynekelektroniki.pl
    automatykairobotyka.pl
    budowainfo.pl