english deutsch france polnisch italian spanish
  Home  |   Kontakt  |
   

05.04.2006
Materiały źródłowe
IPSec kontra SSL
IPSec kontra SSL VPN
Wirtualne sieci prywatne (VPN - Virtual Private Network) umożliwiają bezpieczne przesyłanie danych w publicznych, niezabezpieczonych sieciach takich jak Internet. Jeśli połączenie VPN (zwane tunelem ze względu na odseparowanie od sieci, w której jest realizowane) ma swój początek i koniec w sieci firmowej, może być realizowane za pomocą protokołu IPSec (Internet Protocol Security) lub SSL (Secure Sockets Layer). W celu wybrania odpowiedniego rozwiązania, należy rozważyć następujące aspekty:
  • ilość użytkowników i ich lokalizacja
  • koszty wdrożenia i użytkowania
  • elastyczność rozwiązania
  • zarządzanie
  • wydajność i skalowalność
  • wymagany poziom bezpieczeństwa
  • sposoby na uzyskanie dostępu do infrastruktury
  • używane aplikacje
IPSec: bezpieczeństwo w warstwie sieci
Protokół IPSec działa w warstwie 3 modelu OSI (warstwa sieci). Zaimplementowane są w nim techniki umożliwiające silne szyfrowanie danych, jednoznaczne uwierzytelnianie i wymianę kluczy szyfrujących. Techniki te zapewniają maksymalne bezpieczeństwo danych przesyłanych przez sieć IP już na poziomie warstwy sieciowej czyniąc z IPSec rozwiązanie idealne do łączenia oddalonych placówek firmy.

Poszczególne funkcje protokołu IPSec opisane są w dokumentach standaryzacyjnych opracowanych przez Internet Engineering Task Force (IETF). Dokumenty te określają różne metody uwierzytelniania i szyfrowania (np. Authentication Header, Encapsulating Security Payload) oraz dwa tryby: transportowy (Transport Mode) i tunelowy (Tunnel Mode). Tryb transportowy używany jest gdy urządzenia stojące po obu stronach połączenia są równocześnie jedynymi odbiorcami zaszyfrowanych danych. Tryb tunelowy stosuje się, gdy urządzenia realizujące połączenie VPN nie są ostatecznymi odbiorcami przesyłanych danych (Rys.1).


Rys. 1: VPN - tryb transportowy i tunelowy

Wymiana kluczy, za pomocą których realizowane jest szyfrowanie połączenia IPSec odbywa się z użyciem protokołu IKE (Internet Key Exchange), który umożliwia wdrożenie niezliczonych scenariuszy zarządzania kluczami.
IPSec jest standardowym protokołem, który opisuje reguły komunikacji zapewniające bezpieczny przesył danych za pomocą protokołu IP. Wykorzystanie silnych algorytmów szyfrowania (których skuteczność zależy w dużej mierze od konkretnej implementacji w produktach danego producenta) oraz powszechność protokołu IP sprawiły, że protokół IPSec jest de facto standardem w zapewnianiu w warstwie sieciowej. IPSec sprawdza się wyjątkowo dobrze w aplikacjach realizujących połączenia tunelowe pomiędzy centralą a odległymi placówkami firmy i filiami. Podobnie rzecz ma się z pełnym zdalnym dostępem do firmowej sieci dla pracowników wykonujących swe obowiązki w biurach domowych - użytkownicy mogą pracować tak, jakby znajdowali się w siedzibie firmy. Nie ma konieczności wdrażania dodatkowych zabezpieczeń. IPSec jest jedynym rozsądnym rozwiązaniem w sytuacji, gdy wykorzystywane aplikacje nie bazują na przeglądarce internetowej i techniki bezpiecznego z niej korzystania nie są wymagane.
IPSec znajduje również zastosowanie w połączeniu z coraz popularniejszymi technologiami bezprzewodowymi WLAN. W takim środowisku możliwe jest zestawienie połączenia IPSec z lokalną bramą VPN (dzięki czemu połączenie bezprzewodowe zyskuje dodatkową ochronę) oraz nawiązanie połączenia z odległą bramą VPN, z pominięciem lokalnych, aktywnych urządzeń sieciowych (VPN Pass-through). Wykorzystanie protokołu IPSec poleca się nawet wtedy, gdy strona zdalna jest zaufana – np. w przypadku zdalnego zarządzania. Często podnoszona kwestia wysokich nakładów na wdrożenie rozwiązań IPSec po stronie klienckiej może być problemem jedynie w szczególnych wypadkach. Obecnie dostępne narzędzia konfiguracyjne znakomicie minimalizują koszty i skracają czas wdrożenia. Zupełnie nowe zastosowania, które w założeniach wymagają łączności na poziomie IP, mogą być włączone do struktury VPN natychmiast i bez konieczności adaptacji. Dla kontrastu, przy wykorzystaniu SSL konieczne byłoby przystosowanie do nowego zastosowania całej infrastruktury.

SSL: bezpieczeństwo na poziomie aplikacji
SSL zapewnia zdalny dostęp do aplikacji i danych za pośrednictwem standardowej przeglądarki internetowej. W takiej architekturze niezbędnym staje się zaradzenie niedoskonałościom uwierzytelniania HTTP, które zezwala na wielokrotne używanie danych wymaganych do logowania. Stosunkowo łatwym rozwiązaniem jest tu wdrożenie własnych rozwiązań opartych na SSL lub zablokowanie cookies. Ważną kwestią jest również zabezpieczenie systemów zdalnych: poufne dane mogą być np. przechowywane w pamięci podręcznej przeglądarki lub folderze odwiedzanych stron. Ponieważ zdalne systemy jako całość nie muszą znajdować się pod kontrolą administratora, ochronę przed wirusami, robakami i innymi zagrożeniami mają zapewnić osobne programy czuwające nad bezpieczeństwem systemu.

Protokół SSL został opracowany przez firmę Netscape. Technologia stała się w krótkim czasie standardem dla bezpiecznych połączeń pomiędzy klientem a serwerem. Opracowany przez IETF standard TLS (Transport Layer Security) bazował na SSL. Oba mechanizmy (SSL i TLS) działają w 4 warstwie modelu OSI (warstwa transportowa) i oferują zuniformizowany interfejs bazujący na przeglądarce internetowej, dostęp do różnorodnych danych i bezpieczeństwo w warstwie aplikacji. Z technicznego punktu widzenia protokół SSL uczestniczy w wymianie danych pomiędzy elementami sieciowymi a aplikacją, czyli w warstwach 5, 6, 7 i 4.

Podstawą dla zastosowania SSL jest przeglądarka internetowa, w związku z czym idealnie nadaje się do realizacji zdalnego dostępu do usług opartych na WWW, np. dostępu do poczty i innych aplikacji intranetowych. Technologia ta znajduje zastosowanie w środowiskach wykorzystujących extranet gdzie udostępnia się jedynie niektóre i wybrane aplikacje. Przykładem mogą tu być portale, gdzie dostęp do wielu różnych aplikacji sieciowych przyznawany jest na podstawie osobistego profilu użytkownika. Podstawowy model SSL w architekturze klient/serwer umożliwia dostęp nieograniczonej liczbie systemów zdalnych, jednak taki model wymusza zastosowanie funkcji proxy na poziomie bramy SSL. Po pokonaniu tej trudności (czas i inwestycja), odpowiednie proxy umożliwiają włączenie w strukturę SSL nawet „starych” lecz często istotnych dla działania firmy aplikacji. Jedynym wymaganym narzędziem jest wtedy przeglądarka internetowa.

Przykład zastosowania IPSec


Rys. 2: VPN Pass-through


Rysunek 2 ilustruje scenariusz połączenie VPN z zastosowaniem IPSec. Tunel zestawiony jest pomiędzy pojedynczym komputerem (np. laptopem zdalnego, mobilnego pracownika) a serwerem VPN w firmie. Scenariusz ten wykorzystywany jest bardzo często przy łączeniu biur domowych z centralą firmy. Tunel VPN (kolor fioletowy) pomiędzy komputerem klienckim a bramą VPN w firmie przechodzi przez router (VPN pass-through), który świadczy lokalnej sieci komputerowej, w której znajduje się komputer zdalnego pracownika usługi dostępu do Internetu. W takiej aplikacji elementem o zasadniczym znaczeniu jest programowy klient IPSec zainstalowany w komputerze. W zależności od stopnia zaawansowania tego programu, może on oferować dodatkowe funkcje, które nie mają bezpośredniego związku z IPSec (np. wyspecjalizowana zapora sieciowa - firewall), ale wpływają na zwiększenie bezpieczeństwa systemu. Tak zwany gateway VPN należy do infrastruktury sieciowej firmy. Zwykle jest to router z wbudowaną obsługą VPN i IPSec lub umożliwiający uruchomienie takich usług za pomocą specjalnej licencji. Ponieważ specyfikacja IPSec definiuje wiele różnych mechanizmów bezpieczeństwa, konieczne jest zapewnienie kompatybilności pomiędzy komputerem klienckim a bramą VPN w firmie. Stosowanie po obu stronach połączenia rozwiązań jednego producenta nie jest wymogiem o ile zapewniona jest zgodność rozwiązań i obsługa wymaganych mechanizmów bezpieczeństwa.

IPSec kontra SSL
IPSec wykorzystuje połączenia tunelowe dla zapewnienia bezpiecznej transmisji danych, przy czym rodzaj tych danych nie gra żadnej roli. SSL przeciwnie, weryfikuje, czy dany użytkownik ma odpowiednie prawa dostępu do konkretnej aplikacji. Oznacza to, że sieci prywatne oparte na SSL muszą oferować mechanizmy monitorowania i kontroli praw dostępu. Ponieważ profesjonalne rozwiązania biznesowe (bazy danych, usługi katalogowe, itp.) posiadają własne zabezpieczenia, konieczna okazuje się ich integracja z SSL. Przed wdrożeniem konkretnego rozwiązania opartego na SSL należy sprawdzić, czy zapewni ono możliwość współpracy z istniejącymi aplikacjami. Sieci prywatne oparte na SSL obsługują zarówno „prawdziwe” aplikacje sieciowe, których rodzimym interfejsem użytkownika jest przeglądarka internetowa oraz te, które należy wpierw zaadaptować. Adaptacja taka realizowana jest zwykle za pomocą modułów Java i kontrolek ActiveX, które działają niewidocznie dla użytkownika. Poziom bezpieczeństwa oferowany przez dodatki napisane w jeżyku Java i kontrolki ActiveX jest nieustannym źródłem kontrowersji.

Ekonomiczne aspekty zastosowania protokołów IPSec i SSL mogą być porównywane jedynie w ściśle określonych przypadkach. Jeśli chodzi o IPSec, do kalkulacji należy dodać wyspecjalizowanego klienta (koszt takiego programu może – w zależności od oferowanych funkcji – osiągnąć cenę nawet 90 EUR za szt.). Kosztów tych nie trzeba ponosić w przypadku stosowania SSL. Z zastosowaniem sieci VPN realizowanych za pomocą IPSec związane są również koszty licencji dla serwerów, zależne zwykle od ilości obsługiwanych połączeń. Mimo że nie stosuje się licencjonowania dla centralnych bram SSL VPN, koszty wdrożenia takich rozwiązań sprzętowych są znacząco wyższe niż w przypadku urządzeń obsługujących IPSec. Trzeba również wziąć pod uwagę czas i fundusze potrzebne do uruchomienia SSL proxy wymaganego przy wdrażaniu nowych aplikacji. W przypadku rozwiązań opartych na IPSec nie można pominąć kosztów konfiguracji klientów, jednak można je znacznie obniżyć stosując zautomatyzowane narzędzia instalacyjne.

Podsumowanie
IPSec gwarantuje maksymalne bezpieczeństwo dla transmisji danych IP na poziomie warstwy sieci i nadaje się idealnie do łączenia oddalonych placówek firmy. SSL oferuje bezpieczny dostęp do różnego rodzaju danych za pośrednictwem zuniformizowanego interfejsu użytkownika w postaci przeglądarki internetowej oraz wysokie standardy bezpieczeństwa na poziomie warstwy aplikacji. Protokół ten jest więc optymalnym rozwiązaniem w przypadku realizowania dostępu dla szerokiego grona odbiorców końcowych. Obie technologie można uznać za uzupełniające się i - przynajmniej na razie - dla obu jest sporo miejsca na rynku rozwiązań zdalnego dostępu. Sytuacja ta może zmienić się na korzyść IPSec z chwilą wprowadzenia i upowszechnienia protokołu IP w wersji 6 gdyż specyfikacja IPSec wywodzi się wprost z wstępnych dokumentów grupy roboczej zajmującej się IPv6.


Za i przeciw - IPSec i SSL:
IPSec
SSL
Za
- Najwyższy poziom zabezpieczeń w warstwie sieciowej
- Najnowsze i najbezpieczniejsze algorytmy
- Wysoki poziom zabezpieczeń w warstwie aplikacji
- Duża elastyczność w różnych zastosowaniach
Przeciw
- Konfiguracja wymaga podstawowej wiedzy na temat wykorzystywanych technik i trybów
- Duża czułość na błędy w konfiguracji
- Konieczność adaptacji programów nie współpracujących z przeglądarką internetową
- Konieczność zabezpieczenia przeglądarki internetowej

Aspekty funkcjonalne IPSec i SSL:


IPSec
SSL
- Realizacja tuneli łączących oddalone lokalizacje firmy
- Połączenie dla pracowników zdalnych i biur domowych
- Prosty, pełny dostęp do zasobów sieci firmowej
- Integracja z sieciami bezprzewodowymi
- Zdalny dostęp do aplikacji opartych na przeglądarce internetowej, np. poczty elektronicznej, aplikacji intranetowych
- Extranety
- Możliwość podłączenia nieograniczonej liczby systemów zdalnych
- Realizacja portali ze zindywidualizowanymi prawami dostępu dla poszczególnych użytkowników