Jak zaimplementować IPSec w Linux

Jak zaimplementować IPSec w Linux

W tym samouczku wyjaśnia, jak zaimplementować protokół IPSec, aby chronić połączenie internetowe za pomocą StongSwan i ProtonVPN.

Podstawy IPSec:

IPsec to bezpieczny protokół poziomu 3. Zapewnia bezpieczeństwo warstwy transportowej i lepszej zarówno z IPv4, jak i IPv6.
IPSEC współpracuje z 2 protokołami bezpieczeństwa i protokołem zarządzania kluczowym: Esp (Zakapulowanie ładunku bezpieczeństwa), Ah (Nagłówek uwierzytelnienia) i Ike (Wymiana kluczy internetowych).
Protokoły Esp I Ah Przyznanie różnych poziomów bezpieczeństwa i może działać w trybach transportu i trybów tunelowych. Tryby tunelu i transportu można zastosować zarówno z wdrożeniem ESP lub AH.
Podczas gdy AH i ESP działają na różne sposoby, można je mieszać, aby zapewnić różne funkcje bezpieczeństwa.

Tryb transportu: Oryginalny nagłówek IP zawiera informacje o nadawcy i miejscu docelowym.

Tryb tunelu: Wdrażany jest nowy nagłówek IP zawierający adresy źródłowe i docelowe. Oryginalny IP może różnić się od nowego.

AH, protokół (nagłówek uwierzytelnienia): Protokół AH gwarantuje pakiety integralność i uwierzytelnianie punkt-punkt dla warstw transportu i aplikacji, z wyjątkiem danych zmiennych: TOS, TTL, flag, suma kontrolnego i przesunięcia.
Użytkownicy tego protokołu upewniają się, że pakiety zostały wysłane przez prawdziwego nadawcy i nie zostały zmodyfikowane (jak to się stanie u mężczyzny w środkowym ataku).
Poniższy rysunek opisuje implementację protokołu AH w trybie transportu.

Protokół ESP (kapsułkowanie ładunku bezpieczeństwa):

Protokół ESP łączy różne metody bezpieczeństwa w celu zabezpieczenia integralności pakietów, uwierzytelniania, poufności i bezpieczeństwa połączeń dla warstw transportu i aplikacji. Aby to osiągnąć, ESP wdraża nagłówki uwierzytelniania i szyfrowania.

Poniższy obraz pokazuje implementację protokołu ESP działającego w trybie tunelu:

Porównując poprzednie grafiki, możesz zdać sobie sprawę, że proces ESP obejmuje oryginalne nagłówki szyfrujące je. Jednocześnie AH dodaje nagłówek uwierzytelniający.

IKE Protocol (Internet Key Exchange):

IKE zarządza stowarzyszeniem bezpieczeństwa z takimi informacjami, jak adresy punktu końcowego IPSEC, klucze i certyfikaty, zgodnie z wymaganiami.

Możesz przeczytać więcej na IPSec na IPSec i jak to działa.

Wdrożenie IPSec w Linux z StrongSwan i ProtonVPN:

Ten samouczek pokazuje, jak zaimplementować protokół IPSec w Tryb tunelu Korzystanie z StrongSwana, implementacja IPSec w open source i ProtonVPN na Debian. Kroki opisane poniżej są takie same w przypadku dystrybucji opartych na debian, takich jak Ubuntu.

Aby zacząć instalować StrongSwan, uruchamiając następujące polecenie (dystrybucje debian i oparte)

sudo apt instal instaluj Strongwan -y

Po zainstalowaniu StrongSwan dodaj niezbędne biblioteki, wykonując:

sudo apt instaluj libstrongswan-extra-plagininy libcharon-extra-plugins

Aby pobrać protonvpn za pomocą WGET RUN:

wget https: // protonvpn.com/pobierz/protonvpn_ike_root.der -o /tmp /protonvpn.der

Przenieś certyfikaty do katalogu IPSEC, uruchamiając:

sudo mv /tmp /protonvpn.der /etc /ipsec.d/cacerts/

Teraz przejdź do https: // protonvpn.com/ i naciśnij Zdobądź protonvpn teraz Zielony przycisk.

naciśnij przycisk UWOLNIĆ SIĘ.

Wypełnij formularz rejestracyjny i naciśnij zielony przycisk Utwórz konto.

Sprawdź swój adres e -mail za pomocą kodu weryfikacji wysyłanej przez protonvpn.

Po pulpicie kliknij Konto> Nazwa użytkownika OpenVPN/IKEV2. Są to poświadczenia, które musisz edytować pliki konfiguracyjne IPSec.

Edytuj plik /etc /ipsec.conf, biegając:

/etc/ipsec.conf

Poniżej Przykładowe połączenia VPN, Dodaj następujące czynności:

NOTATKA: Gdzie Linuxhint to nazwa połączenia, dowolne pole. musi zostać zastąpiony twoją nazwą użytkownika znalezioną w Protonvpn Dashboard Under Konto> OpenVpn/Ikev2 nazwa użytkownika.

Wartość NL-01.protonvpn.COM to wybrany serwer; Więcej serwerów można znaleźć w pulpicie pulpitowym pod dowództwem> Klienci protonvpn.

Conn Linuxhint
lewy =%defaultroute
leftsourceip =%config
resztki = EAP-Mschapv2
eap_identity =
Right = NL-Fre-01.protonvpn.com
RightubNet = 0.0.0.0/0
Rightauth = pubkey
rightID =%NL-Fre-01.protonvpn.com
RightCA =/etc/ipsec.d/cacerts/protonvpn.der
KeyExchange = ikev2
typ = tunel
auto = dodaj

Naciskać Ctrl+x Aby zaoszczędzić i zamknąć.

Po edycji /etc /ipsec.Conf, musisz edytować plik /etc/ipsec.tajniki który przechowuje poświadczenia. Aby edytować ten plik uruchom:

nano /etc /ipsec.tajniki

Musisz dodać nazwę użytkownika i klawisz za pomocą składni „Użytkownik: Klucz EAP”Jak pokazano na poniższym zrzucie ekranu, w którym VGGXPJVRTS1822Q0 to nazwa użytkownika i B9HM1U0ovpeoz6yczk0mnxiobc3jjach klucz; Musisz wymienić oba dla swoich rzeczywistych poświadczeń znalezionych w pulpicie nawigacyjnym Konto> OpenVpn/Ikev2 nazwa użytkownika.

Naciśnij Ctrl+X, aby zapisać i zamknąć.

Teraz nadszedł czas, aby się połączyć, ale przed uruchomieniem ProtonVPN ponownie uruchom usługę IPSec, uruchamiając:

Sudo ipsec restart

Teraz możesz połączyć się z uruchomieniem:

sudo ipsec up linuxhint

Jak widać, połączenie zostało pomyślnie nawiązane.

Jeśli chcesz wyłączyć protonvpn, możesz uruchomić:

sudo ipsec w dół Linuxhint

Jak widać, IPsec został poprawnie wyłączony.

Wniosek:

Wdrażając IPSec, użytkownicy drastycznie ewoluują w obawach bezpieczeństwa. Powyższy przykład pokazuje, jak wdrożyć IPSec z protokołem ESP i IKEV2 w trybie tunelu. Jak pokazano w tym samouczku, implementacja jest bardzo łatwa i dostępna dla wszystkich poziomów użytkowników Linux. Ten samouczek wyjaśniono za pomocą bezpłatnego konta VPN. Mimo to opisane powyżej IPSec można ulepszyć dzięki planom premium oferowanym przez dostawców usług VPN, uzyskując większą prędkość i dodatkowe lokalizacje proxy. Alternatywy dla protonvpn to Nordvpn i ExpressVPN.

Jeśli chodzi o StrongSwan jako implementację IPSec w otwartym source, został wybrany jako alternatywa wieloplatformowa; Inne opcje dostępne dla Linux to Libreswan i OpenSwan.

Mam nadzieję, że znalazłeś ten samouczek, aby zaimplementować IPSec w Linux przydatny. Kontynuuj podążaj Linuxhint, aby uzyskać więcej wskazówek i samouczków Linux.