Bezpieczeństwo Systemów Komputerowych Wirtualne Sieci Prywatne (VPN)
Czym jest VPN? VPN(Virtual Private Network) jest siecią, która w sposób bezpieczny łączy ze sobą komputery i sieci poprzez wirtualne tunele. Tunele te umożliwiają transmisję w niezaufanym obszarze publicznej sieci rozległej przy użyciu dzielonych publicznych łącz. Wirtualne tunele chronione są przed niepowołanym dostępem dzięki zastosowaniu kodowania i uwierzytelniania.
Cele VPN - gateway-to-gateway Ułatwienie bezpiecznej współpracy odziałów różnych organizacji, poprzez połączenie ich lokalnych sieci komputerowych. Końcami tunelu są pojedyncze węzły międzysieciowe (np. dedykowane urządzenia szyfrujące, routery brzegowe z modułami kryptograficznymi). Mogą one szyfrować całą transmisję wychodzącą ze swoich sieci lokalnych lub wybrany ruch sieciowy. Transmisja odbywająca się wewnątrz poszczególnych sieci nie jest szyfrowana.
Cele VPN - host-to-gateway Umożliwienie bezpiecznej pracy zdalnej pracownikowi danej organizacji, poprzez połączenie jego komputera z lokalną siecią organizacji. Jednym z końców tunelu jest pojedyncze stanowisko, które uzyskuje dostęp do zasobów pewnej sieci lokalnej (np. korporacyjnej). Cała komunikacja lub wybrany ruch (wybrane usługi) poddawane są szyfrowaniu.
Cele VPN - host-to-host Umożliwienie bezpiecznej współpracy dwóch osób, poprzez połączenie ich komputerów. Końcami tunelu są pojedyncze stanowiska, wyposażone w odpowiednie oprogramowanie lub sprzęt (karty sieciowe) umożliwiające szyfrowanie i deszyfrowanie transmisji pomiędzy nimi.
Zalety VPN BEZPIECZEŃSTWO łatwość dostosowania poziomu bezpieczeństwa do poufności danych i zagrożenia ze środowiska zapewniona tajność, integralność i uwierzytelnianie ŁATWOŚĆ URUCHOMIENIA łątwo podzielić się na strefy i zmienić w dowolnej chwili NISKIE KOSZTY brak kosztów dzierżawienia specjalnych łącz oprogramowanie ogólnodostępne
Protokoły obsługujące VPN PPTP (Point to Point Tunneling Protocol) L2TP (Layer two Tunneling Protocol), L2TPv3 OpenVPN, SSL IPsec (IP security)
Protokoły obsługujące VPN PPTP (Point to Point Tunneling Protocol) ZASADY Jest nadbudową protokołu PPP wymiany pakietów stosowanego w połączeniach modemowych. Oprogramowanie nawiązuje połączenie na porcie 1723. Po uwierzytelnieniu budowany jest tunel dla klienta, przez który przechodzić będą bramki PPP. W kanale tunelu pakiet może być szyfrowany i umieszczany wewnątrz ramki PPP. ZALETY Duża dostępność zgodnych aplikacji Umożliwia uwierzytelnianie i szyfrowanie połączenia Umożliwia kompresję przesyłanych danych Uniezależniony od protokołu IP
Protokoły obsługujące VPN L2TP (Layer two Tunneling Protocol) ZASADY Jest połączeniem protokołu L2F powstałego w Cisco oraz PPTP. Ma dwa kanały: sterujący i opakowania danych, oba korzystające z tego samego portu. Pakiet oryginalny może zostać zaszyfrowany, umieszczony w ramce PPP lub SLIP i wtedy opakowany. ZALETY Sprawdza spójność danych Umożliwia uwierzytelnianie i szyfrowanie połączenia Umożliwia kompresję przesyłanych danych Zapewnia autoryzację pochodzenia danych
Protokoły obsługujące VPN OpenVPN ZASADY OpenVPN to pakiet. Tworzy zaszyfrowane połączenie między hostami. Korzysta z biblioteki OpenSSL oraz protokołów SSLv3/TLSv1. ZALETY Dostępny na platformach Linux, BSD, Mac OS X oraz Windows 2000/XP/Vista Implementacja open source Dużo opcji
Protokoły obsługujące VPN IPsec (IP security) ZASADY Ipsec to zbiór protokołów służących implementacji bezpiecznych połączeń oraz wymiany kluczy kodowych pomiędzy komputerami. VPN oparta na Ipsec składa się z dwóch kanałów: wymiany kluczy oraz kanału transmitującego pakiety VPN. ZALETY Standard przemysłowy Jawna specyfikacja Na rynku od prawie 10 lat Dobrze przeanalizowany
Budowa IPsec zbiór parametrów SA (Security Association) SPI (Security Parameter Index) - kombinacja adresu docelowego i protokołu bezpieczeństwa adres docelowy informacja o wykorzystywanym protokole (AH lub ESP) protokół IKE (Internet Key Exchange) uwierzytelnianie i ustalanie klucza protokół AH (Authentication Header) uwierzytelnianie i kontrola integralności protokół ESP (Encapsulating Security Payload) kodowanie pakietu
Authentication Header Protokół AH przenosi wartość jednokierunkowej funkcji skrótu treści datagramu oraz stałych pól nagłówka. Ewentualna fragmentacja datagramu jest dokonywana wcześniej (podpisywany jest każdy fragment oddzielnie). Niezaprzeczalność osiągana jest poprzez silne algorytmy kryptograficzne, np. RSA.
Encapsulating Security Payload Protokół ESP umożliwia podpisywanie datagramu. Nagłówek ESP jest umieszczany bezpośrednio przed zaszyfrowanymi danymi. Format i długość zaszyfrowanych danych zależy od wybranej metody kryptograficznej.
Internet Key Exchange uwierzytelnienie obu stron komunikacji: hasło znane obu stronom (shared secret) podpisy RSA (konieczna ręczna wymiana kluczy publicznych stron) certyfikaty X.509 (najbardziej uniwersalna) nawiązanie bezpiecznego kanału dla potrzeb IKE nazywanego ISAKMP SA (Security Association) bezpieczne uzgodnienie kluczy kryptograficznych oraz parametrów tuneli IPSec ewentualna ich renegocjacja co określony czas
Żródła: wykład dra Igora Podolaka http://wazniak.mimuw.edu.pl/ (Bezpieczeństwo systemów komputerowych - wykład 8, laboratorium 11) http://wikipedia.org/
Ćwiczenia praktyczne Skorzystamy z VMware oraz obrazu Win2000, aby zainstalować pakiet OpenVPN, a następnie połączyć się z serwerem 217.144.220.67
Konfiguracja serwera Instalacja pakietu OpenVPN Generacja kluczy oraz certyfikatów Edycja pliku konfiguracyjnego Włączenie serwera
Konfiguracja klienta Uruchomienie za pomocą VMware obrazu win2000 z katalogu sieci Pobranie oraz instalacja pakietu OpenVPN ze strony openvpn.net Ściągniecie klucza oraz certyfikatu z serwera sftp://217.144.220.67/ (Login: client Password: bsk09122008) Edycja pliku konfiguracyjnego Uruchomienie OpenVPN