Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBartłomiej Niemiec Został zmieniony 9 lat temu
1
11. REALIZACJA SIECI VPN Wirtualne sieci prywatne mogą być zrealizowane w oparciu o protokoły szyfrujące w różnych warstwach stosu protokołów. Najczęściej do tego celu służą protokoły SSL (TLS) lub IPsec. Istnieje wiele protokołów opakowujących (tunelujących), które nie zabezpieczają danych (nie zapewniają szyfrowania, sprawdzania integralności ani uwierzytelniania), a jedynie służą do przenoszenia danych innych protokołów przez opakowanie ich w dodatkowe nagłówki (na przykład GRE – Generic Routing Encapsulation lub MPLS – Multiprotocol Label Switching, czy chociażby tunelowanie ruchu IPv6 w sieciach IPv4). Takie protokoły mogą służyć do tworzenia wirtualnych sieci prywatnych, jeśli współpracują z dodatkowym oprogramowaniem zabezpieczającym. Dla różnych systemów operacyjnych (na przykład Linux, Windows, Cisco IOS, systemy routerów Linksys) zostały opracowane biblioteki oprogramowania umożliwiające tworzenie różnego rodzaju wirtualnych sieci prywatnych. Niektóre z nich (zestandaryzowane) mogą współpracować ze sobą, a niektóre należy traktować jako rodzime dla danego rodzaju systemów operacyjnych.
2
Wyróżniane są dwa zasadnicze rodzaje wirtualnych sieci prywatnych:
- tunelujące cały ruch pomiędzy połączonymi sieciami LAN (Site-to-Site VPNs); - tunelujące poszczególne połączenia przychodzące (Remote-Access VPNs). Sieci VPN pierwszego rodzaju zazwyczaj służą do zabezpieczania całego ruchu pomiędzy różnymi oddziałami firmy lub instytucji, rozproszonymi po większym regionie geograficznym i stanowią alternatywę dla dzierżawienia (lub zakupu) oddzielnych linii telekomunikacyjnych. Sieci VPN drugiego rodzaju zwykle służą do zapewniania doraźnych, bezpiecznych połączeń dla pracowników mobilnych firmy (łączących się z centralą z różnych miejsc przy użyciu komputerów przenośnych i potrzebujących czasowego dostępu do danych firmowych). Mogą też służyć do udostępniania bezpiecznych połączeń z firmą komputerów domowych (mniej zalecane). Uwaga Zazwyczaj interfejs zewnętrzny routera zewnętrznego (bramy) sieci LAN służy zarówno do przekazywania połączeń VPN, jak i połączeń niezabezpieczonych – sprawą bardzo istotną jest w takiej sytuacji właściwe ustawienie reguł filtrowania pakietów w routerze.
3
Narzędzia służące do tworzenia sieci VPN
1) SSH (Secure Shell) Program SSH zasadniczo został zaprojektowany w celu umożliwienia zdalnych, bezpiecznych połączeń w trybie tekstowym (otwierania terminali tekstowych z przyporządkowanym interpretatorem poleceń). Używa kluczy asymetrycznych RSA w fazie wstępnych negocjacji oraz wybranej przez użytkownika metody szyfrowania z kluczem symetrycznym do przekazywania danych. Nowsze wersje klientów SSH umożliwiają też tworzenie szyfrowanych tuneli VPN chroniących dowolne połączenia TCP. Typowymi przykładami programów klientów SSH są: - program ssh dla systemów linuksowych (działający w trybie tekstowym); - program Putty.exe dla systemów Windows (posiadający graficzny interfejs użytkownika). Przykładem serwera SSH jest linuksowy program sshd.
4
Przykład [M. Serafin] Jeśli pracujemy na lokalnym systemie linuksowym i chcemy pobrać pocztę przy użyciu protokołu POP3 ze zdalnego systemu linuksowego w bezpieczny sposób, możemy użyć polecenia: ssh -L port_lokalny: :110 Powyższe polecenie mówi, że serwer usługi ssh działający pod systemem zdalnym o nazwie/adresie host powinien połączyć się z serwerem usługi POP3 (nasłuchującym na porcie TCP 110) na tym samym hoście (adres pętlowy ) i przekazać połączenie TCP przez tunel zaszyfrowany do portu TCP o numerze port_lokalny na hoście, na którym zostało podane powyższe polecenie. Wykonanie polecenia rozpocznie się od pobrania hasła użytkownika zarejestrowanego w systemie zdalnego hosta. Wyżej użyta technika nazywana jest przekazywaniem portów (port forwarding). Ogólnie, przekazywanie portów może mieć miejsce zarówno w systemie zdalnym, jak i w systemie lokalnym.
5
Uwaga W systemach linuksowych użytkownik nie posiadający praw administratora (root) ma możliwość otwierania portów o numerach tylko powyżej 1023 (nie zastrzeżonych dla usług standardowych). W systemach Windows (dla użytkowników indywidualnych) tego rodzaju ograniczenie nie obowiązuje, w związku z czym użytkownik programu Putty.exe pod Windows ma możliwość wpisania standardowego numeru portu 110 również dla systemu lokalnego (pole Source port w opcji Tunnels). Opisaną sytuację ilustruje poniższy rysunek ( [M. Serafin] ): Program Program Internet Serwer Serwer pocztowy Putty.exe SSH POP3 : host: :110
6
Przykład [M. Serafin] Poniższy przykład pokazuje, jak można wykorzystać program SSH w charakterze SOCKS proxy przekazującego do przeglądarki dane protokołu HTTP otrzymane szyfrowanym kanałem ze zdalnego systemu linuksowego: ssh -D 8080 W ustawieniach przeglądarki należy podać numer portu 8080 na komputerze lokalnym jako numer portu wykorzystywanego przez proxy protokołu SOCS. Opcja -D oznacza użycie portu dynamicznego (dynamic port), co w praktyce przekłada się na możliwość pobierania stron domowych spod różnych adresów, bez potrzeby otwierania oddzielnego kanału dla każdej z nich. W przypadku użycia jako klienta programu Putty.exe, należy w opcji Tunnels zaznaczyć pozycję Dynamic.
7
Przykład [M. Serafin] Poniższy przykład ilustruje możliwość przekazywania portu po stronie serwera (remote forward), która przez autora przykładu jest wykorzystana do nawiązania połączenia z komputera w pracy do komputera w domu (i skorzystania z usługi Zdalnego Pulpitu oferowanej przez komputer domowy) przy użyciu kanału szyfrowanego otwartego wcześniej z komputera domowego do pośredniczącego serwera linuksowego. Należy zwrócić uwagę na fakt, że zestawione połączenie działa w sytuacji, kiedy komputer w domu nie ma przydzielonego adresu publicznego, a jedynie adres prywatny IP w obrębie sieci osiedlowej: - w programie Putty.exe na komputerze domowym, w opcji Tunnels należy wpisać numer portu usługi Zdalnego Pulpitu na systemie lokalnym ( :3389) i port_zdalny (niewykorzystywany, powyżej 1023) do wykorzystania przez serwer SSH na pośredniczącym systemie linuksowym, oraz wybrać pozycję Remote. - w programie Putty.exe na komputerze w pracy należy w opcji Tunnels skonfigurować lokalne przekazywanie portu z pośredniczącego serwera SSH do dowolnego niewykorzystywanego portu TCP w komputerze lokalnym.
8
2) Stunnel Program Stunnel jest dostępny na licencji GNU dla systemów linuksowych. Dostępne są również jego niekomercyjne wersje dla systemów Windows. Działanie tego programu opiera się na pakiecie OpenSSL, który należy wcześniej pobrać i zainstalować. W przypadku wykorzystywania oprogramowania OpenSSL do połączeń z większą liczbą komputerów, należy najpierw skonfigurować własne centrum certyfikacji (Certification Authority – CA), wygenerować klucze i certyfikat dla serwera połączeń i powiadomić o nich klientów. Uwaga Nie ma jednolitego standardu plików zawierających klucze i certyfikaty. W najczęstszym użyciu są standardy PEM, DER i PKCS12. Pliki w systemach Linux zgodne ze standardem PEM mają rozszerzenia .pem lub .crt, a w systemach Windows – .cer . Pliki w systemach Windows zgodne ze standardem DER mają rozszerzenia .der , a zgodne ze standardem PKCS12 – rozszerzenia .pfx . Oprogramowanie OpenSSL ma możliwość konwersji dowolnego z wyżej wymienionych formatów plików na dowolny inny (polecenie openssl z odpowiednimi argumentami).
9
3) OpenVPN Oprogramowanie OpenVPN jest niekomercyjnym oprogramowaniem dostępnym zarówno dla systemów linuksowych, jak i dla wszystkich nowszych wersji systemów Windows (poza Me). W systemach linuksowych dostępne jest w trybie tekstowym, dla systemów Windows dodatkowo można pobrać nakładkę graficzną, która znacznie ułatwia konfigurację. OpenVPN może służyć zarówno do zastosowań typu Site-to-Site, jak i do zastosowań typu Remote- Access. W obu tych zastosowaniach program działa w tak zwanym trybie rutera. Drugi z dostępnych trybów, tryb mostu, umożliwia przekazywanie również ramek rozgłoszeniowych, dzięki czemu może służyć nie tylko do tunelowania ruchu IP, ale również innych protokołów warstwy trzeciej (na przykład IPX). OpenVPN działa w oparciu o protokół SSL. Rozwiązanie problemu tworzenia i dystrybucji kluczy i certyfikatów wygląda podobnie, jak w przypadku programu Stunnel.
10
4) OpenSWAN OpenSWAN jest niekomercyjnym programem dla systemów Linux. Jest ulepszoną wersją wcześniejszego (niezbyt udanego) programu FreeSWAN. W działaniu opiera się na protokole IPsec. W przypadku współpracy z implementacjami IPsec dla systemów Windows wymagane jest pobranie i instalacja oprogramowania protokołu warstwy drugiej L2TP (używanego w sieciach WAN). OpenSWAN może być używany zarówno do przyjmowania bezpiecznych połączeń od pracowników mobilnych (zazwyczaj dysponujących komputerami przenośnymi z różnymi wersjami systemów Windows), jak i do tworzenia tunelu szyfrowanego pomiędzy dwoma serwerami linuksowymi pełniącymi rolę bram do sieci LAN. Wszystkie nowsze wersje systemów Windows używane w komputerach przenośnych mają wbudowane klienty IPsec, które wystarczy jedynie odpowiednio skonfigurować (używając ich graficznego interfejsu użytkownika).
11
5) Systemy Windows Server
Wszystkie systemy Windows Server mają możliwość pracowania w charakterze bram VPN – zarówno dla połączeń Site-to-Site, jak i dla przychodzących połączeń Remote-Access. Sieci VPN są tworzone w oparciu o protokół PPTP (mogącego tunelować ramki protokołu warstwy drugiej PPP) lub w oparciu o IPsec (współpracujący z L2TP). Cała konfiguracja bramy VPN odbywa się przy użyciu graficznego interfejsu użytkownika (usługa Routing i dostęp zdalny w menu Narzędzia administracyjne). Protokół PPTP stanowi zmodyfikowaną wersję protokołu GRE. Ponieważ pozwala tunelować ramki, może przenosić nie tylko ruch IP, ale również inne protokoły warstwy trzeciej. Do uwierzytelniania stosuje jeden z rodzimych protokołów Windows lub standard EAP-TLS (do wyboru). Zapewnia również szyfrowanie. Uwaga Dostęp użytkowników do VPN może być definiowany „ręcznie” lub na podstawie przynależności do grup wyróżnianych przez usługę Active Directory.
12
6) Systemy Cisco IOS i systemy routerów Linksys
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.