Sieci VPN
SSL i IPSec
Pierwsze sieci zdalnego dostępu VPN były przeznaczone dla
wąskiego grona osób i udostępniały ograniczony fragment zasobów
sieci korporacyjnej. Realizowane były poprzez zestawienie połączenia
dial-up z modemem podłączonym do firmowego serwera zdalnego
dostępu RAS (Remote Access Server). Sieć była udostępniana po
podaniu prawidłowego identyfikatora i hasła. Połączenia te były
uważane z natury za bezpieczne i rzadko wykorzystywano
szyfrowanie. Za jedyną metodę podsłuchu przyjmowano fizyczne
podpięcie się do linii telefonicznej. Z czasem zaczęto wykorzystywać
proste algorytmy kryptograficzne. Wraz ze wzrostem popularności
zdalnego dostępu, konieczne było inwestowanie w kolejne modemy
dostępowe i serwery RAS.
Rozwój sieci VPN
Zestawianie połączeń telefonicznych (szczególnie ISDN) było
kosztowne. Zaczęto poszukiwać alternatywnych metod dostępowych.
Idealnym rozwiązaniem okazał się Internet, który stał się popularny i
wszechobecny. Jednakże w tym momencie pojawił się problem -
bezpieczeństwo danych transmitowanych przez ogólnodostępną sieć.
W tym celu stworzono różne protokoły, m.in. PPTP, L2TP czy IP
Security. Ze względu na stosowanie silnej kryptografii i rozbudowane
uwierzytelnianie największą popularność zyskał IP Security (RFC 2401
- 2411).
Powszechność dostępu szerokopasmowego sprawiła, że dzisiejszy
zdalny użytkownik nie odczuwa dyskomfortu związanego z
opóźnieniami w interakcji z odległym systemem, znanego wcześniej
przy połączeniach wąskopasmowych. Tradycyjne systemy RAS
odchodzą w cień, ustępując miejsca wirtualnym sieciom prywatnym
VPN (Virtual Private Network) z protokołami IPSec oraz SSL. W
sieciach zdalnego dostępu mogą być przesyłane nie tylko dane, ale
również głos i wideo. Mogą być one wykorzystywane do świadczenia
takich usług, jak płatny dostęp do filmów, płatnej telewizji i innych
usług o ograniczonym dostępie.
Planując umożliwienie zdalnego dostępu do sieci prywatnej, należy
rozpatrywać to głównie pod kątem stworzenia interfejsu do połączeń z
Internetem oraz zapewnienia w nim bezpieczeństwa dla naszych danych.
Istnieją różne metody dostępu do Internetu: xDSL, modemy kablowe, LMDS,
dostęp satelitarny, łącza dzierżawione ATM, FR czy Metro Ethernet. Korzyścią z
zestawiania sieci IPSec/SSL VPN poprzez ogólnodostępną sieć
teleinformatyczną jest obniżenie kosztów zdalnego dostępu do sieci
firmowych, w stosunku do rozwiązań opartych na liniach wydzwanianych lub
dzierżawionych, gdyż połączenia są nawiązywane jedynie do najbliższego
dostawcy Internetu.
Zastosowanie sieci VPN jako skalowanego rozwiązania zdalnego dostępu
przyczynia się do wzrostu produktywności, decentralizacji oraz uniezależnienia
pracownika od miejsca pracy. Wdrożenie telepracy podnosi atrakcyjność
pracodawcy i pozwala na pozyskanie specjalistów mniejszym kosztem.
Zgodnie z definicją VPN Consortium wirtualna sieć prywatna jest siecią
przekazu danych korzystającą z publicznej infrastruktury
telekomunikacyjnej, która dzięki stosowaniu protokołów tunelowania i
procedur bezpieczeństwa zachowuje poufność danych.
Istnieją trzy rodzaje sieci VPN: tzw. zaufane, bezpieczne oraz hybrydowe,
będące połączeniem dwóch poprzednich. Należy zauważyć, że zaufane
sieci VPN oraz bezpieczne VPN są zupełnie odmiennymi technologiami.
Zdarza się bowiem, że są one mylnie ze sobą utożsamiane.
Pierwsze sieci VPN były tworzone poprzez dzierżawę obwodów
wirtualnych od dostawcy telekomunikacyjnego. Mogły być
wykorzystywane w taki sam sposób, jak kable fizyczne w sieci lokalnej.
VPN jako sieć zdalnego dostępu
Ze względu na to, że trasa zestawionych (dzierżawionych)
obwodów wirtualnych przechodzi przez współdzielone urządzenia
przełączające, istnieje zagrożenie podsłuchem transmisji. W założeniu
klient sieci VPN obdarza zaufaniem dostawcę, że ten zachowa
integralność i poufność przekazu - stąd zaufane sieci VPN. Sieci te
mogą być tworzone w warstwie 2. (obwody ATM, Frame Relay,
transport ramek warstwy 2. z zastosowaniem MPLS - Multi Protocol
Label Switching) lub warstwie 3. (sieci BGP/MPLS wg RFC 2547, w
których BGP przesyła informacje o trasie VPN wyznaczonej w sieci
dostawcy, a MPLS transportuje ruch pomiędzy punktami VPN). Aby nie
odczuwać opóźnień w pracy ze zdalnym systemem, dostawca
powinien zapewnić odpowiednią jakość usług (Oos) zestawionego
połączenia. W sieciach tych klient może utrzymywać swój schemat
adresowania IP, a nawet ruting.
Dbałość o bezpieczeństwo sieci i transmitowanych danych wymusza
stosowanie bezpiecznych sieci VPN. Dane transmitowane na drodze
pomiędzy zdalnym użytkownikiem a siecią prywatną są przesyłane w
formie zaszyfrowanej, tworząc tzw. tunel. Wymienianych informacji nie
można odczytać ani w sposób niezauważony zmienić ich zawartości.
Bezpieczne sieci VPN mogą być tworzone na trzy sposoby: IPSec z
kodowaniem, L2TP (Layer 2 Tunneling Protocol) z wykorzystaniem
zabezpieczeń IPSec - RFC 3193 oraz SSL/TLS VPN.
IPSec jest obecnie dominującym protokołem w bezpiecznych sieciach
VPN, w przeciwieństwie do L2TP. Coraz większą popularność zyskuje
SSL VPN.
Bezpieczny VPN zabezpiecza dane, ale nie zapewnia niezmienności
zestawionej trasy i parametrów transmisji. Z kolei zaufany VPN gwarantuje
zachowanie odpowiednich parametrów transmisji, np. Oos, lecz nie chroni
przed podsłuchem i zmianą danych. Najlepszym rozwiązaniem jest stworzenie
sieci hybrydowej VPN. Bezpieczeństwo może być zapewnione albo przez
użytkowników końcowych sieci VPN (np. z wykorzystaniem oprogramowania
szyfrującego), albo przez dostawcę zestawiającego wirtualne połączenie. Wielu
producentów w swoich rozwiązaniach sprzętowych umożliwia już tworzenie
sieci hybrydowych. Scenariusz wdrożenia wygląda najczęściej tak, że
przedsiębiorstwo umożliwia swoim zdalnym użytkownikom zestawienie
zaufanej sieci VPN. Gdy mobilny użytkownik ma dostęp do danych, które
powinny być chronione, jest zestawiany bezpieczny VPN. Bezpieczny VPN może
być podzbiorem zaufanej sieci VPN.
Tworząc bezpieczne sieci VPN, należy pamiętać o tym, że:
ruch pomiędzy użytkownikami powinien być szyfrowany i
uwierzytelniany;
część protokołów wykorzystywanych w VPN przeprowadza
uwierzytelnienie, ale nie szyfrowanie;
poziom i mechanizmy bezpieczeństwa powinny być zgodne po dwóch
stronach ustanawianego tunelu;
nikt poza administratorem sieci nie powinien mieć możliwości zmiany
parametrów bezpieczeństwa.
Oprogramowanie klienckie nawiązuje połączenie przez Internet do bramy
IPSec VPN, po czym inicjuje procedurę wymiany kluczy IKE (Internet Key
Exchange). Po pomyślnym uwierzytelnieniu zdalnej maszyny, jest
zestawiany tunel VPN. Sieć VPN może pracować w dwóch trybach:
- transportowym, w którym w postaci zaszyfrowanej jest przesyłany
fragment należący do warstwy transportowej;
- tunelowym, gdzie jest szyfrowany cały pakiet. IPSec niejako umieszcza
oryginalny pakiet w swoim pakiecie. Pozwala to na przesyłanie przez
Internet protokołów nierutowalnych, jak NetBeui czy SNA (Systems
Network Architecture).
VPN z protokołem IPSec
IPSec VPN używa powszechnie przyjętych algorytmów kryptograficznych:
DES, 3DES, AES, RC4 oraz zapewniających integralność danych: MD5, SHA-
1. Może również wykorzystywać mechanizm IKE z certyfikatami cyfrowymi
(X.509). Po jednorazowym utworzeniu tunelu IPSec/L2TP pomiędzy
odległymi maszynami, może być zestawiana dowolna liczba połączeń. IPSec
funkcjonuje na warstwie sieci modelu OSI. Sporym utrudnieniem w
stosowaniu IPSec jest brak pełnej mobilności użytkowników.
Po zestawieniu IPSec VPN sieć korporacyjna jest praktycznie bezbronna
wobec intruzów. Ewentualne upowszechnienie się NAC (Networc Acces
Control) może zwiększyć bezpieczeństwo. Sprawdzana jest wówczas
obecność oprogramowania antywirusowego, uaktualnień systemu
operacyjnego na zdalnej maszynie.
Prawdą jest, że IPSec i SSL są różnymi technikami. Łączy je to, że
obydwie służą temu samemu celowi: umożliwieniu i kontroli
dostępu użytkowników zdalnych do sieci, jej zasobów i aplikacji.
IPSec oferuje bezpieczną, szyfrowaną komunikację na poziomie
IP. Jest on niezależny od aplikacji. Każda aplikacja korzystająca z
protokołu IP może komunikować się za pośrednictwem sieci IPSec
VPN. Chronione są wszystkie pakiety wymieniane pomiędzy
zdalnymi sieciami lub hostami, a brama IPSec jest zlokalizowana
na brzegu sieci prywatnej.
IPSec VPN kontra SSL VPN
SSL definiuje bezpieczny mechanizm wymiany zaszyfrowanych danych
pomiędzy aplikacjami, na trasie od zdalnego użytkownika do bramy SSL. Jest
niezależny od protokołów niższych warstw, takich jak IP. Jednak nie wszystkie
aplikacje mogą być udostępniane za jego pośrednictwem. Odpowiednia usługa
powinna mieć możliwość prezentacji danych, np… W przeglądarce
internetowej, transmisji danych przez bramę SSL VPN, oraz pozwalać na
interakcję pomiędzy klientem a serwerem aplikacji, zlokalizowanym wewnątrz
sieci prywatnej.
Za pomocą IPSec VPN zdalny komputer uzyskuje dostęp do całej sieci
prywatnej, podczas gdy w SSL VPN tylko do konkretnych usług i aplikacji
zlokalizowanych wewnątrz tej sieci.
Konieczność wspierania instalacji i konfiguracji oprogramowania na zdalnych
maszynach może podnosić koszty funkcjonowania zdalnego dostępu. Dlatego
w ofercie niektórych producentów znajduje się sprzętowy klient IPSec VPN.
Niewątpliwą zaletą technologii SSL VPN jest możliwość współpracy ze
standardowymi przeglądarkami internetowymi. Znika występujący w IPSec
problem instalacji oprogramowania klienckiego na zdalnej maszynie. Brak
dedykowanego klienta ogranicza jednak możliwość współpracy tylko do
niektórych aplikacji. Ponadto praca w trybie „cienkiego” klienta, klient/serwer
lub z aplikacjami niewspółpracującymi z przeglądarkami wymaga pobrania i
uruchomienia agenta: apletu Java, kontrolki ActiveX itp… Rozszerzenia te
mogą obniżać poziom bezpieczeństwa. Ograniczenia mogą sprawiać, że SSL
VPN nie będzie spełniać wszystkich wymagań użytkowników
przyzwyczajonych do pełnego dostępu do zasobów sieci i aplikacji.
Rozwiązania VPN powinny oferować centralny system zarządzania
regułami bezpieczeństwa, nadzorujący dostęp do zasobów sieci, czas
„życia” certyfikatów, algorytmy kryptograficzne, klucze. W SSL VPN
funkcję tę pełni brama SSL lub SSL Proxy.
W momencie zestawienia połączenia IPSec VPN zdalny komputer staje się
częścią sieci prywatnej. Z tego powodu wdrożenie rozwiązania IPSec jest
większym wyzwaniem. Należy zapewnić sprawny przydział adresów (np…
DHCP) i ruting, z uwzględnieniem zdalnych maszyn. W połączeniach IPSec
są wykorzystywane dwa adresy IP: zewnętrzny - funkcjonujący w sieci
operatora oraz wewnętrzny - funkcjonujący wewnątrz sieci prywatnej.
Konieczne są: wyznaczenie uprawnień dla określonych grup zdalnych
użytkowników oraz przyporządkowanie im dostępnych zasobów:
katalogów, serwerów, portów.
Problem ten nie istnieje przy protokole SSL, gdyż funkcjonuje on
powyżej warstwy IP. Pozwala to również uniknąć problemów przy
przejściu przez występujące po drodze serwery NAT (Network Address
Translation) i PAT (Port Address Translation).
Ze względu na to, że brama SSL VPN znajduje się zazwyczaj za
zaporą sieciową, konieczne jest zapewnienie dodatkowej ochrony sieci
prywatnej. Jeżeli pozwala na to budżet firmy, dobrym rozwiązaniem
jest umieszczenie bram IPSec i SSL w strefie zdemilitaryzowanej DMZ
(DeMilitarized Zone). Wiele rozwiązań sprzętowych łączy bramę VPN i
zaporę ogniową.
IPSec posługuje się dwufazowym mechanizmem wymiany kluczy IKEv1
(Internet Key Exchange). Mogą być nimi certyfikaty cyfrowe X.509, RSA
(SecurID) użytkowników i urządzeń, a także tajne klucze (Pre-shared
Secrets), ustalane ręcznie. Mechanizm IKEv1 jest dosyć złożony, dlatego
należy się spodziewać wdrożenia jego nowszej i prostszej wersji,
zaproponowanej przez IETF - IKEv2. Alternatywną metodą jest
uwierzytelnianie XAUTH (Extended Authentication), w której jest wymagana
znajomość identyfikatora i hasła. W tym celu mogą być wykorzystane
zewnętrzne systemy, np… RADIUS (Remote Access Dial-In User Service),
LDAP (Lightweight Directory Access Protocol), TACAS+, MS Active Directory
lub Smart Cards.
Serwery SSL są uwierzytelniane za pomocą certyfikatów
cyfrowych. Klient może natomiast wykorzystywać dowolną metodę
uwierzytelniania: certyfikaty, hasła oraz tokeny. Z tego powodu SSL
jest zdecydowanie lepszym i bezpieczniejszym rozwiązaniem w
przypadku klientów o ograniczonym zaufaniu lub tam, gdzie
zainstalowanie certyfikatów może przysparzać trudności: w
komputerach kooperantów, domowych PC, kawiarenkach
internetowych itp… W przeciwieństwie do IPSec procedura wymiany
kluczy podczas jednej sesji jest przeprowadzana wielokrotnie.
IPSec udostępnia dany fragment sieci całej grupie zaufanych
użytkowników. Ze względu na to, że SSL VPN funkcjonuje w warstwie
aplikacji, możliwa jest kontrola dostępu nie tylko w przypadku
konkretnych użytkowników, lecz także poszczególnych aplikacji,
wewnętrznych adresów URL, dostępnych komend oraz filtrowania
treści. Oczywiście, konfiguracja i modyfikacja zasad dostępu są
wtedy bardziej pracochłonne.
Połączenia IPSec/SSL VPN mogą być zestawiane pomiędzy
użytkownikami z wykorzystaniem dedykowanych urządzeń
(appliances), serwerów, ruterów, zapór z wbudowaną obsługą VPN
lub komputerów osobistych.
Projektując sieć, należy zdecydować, kiedy korzystać z IPSec, a kiedy
z SSL. IPSec VPN jest obecnie standardem de facto przy tworzeniu
sieci zdalnego dostępu. Stanowi on dobre rozwiązanie dla połączeń
pomiędzy oddziałami (site-to-site) lub użytkowników potrzebujących
pełnego dostępu do usług zdalnej sieci (np… Administratorów).
Jednak w przypadku mało wymagających użytkowników, a także w
celu zapewnienia wysokiego poziomu bezpieczeństwa, bardziej
zasadne wydaje się stosowanie SSL VPN. Wszystkie powyższe
wymagania jest w stanie pogodzić hybrydowa sieć IPSec/SSL VPN.
Produkt VPN powinien zapewniać:
system zarządzania kontrolujący dostęp do serwerów;
obsługę aplikacji korzystających z różnych portów TCP;
sprawdzanie konfiguracji zdalnego komputera pod względem
bezpieczeństwa;
sprawdzanie, czy na zdalnej maszynie nie ma oprogramowania
szpiegującego (spyware), które mogłoby przechwycić wszystkie
dane, łącznie z hasłami, kluczami itp…;
silną kryptografię i uwierzytelnianie;
po rozszyfrowaniu transmisji brama powinna chronić sieć wewnętrzną
przed atakami, które mogą przychodzić w ruchu od zdalnego
użytkownika (wirusy, robaki, konie trojańskie itp…);
zabezpieczenie przed atakami (DoS, spoofing itp…);
wyłączenie buforowania danych (jest przesyłany metaznacznik „NO
CACHE”);
czyszczenie maszyny klienckiej z wszelkich danych pobranych
podczas zdalnej sesji;
odpowiednią wydajność szyfrowania.
W obydwu typach sieci VPN jest możliwe zastosowanie algorytmów
szyfrujących DES i 3DES. Niektóre rozwiązania wspomagają już
najnowszy standard AES (Advanced Encryption Standard), pozwalający
na szyfrowanie przy użyciu klucza 256-bitowego. W produktach SSL VPN
są spotykane algorytmy szyfrowania RSA, RC-4. Chcąc zapewnić
poufność transmisji, należy stosować klucze o odpowiedniej długości. Im
klucze są dłuższe, tym trudniej odszyfrować wiadomość. Aby zapewnić
wysoki stopień poufności (silne szyfrowanie), należy stosować:
dla algorytmów asymetrycznych - klucze co najmniej 1024-bitowe,
dla algorytmów symetrycznych - klucze powyżej 124 bitów.
W przypadku sieci SSL VPN wskazane jest stosowanie protokołu TLSv1
(Transport Layer Security), który oferuje większe bezpieczeństwo niż
starszy SSLv3.
Ochrona przed atakami
Ataki określane mianem Man-in-the-Middle są możliwe, gdy atakujący
uzyska dostęp do przesyłanych pakietów. IPSec zapobiega wszelkim
modyfikacjom pakietów. Często jednak występują konflikty w trakcie
przesyłania pakietów przez serwer translacji adresów NAT (Network Address
Translation), który modyfikuje pakiety, zamieniając adresy publiczne na
prywatne. Tylko niektóre produkty IPSec zawierają odpowiednie modyfikacje,
radząc sobie z tą wadą (IPSec NAT Traversal). Problem ten nie dotyczy SSL,
gdyż rozwiązanie to opiera się na pakietach TCP. Numer sekwencji zawarty w
zaszyfrowanym pakiecie zapobiega wszelkim wtrąceniom obcych danych, a
uwierzytelnianie stosowane przez TLS - zmianom treści.
Atak typu DoS ('Denial-of-Service) ma na celu zablokowanie bądź
utrudnienie dostępu do określonej usługi lub aplikacji, np… Poprzez zalanie
pakietami (packet floods). W tym przypadku IPSec radzi sobie lepiej, gdyż
operuje datagramami, które można łatwiej przetworzyć niż pakiety TCP SYN.
SSL jest bardziej podatne na ataki (np… TCP SYN Flooding) ze względu na to,
że korzysta z sesji TCP, których zestawienie wymaga więcej czasu i zasobów.
Niektóre produkty VPN sprzętowo przyspieszają obsługę sesji i dzięki temu
są mniej podatne na ataki DoS.
IPSec jest również bardziej odporny na podsyłanie powtórzonych pakietów
(Message Replay), gdyż ramki poza kolejnością są wykrywane i odrzucane
na niższym poziomie stosu protokołów. W SSL są one wykrywane przez
mechanizm sesji TCP lub SSL Proxy.
Komputery zdalnych klientów mogą stanowić dwojakiego rodzaju zagrożenie, tzn. być
zarówno celem, jak i źródłem ataku. Należy wymagać od użytkowników przestrzegania
ogólnych zasad bezpieczeństwa: używania zapór ogniowych, systemów
antywirusowych, uwierzytelniania, kontroli dostępu itp… Część oprogramowania
klienckiego IPSec zawiera wbudowane mechanizmy kontroli bezpieczeństwa maszyn
użytkownika. Ze względu na to, że połączenia SSL VPN mogą być nawiązywane z
miejsc publicznych, wymagają szczególnej ochrony, którą można zapewnić poprzez
stosowanie m.in… Takich metod, jak:
usuwanie podczas kończenia sesji wszystkich zbuforowanych danych: stron WWW,
kluczy, cookies, plików tymczasowych, schowka systemowego,
uruchamianie apletów sprawdzających otwarte porty oraz włączanie oprogramowania
antywirusowego,
zablokowanie wykonywania niektórych komend, np… Kopiowania, zapisywania.
Bezpieczeństwo klienta
Zdecydowana większość (70-95%) użytkowników firmowych systemów
zdalnego dostępu korzysta wyłączne z dostępu do poczty, plików, zarządzania
informacją osobistą (PIM - Personal Information Management), intranetu oraz
aplikacji biurowych, zlokalizowanych na zakładowym serwerze.
Do realizacji tych usług wystarczą rozwiązania oparte na SSL VPN. To
technologia tańsza i w założeniu bardziej niezawodna od innych. Tradycyjne
usługi RAS oraz IPSec VPN mogą być w dużym stopniu zastąpione
wdrożeniem SSL VPN i usług terminalowych.
Optymalnym rozwiązaniem jest udostępnienie wszystkim pracownikom
dostępu SSL VPN, a tylko wyznaczonym - IPSec VPN.
Każdemu wg potrzeb
KONIEC