Co to jest IPsec i jakie ma znaczenie dla VPN?

Grupa Internet Engineering Task Force (IETF) opracowała IPsec w odpowiedzi na luki w zabezpieczeniach Internet Protocol (IPv4). Przechwycenie danych przesyłanych przez internet za pomocą IPv4 nie stanowiło dla nikogo dużego wyzwania. Dlatego w grę wszedł IPsec. IPsec rozwiązuje problemy związane z zabezpieczeniami IPv4, wykorzystując zestaw protokołów bezpieczeństwa, aby zapewnić bezpieczną komunikację w internecie.

Działając na warstwie sieciowej modelu Open Systems Interconnection (OSI), możesz używać IPsec do bezpiecznej komunikacji między sieciami i hostami. W rezultacie, implementacje IPsec występują w komunikacji host-do-host, sieć-do-hosta oraz sieć-do-sieci. 

IPsec jest popularny w każdej branży, która wymaga bezpieczeństwa end-to-end między dwoma punktami końcowymi, szczególnie w branży VPN. Wśród innych protokołów, VPNy używają IPsec do zabezpieczania danych w trakcie transmisji, ponieważ zapewnia on integralność danych, poufność i uwierzytelnianie. Ten artykuł skupia się na zrozumieniu IPsec i dlaczego VPNy polegają na nim, aby chronić ruch internetowy swoich konsumentów. 

## Co to jest IPsec?

Internet Protocol Security (IPsec) to zestaw protokołów lub grupa protokołów, które współpracują, aby ustanowić bezpieczne połączenie między komputerami przez internet. IPsec zapewnia szyfrowane połączenia, uniemożliwiając osobom trzecim oglądanie zawartości komunikacji między zaangażowanymi komputerami. Oprócz szyfrowania, IPsec zapewnia również mechanizm do uwierzytelniania pakietów danych, aby mieć pewność, że pochodzą one z właściwego źródła. Spójrzmy poniżej na standardowe funkcje bezpieczeństwa, które zapewnia IPsec.

1. Autentykacja: Poprzez uwierzytelnianie danych na obu końcach połączenia, IPsec zapewnia, że punkty końcowe są godne zaufania przed rozpoczęciem transmisji danych. 

2. Poufność: Zapewniając szyfrowanie danych od początku do końca, IPsec gwarantuje, że złośliwe podmioty nie mogą przeniknąć do sieci, kraść danych ani podsłuchiwać sieci. 

3. Integralność: IPsec używa funkcji skrótu do sprawdzania integralności danych, zapewniając wykrycie zmienionych danych. 

4. Anti-replay: Korzystając z numerów sekwencyjnych, IPsec zapewnia, że złe podmioty nie mogą replikować pakietów danych, aby przeniknąć do sieci. 

Możesz używać IPsec między dwoma hostami (host-do-hosta), między dwiema sieciami/bramami (sieć-do-sieci) lub między hostem a siecią (sieć-do-hosta). Ponadto, znajdziesz implementację IPsec w dziedzinach bezpieczeństwa takich jak Wirtualne Sieci Prywatne (VPNs), bezpieczeństwo routingu i bezpieczeństwo na poziomie aplikacji. Sam IPsec może nie być wystarczająco skuteczny dla wysokiego poziomu bezpieczeństwa, dlatego w niektórych przypadkach jest implementowany razem z innymi protokołami. 

## Protokoły IPSec

W ramach zestawu IPsec istnieją trzy protokoły. Te protokoły współpracują ze sobą, aby zapewnić autentykację danych, integralność, poufność oraz ochronę przed powtórzeniem. Przyjrzyjmy się im poniżej.

### 1. Nagłówek uwierzytelniający (AH)

Głównym zadaniem Nagłówka Autentykacji jest uwierzytelnianie pakietów danych IP. Wykorzystując funkcje skrótu i tajny klucz, weryfikuje każdy pakiet z obu końców tunelu VPN. Zapobiega to modyfikowaniu danych przez złośliwe podmioty i podawaniu ich za autentyczne. AH zapewnia uwierzytelnienie, integralność oraz ochronę przed powtórnym odtwarzaniem. Nie oferuje żadnej formy szyfrowania.

### 2. Encapsulating Security Payload (ESP)

Głównym zadaniem Encapsulating Security Payload jest szyfrowanie pakietów danych. W zależności od trybu IPsec, szyfruje on tylko ładunek lub ładunek i nagłówek IP. Tryb transportowy pozwala ESP na szyfrowanie tylko segmentu warstwy transportowej i ładunku, pozostawiając nagłówek IP bez szyfrowania. Z drugiej strony, ESP w trybie tunelowym szyfruje nagłówek IP wraz z segmentem warstwy transportowej i ładunkiem. ESP zapewnia uwierzytelnianie, integralność, poufność oraz ochronę przed powtórnym odtwarzaniem.

### 3. Stowarzyszenie Bezpieczeństwa (SA)

IPSec wykorzystuje związki bezpieczeństwa do ustalania protokołów bezpieczeństwa, których punkty końcowe używają do negocjowania algorytmów szyfrowania i kluczy. W prostych słowach, związek bezpieczeństwa to po prostu sposób, aby dwa punkty końcowe uzgodniły parametry, które ustalą i utrzymają tunel IPsec w bezpieczeństwie.

Stowarzyszenia bezpieczeństwa IPsec wymagają trzech rzeczy: indeksu parametrów bezpieczeństwa (SPI), adresu IP docelowego oraz protokołu IPsec (AH lub ESP). SA działają w jednym kierunku; dlatego potrzebne są dwa SA (wychodzące i przychodzące) dla każdego punktu końcowego. IPsec używa protokołu Internet Security Association and Key Management Protocol (ISAKMP) do ustanawiania SA.

## Jak działa IPsec?

Poniżej przyglądamy się, jak IPsec nawiązuje bezpieczne połączenie między dwoma punktami końcowymi i chroni dane od ich źródła do miejsca docelowego.

### 1. Wymiana kluczy

Protokół wymiany kluczy internetowych (IKE) zarządza negocjacją kluczy i algorytmów, które będą używane przez oba punkty końcowe. W rezultacie jest to kluczowy proces w używaniu IPsec do ustanowienia bezpiecznego i niezawodnego połączenia. IKEv1 ma dwie fazy: fazę 1 IKE i fazę 2 IKE.

Celem fazy 1 IKE jest wymiana propozycji między punktami końcowymi na temat sposobu uwierzytelniania i zabezpieczania połączenia między nimi. Wymieniają się propozycjami dotyczącymi parametrów bezpieczeństwa, takich jak algorytmy szyfrowania, algorytmy uwierzytelniania, grupa Diffie-Hellman (DH) oraz współdzielone klucze lub certyfikaty RSA/DSA. W rezultacie, na koniec tej fazy, między peerami powinna zostać ustanowiona przynajmniej jedna dwukierunkowa SA ISAKMP. Możesz użyć fazy 1 w trybie głównym (łącznie sześć wiadomości między punktami końcowymi) lub w trybie agresywnym (łącznie trzy wiadomości między punktami końcowymi).

Faza IKE 2 rozpoczyna się po tym, jak punkty końcowe lub węzły równorzędne nawiążą bezpieczne połączenie. W tej fazie, punkty końcowe negocjują SA (Security Associations), które będą chronić dane przesyłane przez tunel IPsec. Protokół bezpieczeństwa (ESP lub AH), algorytmy szyfrowania i algorytmy uwierzytelniania są negocjowane na tym etapie. Dodatkowo, grupa Diffie-Hellmana (DH) i Perfect Forward Secrecy mogą również być częścią propozycji. 

IKEv2, zaktualizowana wersja IKEv1, nie posiada fazy 1 ani fazy 2. Jednak punkty końcowe wymieniają cztery wiadomości, aby negocjować parametry bezpieczeństwa dla tunelu IPsec. VPNy preferują używanie IKEv2, ponieważ jest łatwiejsze w konfiguracji i bardziej bezpieczne.

### 2. Nagłówki i stopki pakietów

Po uzgodnieniu parametrów bezpieczeństwa przez punkty końcowe, mogą one teraz wysyłać do siebie dane. Najpierw pakiety IP muszą zostać enkapsulowane. W zależności od tego, czy używasz trybu tunelowego czy transportowego, IPsec dodaje niezbędne nagłówki i zakończenia do każdego pakietu, który ma zostać przetransportowany.

### 3. Autentykacja i szyfrowanie

IPsec stosuje uwierzytelnianie i szyfrowanie za pomocą AH i ESP. AH nie zapewnia szyfrowania, ale uwierzytelnia pakiety danych. Z kolei ESP oferuje szyfrowanie i uwierzytelnianie.

### 4. Transmisja

Pakiety IP mogą teraz przemieszczać się przez połączenie IPsec do punktów końcowych przy pomocy protokołu transportowego (preferencyjnie UDP).

### 5. Deszyfrowanie

Deszyfrowanie odbywa się na końcu odbierającym połączenie. Po odszyfrowaniu dane są przekazywane do aplikacji, która ich potrzebuje. 

## Tryb transportowy IPsec Vs. Tryb tunelowy

IPsec ma dwa tryby działania: Tunelowy i Transportowy. Spójrzmy, co odróżnia każdy z nich od drugiego poniżej.

### Tryb transportu

Obwód IPsec działający w trybie transportowym to zazwyczaj bezpośrednie połączenie między dwoma hostami. Punkty końcowe nie szyfrują ani nie uwierzytelniają całego pakietu IP w trybie transportowym, tylko ładunek. Ponieważ nagłówek IP nie jest modyfikowany ani enkapsulowany, urządzenia zewnętrzne poza dwoma punktami końcowymi mogą zobaczyć miejsce docelowe i pochodzenie pakietów.

### Tryb tunelowy

Obwód IPsec działający w trybie tunelowym jest zwykle pomiędzy dwoma bramkami (komunikacja sieć-do-sieci): dwoma routerami lub routerem i zaporą ogniową. Jednak można go używać również do komunikacji host-do-host i host-do-sieci. W tym trybie nie tylko zawartość jest szyfrowana; cały pakiet IP jest szyfrowany i uwierzytelniany. VPNy używają trybu tunelowego IPsec, ponieważ zabezpiecza on całą sieć za pomocą szyfrowania end-to-end, a nie tylko dane, które przez nią przepływają.

## IPsec w VPN

Ponieważ VPN zapewnia sposób na bezpieczną komunikację przez internet, całkiem rozsądne jest, że IPsec jest jednym z protokołów używanych przez VPNy. Kiedy VPNy używają IPsec, zazwyczaj korzystają z ESP w trybie tunelowym ze względu na zapewnianą przez niego szyfrowanie end-to-end. W niektórych przypadkach możesz zobaczyć IKEv2/IPsec lub IKEv2 jako protokoły VPN, z których możesz korzystać. Oba oznaczają to samo, ponieważ IKEv2 używa trybu tunelowego IPsec do nawiązania bezpiecznego połączenia. 

Ponadto, VPNy łączą mniej bezpieczne protokoły takie jak L2TP z IPsec, aby zapewnić bezpieczne połączenia. Dlatego zobaczysz L2TP/IPsec jako opcję w niektórych aplikacjach VPN. Teraz, przyjrzyjmy się podstawowemu sposobowi działania IPsec, gdy klikniesz przycisk połącz w swojej aplikacji VPN. 

1. Po kliknięciu przycisku „Połącz”, IPsec rozpoczyna nawiązywanie bezpiecznego połączenia przy użyciu ESP i trybu tunelowego.

2. Punkty końcowe tunelu uzgadniają parametry bezpieczeństwa za pomocą Stowarzyszeń Bezpieczeństwa (SAs). 

3. Dane mogą teraz bezpiecznie przemieszczać się z jednego końca na drugi, ponieważ szyfrowanie i deszyfrowanie odbywa się na obu końcach. Jeden punkt końcowy odbiera pakiety IP, szyfruje je i przesyła do drugiego punktu końcowego. Na końcu odbiorczym, drugi punkt końcowy deszyfruje pakiety IP i wysyła je do odpowiedniej aplikacji.

Powyższe wyjaśnienie nie jest szczegółowe, ale powinno dać Ci pojęcie o tym, jak działa IPsec w VPN.

## Podsumowanie

IPsec jest ważny, jeśli potrzebujesz poufności danych, integralności oraz uwierzytelnienia między dwoma punktami końcowymi. Większość VPN-ów zawiera IPsec (IKEv2/IPsec lub L2TP/IPsec) jako część bezpiecznych protokołów VPN, które oferują. Mamy nadzieję, że ten artykuł pomoże Ci zrozumieć IPsec i jak jest to ważny zestaw protokołów, których VPNy używają do zabezpieczania komunikacji w internecie.