Protokół IPsec może pracować w dwóch trybach. Oba z nich przedstawione zostały na rysunku. Pierwszym, najprostszym jest tzw. tryb transportowy. Pomiędzy nagłówkiem IP a protokołem wyższej warstwy (transportowej), dodany został nagłówek IPsec. Chroni on zarówno dane użyteczne jak i nagłówki wyższych warstw. Drugi tryb zapewnia tunelowanie protokołu IP. Dane użyteczne wraz ze wszystkimi nagłówkami są szyfrowane, a protokół IPsec buduje nowy nagłówek IP, w którym umieszcza adresy pośrednich ruterów na trasie między nadawcą a odbiorcą. Dzięki temu, że wewnętrzny pakiet jest szyfrowany w całości, bierny obserwator nie ma możliwości stwierdzenia, między jakimi jednostkami zachodzi komunikacja.
Sieci VPN można również budować korzystając z asymetrycznych algorytmów szyfrujących. Na takim sposobie ochrony danych bazuje protokół SSL (Secure Socket Layer). Aby móc zbudować sieć SSL VPN należy stworzyć centrum certyfikacji wraz z całą infrastrukturą klucza publicznego. Przed wysłaniem, dane będą szyfrowane za pomocą kluczy publicznych znajdujących się w odpowiednich certyfikatach.
Podczas zajęć laboratoryjnych, do tworzenia testowej sieci VPN zostanie wykorzystany program OpenVPN.
Przygotowanie środowiska
1. Proszę uruchomić komputer w systemie Windows i na pulpicie stworzyć nowy katalog „bezpieczeństwo". W tym katalogu należy przechowywać pliki związane z laboratorium.
2. Proszę zainstalować program OpenVPN. Otworzyć okno z linią komend i przejść do katalogu: C:\Program Files\OpenVPN\easy-rsa
Następnie należy wygenerować certyfikaty, które posłużą do bezpiecznego połączenia komputerów.
Wykonać komendę: init-config
Pojawi się plik: vars.bat, należy go edytować tak żeby ustawić odpowiednio wszystkie parametry: KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG i KEY_EMAIL (proszę zwrócić uwagę na fakt że w tym pliku jest podana również długość klucza).
3. Nowe centrum certyfikacyjne tworzymy komendami: vars
clean-all
build-ca
Po wprowadzeniu ostatniej komendy program spyta o parametry zdefiniowane wcześniej w pliku vars.bat wiec wystarczy je potwierdzić, ale proszę pamiętać o ustawieniu parametru Common Name np. na QpenVPN-CA.