VPN za darmo
źródło
OpenSwan
www.openswan.orgJak zwiększyć bezpieczeństwo połączeń w sieciach rozległych? Jak połączyć odległe od siebie komputery w sieć "lokalną"? W jaki sposób zapewnić poufność w sieciach WiFi? Należy zestawić je w wirtualną sieć prywatną VPN. W artykule omówimy możliwości i ograniczenia programowych VPN spod znaku open source.
Spis treści artykułu:
* Początek artykułu
* Czy na pewno bezpłatnie?
* Rozwiązania IPSec VPN
* FreeS/WAN
* OpenSwan
* StrongSwan
* KAME
* Oferta SSL VPN
* OpenVPN
* SSL-Explorer
* Yavipin
* VPNmonitor
* Na koniec
Wirtualna sieć prywatna VPN korzysta z publicznej infrastruktury telekomunikacyjnej, która dzięki stosowaniu protokołów tunelowania, szyfrowania i procedur bezpieczeństwa zachowuje poufność danych.
Kliknij, aby powiďż˝kszyďż˝W połączeniach VPN wykorzystywane są dwa adresy IP: zewnętrzny, funkcjonujący w sieci operatora, oraz wewnętrzny - funkcjonujący wewnątrz sieci prywatnej. Konieczne jest wyznaczenie uprawnień dla określonych grup zdalnych użytkowników oraz przyporządkowanie im dostępnych zasobów: katalogów, serwerów, portów. Sieci VPN zapewniają dostęp zdalnym pracownikom do firmowych serwerów i intranetu, łączą oddziały firmy oraz tworzą ekstranety pomiędzy zaufanymi partnerami. Można nimi przesyłać nie tylko dane, ale również głos i wideo, a także wykorzystywać je do świadczenia usług o ograniczonym dostępie, takich jak transakcje bankowe, pobieranie płatnych treści itd. Zastosowanie sieci VPN uniezależnia pracownika od miejsca pracy.
VPN ma trzy rodzaje zastosowań:
# sieci dostępowe - łączą zdalnych użytkowników: czyli pracowników mobilnych, konsultantów, sprzedawców, lokalne filie, z siedzibą firmy;
# intranet - łączy odległe oddziały tej samej firmy;
# ekstranet - zapewnia ograniczony dostęp do sieci firmowej zaufanym partnerom biznesowym.
Rozwiązania VPN powinny znaleźć szerokie zastosowanie w sieciach WiFi. Wykorzystywany w nich protokół WEP (Wired Equivalent Privacy) nie zapewnia poufności, a nadawany sygnał radiowy może odbierać każda antena znajdująca się w jego zasięgu, także należąca do intruza. Są nawet specjalne narzędzia do łamania zabezpieczeń WEP i podsłuchu transmisji sieci WLAN, np. Wep-Crack, AirSnort ( airsnort.shmoo.com ) - mutacja Snorta, znanego z sieci przewodowych.
Bezpieczne sieci VPN można tworzyć za pomocą jednego z trzech protokołów: L2TP (Layer 2 Tunneling Protocol), IPSecurity lub SSL/TLS (Secure Sockets Layer/Transport Layer Security). Dominującym obecnie protokołem jest IPSec, ale coraz większą popularnością cieszy się SSL/TLS.
Czy na pewno bezpłatnie?
Kliknij, aby powiďż˝kszyďż˝Oprogramowanie udostępnia wiele algorytmów kryptograficznych, m.in. DES, 3DES, AES, Blowfish. Jako mechanizm uwierzytelniania można wykorzystać MD5, SHA1, SHA2. Stwierdzenie, że systemy VPN spod znaku open source są bezpłatne, może czasami wprowadzać w błąd. Wprawdzie samo oprogramowanie, rozprowadzane na licencji GNU GPL (General Public Licence), nic nie kosztuje, ale na wdrożenie tych systemów należy poświęcić zdecydowanie więcej czasu niż na rozwiązania "z pudełka". Produkty sprzętowe wydają się lepszym rozwiązaniem w wypadku bardzo małej oraz bardzo dużej liczby użytkowników. Jeśli użytkowników jest niewielu, mogą ich obsługiwać łatwo konfigurowalne, tanie urządzenia. W przypadku sieci VPN koszt wdrożenia i utrzymania rozwiązania open source przez administratora bywa wyższy. Przykładowo sprzętowe rozwiązanie do firm kosztuje dla pięciu użytkowników 900 zł (Check Point Safe@Office 100), a dla dziesięciu 1466 zł (ZyXEL ZyWall 5). Rozwiązania sprzętowe ze względu na wydajność sprawdzają się lepiej także w dużych przedsiębiorstwach. Często funkcja VPN jest oferowana jako dodatek do sprzętowej zapory lub bramy sieci WiFi. Usługi VPN oferują już także polscy dostawcy usług internetowych.
Rozwiązania IPSec VPN
Kliknij, aby powiďż˝kszyďż˝Dwa tryby IPSec - transportowy i tunelowy. IPSec dostępny jest obecnie do każdego systemu operacyjnego. Zyskał miano najbezpieczniejszego rozwiązania do budowy sieci VPN. Jest kolekcją protokołów, a IPSec VPN używa powszechnie przyjętych algorytmów kryptograficznych: DES, 3DES, AES, RC4 oraz zapewniających integralność danych: MD5, SHA. Do wykorzystania są trzy mechanizmy:
# ESP (Encapsulating Security Pay-load) - szyfrowanie (DES, 3DES, AES, Blowfish) i/lub uwierzytelnianie danych oraz sprawdzanie integralności pakietów (MD-5, SHA);
# AH (Authentication Header) - uwierzytelnianie; nieobsługiwany przez najnowsze wersje oprogramowania;
# IKE (Internet Key Exchange) - negocjowanie parametrów połączenia - ISAKMP (Internet Security Association and Key Management Protocol) oraz wymiana kluczy (np. protokół Diffie-Hellmana).
Kliknij, aby powiďż˝kszyďż˝Jest to najprostsza w konfiguracji, a zarazem solidna i oferująca wiele możliwości wersja IPSec VPN na licencji GPL. Zarządzanie na razie możliwe jest tylko w trybie tekstowym. IPSec funkcjonuje w warstwie sieci modelu OSI. Sieci VPN mogą pracować w dwóch trybach:
# tunelowym - ruch jest szyfrowany jedynie pomiędzy bramami tworzącymi w ten sposób tunel, którym mogą się komunikować urządzenia w sieci nieobsługujące IPSec;
# transportowym - sam host przeprowadza transmisję IPSec.
Najpopularniejsza konfiguracja to centralny serwer VPN, do którego podłączają się zdalni użytkownicy (jako tzw. RoadWarrior).
FreeS/WAN
www.freeswan.org
Kliknij, aby powiďż˝kszyďż˝Różnice między wersjami OpenSwan a StrongSwan FreeS/WAN (Secure Wide Area Network) do niedawna był najpopularniejszą i najbardziej zaawansowaną implementacją IPSec do środowiska linuksowego. Oferuje dobrą kryptografię, bo celem jego twórców było uniemożliwienie podsłuchu transmisji internetowych m.in. przez agencje rządowe. Ze względu na obowiązujące w Stanach Zjednoczonych ograniczenie eksportu oprogramowania kryptograficznego nie jest on dostarczany wraz z jądrami systemów operacyjnych. Aby uniknąć sankcji prawnych, jako twórców kodu podaje się obywateli Kanady.
W skład pakietu wchodzą:
# KLIPS (Kernel Ipsec Support) - rozszerzenie jądra systemu o IPSec, implementację ES;
# Pluto - demon implementujący IKE, negocjujący połączenia z innymi systemami.
Aby umożliwić transmisję IPSec w sieciach, w których po drodze występuje translacja adresów NAT, należy zainstalować łatę z funkcją NAT Traversal. Możliwe jest również doinstalowanie obsługi certyfikatów cyfrowych X.509 oraz Smart Cards. Nie jest obsługiwany pojedynczy DES (Data Encryption Standard), uważany za niebezpieczny. Oferowany jest natomiast potrójny DES (3DES) oraz AES (Advanced Encryption Standard). FreeS/WAN nie obsługuje transmisji w trybie transportowym, ale pojedynczy host może funkcjonować jako własna brama. Implementacja FreeS/WAN dostępna jest do większości dystrybucji Linux. Z powodu rozbieżności pomiędzy założeniami projektu (minimalna funkcjonalność) a oczekiwaniami użytkowników (dodatkowe funkcje, np. NAT Traversal, różne algorytmy kryptograficzne) projekt zawieszono, powołując dwa poniższe.
Transmisje
Oprogramowanie klienckie nawiązuje połączenie przez Internet z bramą IPSec VPN, po czym inicjuje procedurę wymiany kluczy IKE. Po pomyślnym uwierzytelnieniu zdalnej maszyny zestawiany jest tunel VPN. Jednorazowe utworzenie takiego tunelu IPSec pomiędzy odległymi maszynami umożliwia przeprowadzenie dowolnej liczby transmisji.
OpenSwan
www.openswan.org
Kliknij, aby powiďż˝kszyďż˝Twórcy tego rozwiązania postawili sobie za cel stworzenie najbezpieczniejszego narzędzia do połączeń VPN opartych na IPSec. OpenSwan to kontynuacja FreeS/WAN, od którego w założeniu powinien on być łatwiejszy do zaimplementowania. Na stronie internetowej projektu można przeczytać, że został zapoczątkowany przez grupę deweloperów "sfrustrowanych polityką towarzyszącą oprogramowaniu FreeS/WAN". Dystrybucja domyślnie zawiera oprogramowanie, które w edycji FreeS/WAN należało doinstalować w postaci łatek: certyfikaty X.509, RSA, Smart Cards, NAT Traversal. Oferuje szyfrowanie AES oraz funkcję skrótu SHA2. Projekt jest sponsorowany przez kilka firm, m.in. Novella. Nad jego rozwojem czuwa kanadyjska firma Xelerence. Dostępny jest do większości środowisk linuksowych, w tym rozprowadzanej przez Novella wersji SUSE oraz Sun Solaris.StrongSwan
www.strongswan.orgKliknij, aby powiďż˝kszyďż˝Pod adresem http://openvpn.se pobrać można graficzny interfejs użytkownika dający pełną kontrolę nad demonem OpenVPN. Umożliwia zarządzanie tunelami, podgląd dzienników zdarzeń, zmianę haseł. Pomysłodawcą projektu Strong- Swan jest prof. A. Steffen, pracujący wcześniej nad rozszerzaniem możliwości FreeS/WAN, a na co dzień zajmujący się bezpieczeństwem komunikacji na uniwersytecie w Zurychu. Oferuje następujące protokoły szyfrowania: 3DES, AES, Serpent, Twofish lub Blowfish. Uwierzytelnianie oparte jest na certyfikatach X.509 lub kluczach współdzielonych. Za pośrednictwem protokołu HTTP lub LDAP można sprawdzać listę odwołanych certyfikatów CRL (Certificate Revocation Lists) oraz bieżącą ważność certyfikatu - OCSP (Online Certificate Status Protocol). Ma wbudowaną funkcję NAT Traversal.KAME
www.kame.netJest to implementacja protokołów IPSec oraz IPv6, utworzona zgodnie z zaleceniami RFC przez kilka japońskich firm i przeznaczona wyłącznie do systemów BSD (FreeBSD, NetBSD, OpenBSD). Obsługuje wiele algorytmów, w tym ESP, AH i ISAKMP. Może funkcjonować zarówno w sieciach IPv4, jak i IPv6. Kryptografię oparto na OpenSSL. Brak rozszerzenia NAT Traversal.Oferta SSL VPNSSL 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. W sieciach SSL VPN wykorzystuje się protokół SSLv3 lub nowszy TLSv1. Podczas zestawiania połączenia VPN SSL następuje:# ustalenie parametrów sesji pomiędzy stronami: rodzaj szyfru, długość klucza, wybór kompresji;
# wzajemna autoryzacja serwera i klienta oraz ustanawianie klucza sesyjnego (SSL/TLS Handshake Protocol);
# transmisja szyfrowana SSL/TLS.OpenVPN
openvpn.netKliknij, aby powiďż˝kszyďż˝Na stronie http://openvpn.se/mycert/ znajduje się graficzny generator certyfikatów służących uwierzytelnianiu. Klucze można generować również tradycyjnie, za pomocą OpenSSL. OpenVPN to jedno z najpopularniejszych rozwiązań SSL VPN. Służy do budowy sieci VPN opartych na protokole SSL/TLS. Jest łatwy w obsłudze i ma rozbudowane możliwości konfiguracyjne. Są wersje do kilku systemów operacyjnych, m.in. do Linuksa, Windows, OpenBSD, FreeBSD, NetBSD, Solarisa. W wersji 1 do każdego połączenia klienta należy otworzyć oddzielny port, co jest uciążliwe i w wypadku wielu użytkowników wymaga zrobienia sporej "dziury" w firewallu. Wersja 2, która pojawiła się w kwietniu tego roku, potrafi już obsługiwać wielu klientów w tym samym porcie. Klient różni się od serwera odmiennym plikiem konfiguracyjnym. Załączona pomoc opisuje, w jaki sposób wygenerować pary certyfikatów za pomocą programu OpenSSL - najpierw trzeba zainstalować pakiet OpenSSL oraz bibliotekę LZO, przeprowadzającą kompresję. Użytkownicy Windows XP z SP 2 mogą korzystać wyłącznie z najnowszej wersji OpenVPN 2.0. Aplikacja ta może funkcjonować również w sieciach, w których komunikacja ze światem zewnętrznym odbywa się przez serwer proxy.Konfiguracja OpenVPN jest bardzo prosta nawet dla niedoświadczonego użytkownika systemów VPN i oprócz instalacji niezbędnych pakietów, wymaga ustawienia kilku parametrów w pliku konfiguracyjnym .ovpn.SSL-Explorer
3sp.comKliknij, aby powiďż˝kszyďż˝Interfejs zarządzania SSL-Explorer dostępny jest poprzez HTTP lub polecenia konsoli. Z poziomu przeglądarki można skonfigurować wszystkie ustawienia, zarządzać użytkownikami oraz generować i importować klucze. To jedno z najłatwiejszych do skonfigurowania rozwiązań VPN. Do tworzenia bezpiecznych połączeń wykorzystuje protokół SSL. Wszystkie połączenia szyfrowane są kluczem o długości 128 bitów. Zasoby intranetowe udostępniane są metodą przekazywania stron (Web Forwarding) lub przez bezpłatne oprogramowanie do zdalnego dostępu, m.in. Microsoft RDP Client, RDesktop, Virtual Network Computing (VNC), ProperJavaRDP czy Citrix ICA. Do programu dołączono bazę danych, która przechowuje informacje o użytkownikach. Można ją 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 proxy. SSL-Explorer jest oferowany w wersjach do Windows XP/2000 oraz Red Hat, inne systemy obsługiwane są nieoficjalnie. Serwer SSL-Explorer wymaga zainstalowania Java Runtime Environment (JRE) 5.0. Brak ograniczenia liczby użytkowników. Nie jest wymagana instalacja oprogramowania klienckiego - wystarczy zwykła przeglądarka. Do poprawnego działania wymaga otwarcia na zewnątrz tylko jednego portu, definiowanego podczas konfiguracji SSL-Explorera. 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ąć.Yavipin
yavipin.sourceforge.netKliknij, aby powiďż˝kszyďż˝Porównanie IPSec i SSL VPN. - Źródło: Networld Kolejnym oprogramowaniem do budowy VPN jest Yavipin (Yet another VPN), służący do połączeń między dwoma węzłami. Funkcjonuje w środowisku linuksowym w przestrzeni użytkownika - nie ma potrzeby rekompilacji jądra ani instalacji łat. Yavipin wprowadza do pakietów niewiele dodatkowych danych (26 bajtów), np. w systemach IPSec VPN dane wtrącane (ESP z DES i MD5) zajmują 32 bajty. Ruch przez węzły przeprowadzające translację adresów NAT jest przesyłany za pomocą pakietów UDP/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. Chroni przed atakami DoS typu TCP SYN. Klucze prywatne Diffie-Hellman i klucze sesyjne są często zmieniane i usuwane z pamięci. Wymaga instalacji pakietu OpenSSL.VPNmonitor
vpnmonitor.sourceforge.netKliknij, aby powiďż˝kszyďż˝Urządzenie pozwala monitorować sieć VPN, tworzyć mapę zestawionych tuneli, podaje adresy źródłowe i docelowe przesyłanych pakietów oraz zlicza pakiety przesłane przez określony protokół. To oprogramowanie napisane w Javie, służące do obserwacji ruchu w sieci. Może monitorować zarówno sieci PPTP, IPSec, jak i SSL. Oferuje wizualizację ruchu pakietów przesyłanych między komputerami. Wyświetla aktualną topologię połączeń logicznych, gromadzi statystyki różnych rodzajów ruchu oraz udostępnia podgląd przesyłanych pakietów.Rzadziej stosowanymi implementacjami VPN są Amrita (SSLv3), Tinc, Vpnd, Virtual Tunel oraz Cerberus (dystrybucja ograniczona do terytorium Stanów Zjednoczonych). Jest też sporo projektów VPN, które nie zyskały większej popularności i nie są obecnie rozwijane.Popularny do niedawna Poptop, oparty na zaproponowanym przez Microsoft protokole PPTP (Point to Point Tunneling Protocol) jest uważany za mało bezpieczny mechanizm VPN (możliwość przejęcia kluczy).Na koniecKliknij, aby powiďż˝kszyďż˝Protokół IPSec, PPTP oraz SSL/TLS jest standardowo instalowany wraz z systemem Windows. W konfiguracji klienckiego połączenia z siecią VPN pomoże Kreator nowego połączenia, zawarty w Windows. IPSec funkcjonuje na warstwie IP i jest niezależny od aplikacji. Każda aplikacja korzystająca z protokołu IP może komunikować się za pośrednictwem sieci IPSec VPN. SSL definiuje bezpieczny mechanizm wymiany zaszyfrowanych danych na warstwie aplikacji. Jest niezależny od protokołów niższych warstw, takich jak IP, co pozwala uniknąć problemów podczas przechodzenia przez serwery NAT (Network Address Translation). W wypadku IPSec należy stosować mechanizmy NAT Traversal.Wdrażając bezpieczne sieci VPN, należy mieć na uwadze, że:# przesył między użytkownikami powinien być szyfrowany i uwierzytelniany;
# część protokołów wykorzystywanych w VPN przeprowadza uwierzytelnienie, ale nie szyfrowanie;
# klucze kryptograficzne należy zmieniać w miarę możliwości jak najczęściej i przechowywać bezpiecznie;
# poziom i mechanizmy bezpieczeństwa powinny być zgodne po dwóch stronach ustanawianego tunelu;
# nikt poza administratorem sieci nie może mieć dostępu do parametrów bezpieczeństwa.