Miesięcznik informatyków i menedżerów IT sektora publicznego

Kamil Folga

Bezpieczne połączenia zdalne

OpenVPN to darmowe rozwiązanie problemów ze zdalnym dostępem. Stworzone za jego pomocą połączenie do zasobów urzędu może stanowić nie tylko rozwiązanie dla pracy zdalnej, ale też dobrą metodę dostępu dla działów wsparcia zewnętrznych firm.

OpenVPN dostarcza wersje oprogramowania dla klientów na praktycznie każdy system operacyjny. Konfiguracja i instalacja nie są skomplikowane – wystarczy wczytać prawidłowy plik konfiguracyjny.

Rozwiązanie OpenVPN to opublikowany na licencji GPL pakiet oprogramowania obecny w świecie IT od 2001 r. Wykorzystuje zestaw protokołów bezpieczeństwa, które używają SSL/TLS do wymiany kluczy szyfrujących. OpenVPN jest dostępny dla większości systemów operacyjnych, w tym Windows, macOS, iOS, Android, Linux, FreeBSD, OpenBSD, NetBSD, Solaris, a także występuje w oprogramowaniu wielu routerów sprzętowych, pomagając zestawiać wirtualne sieci prywatne (Virtual Private Networks; VPN).

Sposób działania

OpenVPN jest odpowiedzialny za realizację komunikacji klient-serwer, a zatem pozwala na ustanowienie bezpiecznego tunelu między klientem a serwerem VPN. Wspiera trzy najważniejsze dla rozwiązań VPN mechanizmy:

  • uwierzytelnianie – potwierdzenie, że zarówno serwer, jak i klient jest tym, za kogo się podaje,
  • autoryzację – weryfikacja uprawnień użytkownika w dostępie do określonych usług i zasobów,
  • szyfrowanie – ochrona transmisji przed podsłuchaniem i modyfikacją.

Do transmisji danych służy protokół UDP (User Datagram Protocol) i TCP (Transmission Control Protocol). Połączenia z wykorzystaniem TCP są stabilniejsze, ponieważ zapewniają korekcję błędów dzięki retransmisji. Z kolei UDP nie oferuje korekcji błędów, ale działa szybciej. Domyślnym portem dla OpenVPN jest 1194, a domyślnie pracuje z wykorzystaniem UDP. Może jednak zostać uruchomiony na dowolnym porcie, np. TCP 443, wykorzystywanym przez ruch HTTPS. To powoduje, że OpenVPN jest dość trudnym do zablokowania protokołem.

Dobrze zabezpieczony

W przypadku OpenVPN szyfrowanie i uwierzytelnianie jest realizowane przy użyciu biblioteki OpenSSL. Szyfrowanie można porównać z działaniem zamka: jeżeli posiadamy prawidłowy klucz, zamek łatwo otworzyć. W przeciwnym razie możemy próbować jedynie złamać zabezpieczenia. Najczęściej stosowana metoda szyfrowania to 256-bitowy OpenSSL, ale możliwe jest również wykorzystanie AES, Camellia, 3DES, CAST-128 i Blowfish. W OpenVPN zastosowano także mechanizm HMAC – jego użycie sprawia, że każdy pakiet transmisji jest podpisywany przez dodatkowy klucz. Niepodpisane pakiety zostają przez serwer OpenVPN odrzucone.

Autoryzacja klientów (peer) jest prowadzona na różne sposoby, m.in. za pomocą PSK (Pre-Shared Key), certyfikatu, nazwy użytkownika i hasła. OpenVPN przeprowadza proces logowania i autoryzacji z wykorzystaniem skryptów różnych dostawców, co zapewnia otwartość.

W praktyce OpenVPN jest mechanizmem zbliżonym do standardu SSL VPN i może zostać zaimplementowany w warstwie sieciowej drugiej lub trzeciej. Oferuje elastyczną autentykację klienta. Dodatkowo istnieje możliwość przypisywania użytkowników do grup o określonych politykach kontrolnych. W Open­VPN wykorzystujemy dwa rodzaje interfejsów tunelowania: tun, w którym oba końce tunelu mają przydzielony adres IP, a komunikacja między sieciami podlega regułom trasowania, oraz tap, który umożliwia realizację połączenia w warstwie drugiej sieci, czyli po drugiej stronie tunelu otrzymujemy sieć lokalną.

Instalacja i konfiguracja

OpenVPN posługuje się infrastrukturą klucza publicznego PKI. Konieczne jest więc wygenerowanie kluczy po utworzeniu – np. przy użyciu pakietu EasyRSA – własnego centrum certyfikacji (Certificate Authority; CA). Ze względów bezpieczeństwa zaleca się wydzielenie niezależnego serwera jako CA. Na potrzeby niniejszej przykładowej uproszczonej instalacji CA zostanie zainstalowane na tej samej maszynie co serwer OpenVPN.

Aby wygenerować klucze do szyfrowania połączeń, potrzebujemy utworzyć CA. W pakietach EasyRSA istnieją skrypty, które ułatwiają to zadanie. Pierwszą czynnością jest instalacja EasyRSA oraz pakietu OpenVPN przy użyciu polecenia apt-get install openvpn easy-rsa openvpn.

[...]

Autor zawodowo zajmuje się informatyką ze specjalizacją w zakresie bezpieczeństwa sieci. Publikuje w magazynach komputerowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej