()

Wstęp

VPN jest dość dobrze zakorzeniony w świadomości osób, które korzystają z Internetu. Służy często jako omijanie blokad dostępu do treści w danym regionie świata lub próbę ukrycia swojego ruchu sieciowego. W artykule przybliżę, czym jest VPN wraz ze skonfigurowaniem własnego VPN z wykorzystaniem OpenVPN.

Źródło: https://pixabay.com/pl/illustrations/mapa-%C5%9Bwiat-sieci-vpn-mi%C4%99dzynarodowy-4636843/

Co to VPN? – omówienie

Skrót VPN to akronim od angielskiego Virtual Private Network, oznaczające wirtualną sieć prywatną. Microsoft1 definiuje VPN jako:

(…) cyfrowe połączenie między komputerem a zdalnym serwerem należącym do dostawcy usług VPN, tworząc tunel punkt-punkt, który szyfruje dane osobowe, maskuje adres IP i pozwala ominąć blokady witryn i zapory sieciowe w Internecie. Gwarantuje to, że Twoje środowisko online jest prywatne, chronione i bezpieczniejsze.

Wirtualną sieć prywatną należy rozumieć jako szyfrowane połączenie między dwoma urządzeniami (zazwyczaj serwerem a klientem). Urządzenia są w sieci lokalnej i komunikują się za pomocą wirtualnych kart sieciowych.

W uproszczeniu VPN to po prostu szyfrowany tunel między serwerem a klientem, który uniemożliwia podsłuch transmitowanych danych. Korzystając z VPN, ukrywamy swoje publiczne IP i lokalizację, ponieważ naszym „wyjściem na świat” staje się serwer VPN.

Na zrzucie ekranu widoczna jest część wyniku polecenia ipconfig /all, która mówi o wirtualnej karcie sieciowej używanej przez VPN. Karta ma nadany prywatny adres IPv4 uzyskany za pomocą DHCP.

W tym przypadku VPN umożliwiał mi połączenie się z jednym z pokojów na TryHackMe3 za pomocą przeglądarki.

Gdzie wykorzystywany jest VPN?

Oto kilka przykładów wykorzystania VPN.

  1. Umożliwia dostęp do sieci w firmie – poprzez VPN można umożliwić pracownikom zdalnym dostęp do określonych zasobów.
  2. Zwiększa bezpieczeństwo podczas korzystania z publicznych sieci Wi-Fi.
  3. Pozwala na ominięcie cenzury lub blokad regionalnych – np. dzięki VPN Amerykanie mogą oglądać na Netflixie popularny serial Rick and Morty, który nie jest dostępny w USA.2
  4. Zapobiega profilowaniu reklam.

Podsumowując – celem VPN jest prywatność. Może również służyć w uzyskaniu dostępu do określonych zasobów.

Jednak niektóre VPN mogą stanowić zagrożenie, ponieważ z założenia odpowiadają za transmisję danych. Jak więc wybrać odpowiedni VPN?

Co jest ważne podczas wyboru VPN?

No log policy

Przede wszystkim powinniśmy zwrócić uwagę na to, czy serwer VPN zbiera informacje o naszym ruchu sieciowym. Ważne jest to, aby VPN cechował się No log policy, czyli nie gromadził informacji o naszych poczynaniach w sieci.

Niestety jako użytkownikowi bardzo trudno nam to jednoznacznie zweryfikować. Podstawą jest niekorzystanie z VPN-ów, które nie odnoszą się jasno do gromadzenia logów. Z bólem należy stwierdzić, że nie ma nic za darmo, a za VPN możemy przepłacić naszymi danymi.

Przykładowe VPN, które informują o stosowaniu no log policy:

  1. Proton VPN

Proton VPN zapewnia o stosowaniu no log policy w transparentny sposób na swojej stronie internetowej:

Źródło: https://protonvpn.com/support/no-logs-vpn/

Więcej o tej polityce w praktyce można przeczytać w raporcie Securitum4. Można w nim również przeczytać, że no log policy odnosi się również do darmowej wersji oprogramowania.

 Źródło: https://protonvpn.com/blog/wp-content/uploads/2022/04/securitum-protonvpn-nologs-20220330.pdf

Warto również odnotować, że za dostęp do płatnej wersji VPN można płacić za pomocą Bitcoina.

  • NordVPN

NordVPN odnosi się do no log policy w następujący sposób:

Źródło: https://nordvpn.com/pl/features/strict-no-logs-policy/

Podobnie jak w przypadku Proton VPN możliwa jest płatność Bitcoinem.

  • Surfshark

Surfshark dość krótko i zwięźle odnosi się do tego na swojej stronie:

Źródło: https://surfshark.com/features/no-logs

Należy odnotować, że Surfshark przyjmuje płatności w wielu różnych kryptowalutach, np. Bitcoin, Ethereum, Cardano, Litecoin, Dogecoin itd.

  • ExpressVPN

ExpressVPN informuje, jakie logi nie są (i nigdy nie będą) zbierane:

Źródło: https://www.expressvpn.com/what-is-vpn/policy-towards-logs

Należy odnotować, że tak jak w przypadku poprzedników możliwe są płatności Bitcoinem.

Szybkość połączenia/lokalizacja

Warto również zwrócić uwagę na prędkość połączenia VPN, która może być w dużej mierze zależna od lokalizacji serwerów.

Czy VPN faktycznie zapewnia stuprocentową ochronę?

Na stopień bezpieczeństwa VPN mają wpływ m.in.:

  • Lokalizacja – jurysdykcja prawna wymusza określone czynności na dostawcach VPN. Warto wiedzieć, gdzie zarejestrowana jest dana firma, z której usług chcemy skorzystać.

Przykładowo: Proton VPN zarejestrowany jest w Szwajcarii, NordVPN w Panamie, Surfshark w Niderlandach, zaś ExpressVPN na Brytyjskich Wyspach Dziewiczych.

Należy również zwrócić uwagę na lokalizację serwerów – zalecam kilkukrotne zastanowienie się nad tym, czy chcemy korzystać z VPN zlokalizowanego na terenie np. Rosji, Chin czy USA.

  • Wykorzystywany protokół i szyfrowanie

Konfigurowanie własnego VPN za pomocą OpenVPN

Pobieranie oprogramowania i konfiguracja serwera z poziomu terminala

Podczas instalacji oprogramowania najlepiej posiłkować się poradnikiem dostarczonym przez OpenVPN, dostępnym tutaj.

Następnym krokiem jest wybór odpowiedniego pakietu instalacyjnego do naszej wersji systemu – można ją wybrać tutaj.

Źródło: https://openvpn.net/vpn-software-packages/

Po wybraniu odpowiedniej wersji oprogramowania zostaniemy poproszeni o założenie konta. Po założeniu konta zostaniemy poproszeni o ponowne wybranie naszej dystrybucji Linuksa:

Źródło: https://as-portal.openvpn.com/instructions/software-package

W moim przypadku wybrałem Debiana 11, dlatego otrzymałem następujące instrukcje:

Źródło: https://as-portal.openvpn.com/instructions/debian/installation

Dla każdej dystrybucji będą się mniej lub bardziej różnić, dlatego nie ma uniwersalnej konfiguracji.

Serwer, który będzie służył nam jako serwer VPN, używa publicznego IP 57.128.X.X. Teraz pora na uzyskanie klucza aktywacyjnego i zapisanie go w bezpiecznym miejscu. W tym celu należy przejść pod ten adres i określić liczbę kluczy jako 2, dzięki czemu możemy za darmo korzystać z VPN.

Aby uzyskać dostęp do kluczy, należy nacisnąć Claim Free Connectios, co zezwoli nam na posiadanie dwóch kluczy aktywacyjnych, jak i dwa aktywne połączenia VPN z serwerem.

Po naciśnięciu wspomnianego przycisku naszym oczom powinny ukazać się dwa klucze. Jeden z nich należy zapisać w bezpiecznej lokalizacji, ponieważ będzie służył do aktywacji serwera. Z oczywistych względów, klucze na zrzucie ekranu są ocenzurowane.

Kolejnym krokiem jest przejście do terminala serwera i wpisanie polecenia, które pozwoli nam w łatwy sposób skonfigurować VPN:

sudo /usr/local/openvpn_as/bin/ovpn-init tool

Jeżeli na urządzeniu znajduje się inna konfiguracja, która nie jest pożądana, należy ją usunąć, wpisując DELETE – tak było podczas konfiguracji mojego połączenia. Następnie wyświetla się umowa licencyjna, którą należy przeczytać i zaakceptować.

Aby zaakceptować umowę, należy wpisać yes. W kolejnych krokach określamy:

  • Interfejs sieciowy – należy go wybrać stosownie do zastosowania. Jeśli korzystamy z serwera z publicznym adresem IP, należy wskazać ten interfejs poprzez wpisanie jego numeru z wyświetlanej listy (w moim przypadku – 2)
  • Wybór algorytmu szyfrowania – domyślnie secp384rl
  • Wybór portu panelu administratora – domyślnie 943
  • Numer portu TCP dla Daemona OpenVPN – domyślnie 443
  • Czy ruch klienta powinien być routowany przez VPN – domyślnie yes
  • Czy prywatne podsieci powinny być dostępne dla wszystkich – domyślnie yes
  • Czy konto administratora ma nazywać się openvpn? – domyślnie yes
  • Hasło do konta administratora – jeśli zostanie puste, zostanie losowo wygenerowane.

Domyślne opcje można wymusić, naciskając ENTER.

Po wpisaniu hasła zostaniemy poproszeni o wpisanie wcześniej wygenerowanego klucza aktywacyjnego.

Po poprawnym wprowadzeniu klucza aktywacyjnego zostaną nam wyświetlone URL, które służą do zarządzania VPN-em. W moim przypadku było to https://57.128.X.X:943/admin dla dostępu administratora i https://57.128.X.X:943/ dla dostępu klienckiego.

Panel administratora

Kolejnym krokiem jest przejście do panelu administratora, który jest dostępny pod wspomnianym wcześniej adresem. Widać jak na dłoni, że mamy dozwolone maksymalnie dwa połączenia VPN.

Jeśli to nie zostało wcześniej ustawione, w zakładce Configuration -> Network Settings należy ustalić adres IP (z założenia publiczny adres IP dla VPS, chyba że konfiguracja zakłada inaczej), wykorzystywane interfejsy sieciowe i protokoły.

W zakładce Configuration -> VPN Settings można określić, jaka pula adresów IP będzie używana przez VPN. Co ważniejsze, poniżej znajduje się zakładka Routing, w której należy określić sieci, do których mają mieć dostęp wszyscy klienci. W moim przypadku były to sieci 57.128.X.X/32 i 192.168.X.X/24.

W tej samej lokalizacji można wymusić, aby ruch klientów był routowany przez VPN.

Warto również określić serwery DNS, jakie będą używane przez klientów. Użyłem adresów 1.1.1.1 (DNS Cloudflare) i 8.8.8.8 (DNS Google) jako alternatywny DNS.

Po wprowadzeniu zmian należy nacisnąć Save Settings na samym dole ekranu. Naszym oczom powinien ukazać się zielony komunikat o tym, że zmiany zostały poprawnie zaimplementowane.

Konfigurowanie klienta OpenVPN

Aby pobrać profil OpenVPN, należy przejść pod uprzednio wspomnianą stronę przeznaczoną dla klienta, czyli https://[adres IP]:943/ – w moim przypadku było to https://57.128.X.X:943/.

Po zalogowaniu będziemy mogli wybrać platformę, dla której chcemy skonfigurować połączenie. Osobiście zalecam wybranie opcji Yourself (user-locked profile), ponieważ pozwala na to konfigurowanie połączenia na wielu systemach operacyjnych.

Windows

Jeśli wybierzemy opcję Yourself (user-locked profile), na nasze urządzenie zostanie pobrany plik z profilem.

Aby go użyć, najwygodniej pobrać aplikację OpenVPN GUI, którą można pobrać tutaj. Następnie należy nacisnąć na profil i z menu kontekstowego wybrać opcję Import into OpenVPN-GUI.

Zostaniemy również zapytani o to, czy na pewno chcemy zaimportować profil. Po wybraniu opcji Yes należy przejść do paska zadań i nacisnąć prawym przyciskiem myszy na zaimportowany profil.

Po wybraniu profilu zostaniemy poproszenie o wpisanie nazwy użytkownika i hasła – poprawne uwierzytelnienie pozwoli na korzystanie z VPN.

Proces łączenia

Po połączeniu się z serwerem naszym oczom powinien ukazać się komunikat o tym w lewym dolnym rogu ekranu.

Jak widać, został przyznany adres IP z wcześniej określonej puli. Zobaczmy co powie nam polecenie ipconfig /all odnośnie tego interfejsu.

Zobaczmy w takim razie, jakiego adresu używa serwer.

Jak widać, urządzenia znajdują się w jednej sieci lokalnej. Sprawdźmy więc, czy VPN faktycznie działa poprzez użycie polecenia tracert i prześledzenie adresów IP.

tracert example.com

Tak jak widać na zrzucie ekranu, w naszym ruchu pośredniczy urządzenie IP o adresie IP 57.128.X.X, co świadczy o tym, że VPN działa.

Dystrybucje Linuksa

Linux pozwala na bardzo wygodne połączenie z wykorzystaniem terminala. Przede wszystkim, należy zacząć od zainstalowania klienta OpenVPN za pomocą polecenia:

sudo apt install openvpn

Po zainstalowaniu pakietu openvpn możemy przejść do połączenia się z serwerem. Aby to zrobić, należy użyć polecenia:

sudo openvpn –config [nazwa profilu]

sudo openvpn –config profile-53051164537488056.ovpn

Zostaniemy poproszeni o wpisanie nazwy użytkownika i hasła. Jeśli dane będą poprawne, powinniśmy połączyć się z serwerem VPN.

Jeśli VPN został poprawnie skonfigurowany i połączenie jest aktywne, seria informacji powinna kończyć się komunikatem Initialization Sequence Completed.

Sprawdźmy, jaki adres IP został nadany dla nowego interfejsu.

Adres mieści się w pożądanym przedziale.

Rada praktyczna – połączenia VPN najlepiej zestawiać z wykorzystaniem tmux, ponieważ mogą one działać w tle. Jeśli uruchomiliśmy OpenVPN z wykorzystaniem klasycznego połączenia z użyciem SSH będzie ono działać tak długo, jak aktywna jest konkretna powłoka.

Android

Z racji na specyfikę telefonów komórkowych warto wyróżnić sposób, w jaki można połączyć się z serwerem OpenVPN na Androidzie. Aby użyć danych profili, należy pobrać aplikację OpenVPN Connect – OpenVPN App dostępną tutaj.

Po otwarciu profilu za pomocą aplikacji OpenVPN zostaniemy zapytani o to, czy chcemy ją zaimportować – oczywiście należy wybrać opcję OK.

Po zaimportowaniu profilu zostaną nam wyświetlone informacje o nim. Zostaniemy również poproszeni o wpisanie hasła do profilu.

Po wpisaniu hasła powinniśmy uzyskać połączenie z serwerem.

Sprawdzenie

Z perspektywy serwera połączenie z komputera z Windowsem i z telefonu komórkowego wykorzystującego dane komórkowe, prezentuje się następująco:

Jak widać – mamy dwa połączenia z serwerem z dwóch różnych adresów IP.

Podsumowanie

VPN pozwala na ochronę przed zagrożeniami, lecz sam w sobie może być również zagrożeniem – dlatego tak ważny jest wybór odpowiedniego VPN. Nie należy kierować się ceną, lecz zaufaniem, ponieważ niektóre z naszych danych mogą być dla nas bezcenne.

OpenVPN pozwala stworzyć własną konfigurację połączenia klienta z serwerem VPN, dzięki czemu możemy na własną rękę zadbać o swoje cyberbezpieczeństwo. Polecam przetestować tę opcję z wykorzystaniem VPS lub chmury.

Pisał dla Was Oskar Klimczuk.

Przypisy

1 https://azure.microsoft.com/pl-pl/resources/cloud-computing-dictionary/what-is-vpn

2 Może być to niezgodne z regulaminem serwisu.

3 https://tryhackme.com/room/mrrobot

4 https://protonvpn.com/blog/wp-content/uploads/2022/04/securitum-protonvpn-nologs-20220330.pdf

Jak przydatny był ten Artykuł

Kliknij gwiazdke by zagłosować

Średni / 5. Liczba głosów

Doceń naszą prace

Przepraszam że ten post nie był dla Ciebie przydatny

Popraw ten post!

Napisz mi co mogę poprawić