Urządzenie będące punktem końcowym połączenia VPN nie musi być specjalnym urządzeniem takim jak koncentrator VPN lub router. Może to być zwykły komputer osobisty wyposażony w odpowiedni system operacyjny z wbudowaną obsługą połączeń VPN.
Może to być też komputer z zainstalowanym dodatkowym oprogramowaniem takim jak Cisco VPN Software Client. Wykorzystanie systemu operacyjnego lub oprogramowania do obsługi wirtualnych sieci prywatnych znajduje przeważnie zastosowanie w architekturze host-to-host lub host-to-gateway (po stronie hosta). Bardzo rzadko wykorzystuje się komputery osobiste jako serwery VPN (bramy VPN). Dzięki możliwościom komputerów osobistych, użytkownicy łączący się zdalnie ze swoją siecią np. firmową nie muszą posiadać specjalnych urządzeń tylko odpowiednie oprogramowanie, a moce obliczeniowe dzisiejszych procesorów w zupełności wystarczą do szyfrowania i deszyfrowania danych użytkownika.
IPSec jest obecnie dostępny dla każdego systemu operacyjnego. Stanowi jedno z najbezpieczniejszych rozwiązań do budowy sieci VPN. IPSec VPN używa powszechnie przyjętych algorytmów kryptograficznych: DES, 3DES, AES, RC4 oraz zapewnia integralność danych: MD5 i SHA. W skład IPSec wchodzą trzy mechanizmy:
1.1. Windows VPN Client
Systemy operacyjne firmy Microsoft: Windows 2000, Windows XP, Windows 2003 i Windows Vista posiadają wbudowane oprogramowanie do obsługi VPN. We wcześniejszych wersjach systemu konieczne było zainstalowanie dodatkowego programu.
Obecne wersje systemu Windows umożliwiają wykorzystanie zarówno L2TP/IPSec jaki i PPTP. Przy zastosowaniu L2TP/IPSec możliwe są dwa sposoby uwierzytelnienia: tajne hasła oraz certyfikaty cyfrowe. Uwierzytelniania dostępne w PPTP to MSCHAPv1 i MSCHAPv2, które posiadają słabe strony pod względem bezpieczeństwa. Dlatego też zaleca się stosowanie L2TP/IPSec. Pomijając ten fakt, PPTP jest protokołem łatwiejszym w implementacji i użyciu. Najczęściej znajduje zastosowanie w implementacjach, które nie wymagają bardzo wysokiego poziomu poufności.
Poniższy obrazek przedstawia okno wyświetlane przez system operacyjny podczas nawiązywania połączenia VPN. W oknie tym podaje się nazwę użytkownika oraz hasło. Wygląd tego okna jest niemalże identyczny we wszystkich wersjach systemu Windows.
1.2. Cisco Software VPN Client
Cisco Software VPN Client jest programem umożliwiającym zdalny dostęp z praktycznie dowolnego komputera osobistego. Istnieją wersje dla różnych systemów operacyjnych: Windows, Linux, Mac OS, Solaris. Wersje dla Windows i Mac OS posiadają interfejs graficzny, pozostałe zarządzane są poprzez wiersz poleceń. Cisco VPN Client używa protokołu IPSec w celu utworzenia połączenia ze zdalnym punktem będącym serwerem Easy VPN wykorzystującym technologię Cisco Easy VPN. Serwerem Easy VPN może być koncentrator VPN z serii 3000, router wyposażony w odpowiedni system operacyjny IOS (ang. Internetwork Operating System), firewall PIX (ang. Private Internet Exchange) lub ASA (ang. Adaptive Security Appliance).
Cisco VPN Client korzysta z wielu rozwiązań, z których niektóre są zgodne ze standardami a inne zostały opracowane przez firmę Cisco. Do wyboru są dwie funkcje skrótu: MD5 i SHA-1, różne metody uwierzytelnienia: tajne klucze, certyfikaty cyfrowe, XAUTH (IKE Extended Authentication), wiele algorytmów szyfrowania: DES, 3DES, AES-128, AES-256. Program można w łatwy sposób skonfigurować z poziomu interfejsu graficznego przedstawionego na rysunku.
Cisco Software VPN Client, w porównaniu z Windows VPN Client, które wspiera także PPTP, wykorzystuje tylko IPSec. Oba rozwiązania są podobne pod względem nawiązywania połączenia (tworzenia tunelu), ale rozwiązanie Cisco wykracza poza standard IPSec i dodaje kilka własnych pomysłów, np. split-tunneling (oddzielenie ruchu, który ma być chroniony od reszty ruchu), IPSec over TCP lub reverse route injection. Wykorzystanie Cisco Software VPN Client daje więc większe możliwości. Nie oznacza to, że rozwiązanie firmy Microsoft jest nieprzydatne. Wręcz przeciwnie, posiada pewne zalety w stosunku do oprogramowania Cisco, np. istnieje możliwość utworzenia pakietów instalacyjnych zawierających wszystkie ustawienia IPSec dotyczące polityki bezpieczeństwa i profili połączenia VPN, co w znacznym stopniu ułatwia zarządzanie stacjami roboczymi.
1.3. FreeS/WAN
FreeS/WAN (ang. Secure Wide Area Network) był do niedawna najpopularniejszą i najbardziej zaawansowaną implementacją protokołu IPSec w systemie operacyjnym Linux. Rozpowszechniany jest na zasadach licencji GNU GPL, dzięki czemu można używać go bez ograniczeń i rozprowadzać wraz z kodem źródłowym. FreeS/WAN zbudowany jest z kilku składników:
- KLIPS (ang. KerneL IPsec Support) - jest to łata na jądro systemu wprowadzająca niezbędne rozszerzenia dla IPSec w systemie Linux:
- PLUTO - jest demonem, który implementuje protokół IKE. Jego zadaniem jest:
FreeS/WAN nie obsługuje transmisji w trybie transportowym, ale pojedynczy host może funkcjonować jako pojedyncza brama. Implementacja FreeS/WAN dostępna jest do większości dystrybucji Linux. Z powodu rozbieżności pomiędzy założeniami projektu a oczekiwaniami użytkowników (np. NAT, algorytmy kryptograficzne), prace nad FreeS/WAN zostały wstrzymane i powstały kolejne nowe rozwiązania: OpenSwan i StrongSwan.
1.4. OpenSwan i StrongSwan
OpenSwan w swoich założeniach powinien być łatwiejszy do zaimplementowania w porównaniu z FreeS/WAN. Dystrybucja domyślnie zawiera oprogramowanie, które w edycji FreeS/WAN trzeba było doinstalować w postaci łatek: certyfikaty X.509, RSA, Smart Cards, NAT Traversal. OpenSwan oferuje szyfrowanie AES oraz funkcje skrótu SHA2. Dostępny jest w większości środowisk linuksowych.
Z kolei StrongSwan oferuje następujące protokoły szyfrowania: 3DES, AES, Serpent, Twofish oraz Blowfish. Uwierzytelnianie w tym rozwiązaniu oparte jest na certyfikatach X.509 lub kluczach współdzielonych. Korzystając z protokołu HTTP lub LDAP można sprawdzać listę odwołanych certyfikatów CRL (ang. Certificate Revocation Lists) oraz bieżącą ważność certyfikatu OCSP (ang. Online Certificate Status Protocol). Ponadto StrongSwan posiada wbudowaną funkcję NAT Traversal.
SSL definiuje bezpieczny mechanizm wymiany zaszyfrowanych danych pomiędzy aplikacjami, na trasie od zdalnego użytkownika do bramy SSL. Protokół SSL niezależny jest od protokołów niższych warstw, np. IP. W rozwiązaniach SSL VPN wykorzystuje się protokół SSLv3 lub nowszy TLSv1. Podczas zestawiania połączenia SSL VPN następuje:
2.1. SSL - Explorer
SSL - Explorer jest jednym z najłatwiejszych do skonfigurowania rozwiązań VPN. Do tworzenia bezpiecznych połączeń wykorzystywany jest protokół SSL. Wszystkie połączenia szyfrowane się kluczem o długości 128 bitów. Zasoby intranetowe udostępniane są metodą przekazywania stron (ang. Web Forwarding) lub przez bezpłatne oprogramowanie do zdalnego dostępu, np. Microsoft RDP Client, Virtual Network Computing lub Citrix ICA. Do programu dołączona jest baza, która przechowuje informacje o użytkownikach. Bazę tą można zintegrować z bazą użytkowników Active Directory. Dostęp do zasobów zależy od konfiguracji profilu, właściwego dla danej lokalizacji klienta. Wszystkie połączenia są uwierzytelniane i mogą być przekazywane przez serwer proxy. SSL - Explorer oferowany jest w wersjach do Windows XP/2000 oraz Red Hat. Nie posiada żadnych ograniczeń co do liczby użytkowników. Ponadto nie jest wymagana instalacja oprogramowania klienckiego - wystarczy zwykła przeglądarka. Do poprawnego działania SSL – Explorer wymaga otwarcia na zewnątrz tylko jednego portu, definiowanego podczas konfiguracji. GUI służące do zarządzania oferowane jest także do Linuksa. Wadą programu jest brak obsługi polskich liter. Konta utworzone dla użytkowników sieci VPN, których nazwiska wpisano z użyciem polskich liter, nie działają i nie można ich usunąć.
2.2. Yavipin
Kolejnym oprogramowaniem wykorzystywanym do budowy sieci VPN jest Yavipin (ang. Yet another VPN). Służy ono do połączeń między dwoma węzłami. W środowisku linuksowym funkcjonuje w przestrzeni użytkownika - nie ma potrzeby rekompilacji jądra ani instalacji dodatkowych łat. Cechą charakterystyczną tego rozwiązania jest to, wprowadza do pakietów niewiele dodatkowych danych (26 bajtów), np. w IPSec VPN dane wtrącane (ESP z DES i MD5) zajmują 32 bajty. Ruch przez węzły przeprowadzające translację adresów NAT przesyłany jest za pomocą pakietów UDP w IPv4. Pakiety przesyłane pomiędzy węzłami są szyfrowane za pomocą algorytmów Blowfish i uwierzytelniane poprzez HMAC-MD5. Yavipin zawiera mechanizm zapobiegający retransmisji i powtórnej akceptacji tego samego pakietu. Dodatkowo chroni przed atakami typu DoS typu TCP SYN. Klucze prywatne i klucze sesyjne są często zmieniane i usuwane z pamięci.
2.3. OpenVPN
OpenVPN to program działający w oparciu o protokół SSL służący do zestawiania wirtualnych sieci prywatnych. Jest jednym z najpopularniejszych rozwiązań SSL VPN. Posiada rozbudowane możliwości konfiguracyjne, których często brak w innych implementacjach VPN. Spośród najważniejszych cech można wymienić:
- prosta instalacja i konfiguracja, która wymaga ustawienia kilku parametrów,
- wykorzystuje dobrze znany, sprawdzony i powszechnie stosowany protokół SSL,
- działa w warstwie użytkownika,
- dostępny jest na licencji GPL w wersji 2,
- jest stale i dynamicznie rozwijany,
- działa bezproblemowo w sieciach za NAT-em.
Istnieją wersje tego programu do kilku systemów operacyjnych, m.in. do Linuksa, Windows, OpenBSD, FreeBSD, NetBSD i Solarisa. W wersji pierwszej tego programu należało otworzyć oddzielny port, co było bardzo uciążliwe i w przypadku większej liczby użytkowników trzeba było zrobić sporą „dziurę” w firewallu. Wersja druga potrafiła już obsługiwać wielu klientów na tym samym porcie. OpenVPN może funkcjonować również w sieciach, w których komunikacja ze światem zewnętrznym odbywa się poprzez serwer proxy.
Konfiguracja programu OpenVPN polega na utworzeniu pliku konfiguracyjnego oraz przygotowaniu kluczy i certyfikatów SSL dla serwera i klientów.
OpenVPN może działać w następujących trybach:
- tryb routera - używany w przypadku konfiguracji typu brama + wielu klientów lub brama – brama. Przykładem wykorzystania tego trybu może być chociażby zdalny dostęp do zasobów firmy przez mobilnych pracowników.
- tryb bridża - wykorzystywany w sytuacji łączenia dwóch lub większej liczby sieci. W trybie tym przekazywany jest cały ruch, łącznie z broadcastami. Przykładem zastosowania tego trybu jest utworzenie tunelu VPN pomiędzy oddziałem firmy i centralą w taki sposób, aby pomiędzy nimi działał protokół IPX.
| REKLAMA |
| REKLAMA |