zrozumienie tuneli IPSec (L2L)

w mojej obecnej roli mam do czynienia z tunelami L2L (LAN to LAN) dość często. Są to “tani” sposób na połączenie dwóch lokalizacji w porównaniu z dedykowanymi obwodami dostępowymi. Jedynym wymaganiem jest posiadanie odpowiedniego sprzętu i statycznego adresu IP “zawsze włączony” w każdej lokalizacji. Często żartuję, że konfiguracja tunelu L2L na ASA jest łatwa i zajmuje tylko 20 linii konfiguracyjnych w CLI. To powiedziawszy, jak Wszystko inne w świecie sieci, jeśli nie rozumiesz, jak działa technologia, pewnego dnia utkniesz. Wpisanie 20 linii konfiguracyjnych do konsoli i zrozumienie, co się dzieje, to dwie zupełnie różne rzeczy. W tym poście omówię podstawy IPSec, sposób tworzenia tuneli i kilka kroków rozwiązywania problemów, które możesz podjąć, gdy napotkasz problemy.

Terminologia
IPSec (Internet Protocol Security) – o czym mówimy

IKE (Internet Key Exchange) – pomyśl o IKE jako zestawie narzędzi wymaganych do nawiązania i utrzymania bezpiecznego połączenia między dwoma punktami końcowymi. Zasadniczo IKE umożliwia połączenie w celu utworzenia i utrzymania Sas (Asocjacji zabezpieczeń), które są kluczową częścią tunelu IPSec

ISAKMP (Internet Security Association and Key Management Protocol) – ISAKMP jest standardem, który określa sposób pracy z SAs. Innymi słowy, ISAKMP zajmuje się tworzeniem, utrzymywaniem, modyfikacją i niszczeniem SAs. Zauważyłeś nakładanie się? IKE i ISAKMP brzmią strasznie podobnie, prawda? Bo tak jest. W rzeczywistości Cisco odnotowuje to nawet w swojej dokumentacji.

“Internet Security Association and Key Management Protocol, zwany także IKE, jest protokołem negocjacyjnym, który pozwala dwóm hostom uzgodnić, jak zbudować Stowarzyszenie bezpieczeństwa IPsec. Każda negocjacja ISAKMP jest podzielona na dwie sekcje zwane fazą 1 i fazą 2.”

adres Peera – w zależności od kontekstu, jest to adres publiczny na jednym końcu tunelu lub na drugim końcu tunelu.

DH (Diffie-Hellman) – Dh pozwala dwóm stronom na współdzielenie tajnego klucza przez niepewny kanał. DH jest używany podczas IKE fazy 1 do wymiany kluczy i ustanowienia bezpiecznego klucza tajnego.

ISAKMP Policy sets – zestaw zasad określający algorytm szyfrowania IKE, algorytm uwierzytelniania IKE, typ uwierzytelniania Ike, wersję DH i żywotność tunelu Ike. Zestaw zasad ISAKMP jest wykorzystywany podczas negocjacji fazy IKE. Aby uczynić to jeszcze bardziej mylącym, zestawy zasad ISAKMP są również określane jako zestawy ISAKMP transform, zestawy Ike transform lub po prostu stare zestawy transform

IPSec Transform Sets – zestaw przekształceń składa się z ustawień istotnych dla utworzenia tunelu IPSec. Rzeczywisty zestaw przekształceń jest używany podczas fazy 2 IKE i zazwyczaj składa się z typu szyfrowania i uwierzytelniania IKE. Ponownie mylące jest to, że często niektórzy ludzie nazywają te zestawy przekształceń.

Sas (Asocjacje bezpieczeństwa) – zasadniczo jest to zestaw parametrów IPSec, które obie strony tunelu zgadzają się. Dla tych z nas, którzy mieszkają w Cisco. Będzie ISAKMP SA i IPSec SA. Istnieje kilka tuneli utworzonych podczas tworzenia tunelu IPSec. Wystarczy pamiętać, że ISAKMP SA jest uważany za wynik i fazy IKE, a IPSec SA za wynik II Fazy IKE. Ponadto SA jest tylko połączeniem jednokierunkowym. Ponieważ większość ruchu między punktami końcowymi wymaga dwukierunkowej komunikacji, każdy ASA utworzy swój własny SA, aby rozmawiać z drugim peerem.

Nonce – liczba, zwykle używana dla bezpiecznego klucza, która jest używana tylko raz. Jeśli jest używany po raz drugi, zwykle jest to oznaka fałszywej próby połączenia.

podsumowanie terminologii-terminologia VPN jest naprawdę, naprawdę, naprawdę myląca. Pamiętaj tylko, że ISAKMP i IKE są czasami używane zamiennie. Ponadto zestawy transform są ogólnym terminem dla grupy ustawień. Staram się używać tego wyrażenia tylko wtedy, gdy odwołuję się do tego, co wpisuję po “transform-set” w CLI, który służy do określenia typu uwierzytelniania i szyfrowania dla II Fazy IKE.

proces
teraz, gdy znamy kilka kluczowych terminów, możemy zacząć mówić o tym, jak tworzy się tunel IPSec. Moim zdaniem istnieją 4 fazy życia tunelu IPSec. Podam je poniżej, a następnie porozmawiamy o nich

Faza 1-ciekawy ruch generuje tworzenie tunelu
Faza 2 – Ike Faza 1
Faza 3 – Ike Faza 2
Faza 4 – zakończenie tunelu

niektórzy ludzie rzucają fazę między moją fazą 3 i 4 i wymieniają ją jako “tunel IPsec utworzony”, który według mnie nie jest fazą. Wymienienie iloczynu faz od 1 do 3 nie wydaje się uzasadniać własnej fazy w moim umyśle. W każdym razie, zagłębimy się w szczegóły każdego z nich.

Faza 1-ciekawy ruch generuje tworzenie tunelu
co Wiele osób nie wie o IPSec to to, co nazywam usługą “na żądanie”. Oznacza to, że po utworzeniu tunelu nie działa cały czas. To, co nazywamy “interesującym ruchem”, powoduje powstanie tunelu. Tworzenie tunelu nie trwa zbyt długo, ale w większości przypadków można go zauważyć podczas używania ping do testowania. W większości przypadków, gdy próbuję pingować z maszyny klienckiej przez tunel, pierwsze żądanie ICMP nie powiedzie się, ponieważ tunel jest ładowany. Kolejne ICMPs przechodzą poprawnie. Interesujący ruch jest definiowany na ASA za pomocą ACL. Następnie ACL jest określony w ramach mapy kryptograficznej tuneli za pomocą polecenia “match address”. Przykład ACL może wyglądać tak …

lista dostępu l2lcryptomap rozszerzone pozwolenie ip < podsieć lokalna>< Maska lokalna>< podsieć docelowa><Maska docelowa>

powiedz ASA, aby dopasował ruch pochodzący z Twojej podsieci do podsieci po drugiej stronie tunelu. Pojawia się tu pytanie o duplikaty prywatnych podsieci. Jeśli twoja podsieć w interfejsie wewnętrznym obu ASAs jest taka sama, będziesz mieć problemy. Pomyśl o tym w ten sposób, kiedy klient po jednej stronie próbuje przejść do zasobu w drugiej podsieci, to nigdzie nie pójdzie. Domyślnie klient będzie ARP dla odpowiedzi, ponieważ myśli, że zdalny klient, do którego próbujesz uzyskać dostęp, znajduje się w jego lokalnej podsieci. Ponieważ nie próbuje wyjść poza podsieć, klient nigdy nie skontaktuje się z bramą domyślną (wewnętrzny Interfejs ASA) i nigdy nie utworzysz tunelu. Nawet jeśli, to i tak nie będzie ruchu. Istnieje kilka “trudnych” rzeczy, które możemy zrobić, aby rozwiązać ten problem, ale nie wchodzą one w zakres tego wpisu na blogu. Najlepszą sytuacją jest posiadanie unikalnych sieci prywatnych w każdej lokalizacji.

Faza 2-IKE Faza 1
gdy ASA otrzyma żądanie zdalnej podsieci, która pasuje do mapy kryptograficznej, rozpoczyna się faza 1 Ike. Celem Ike phase 1 jest skonfigurowanie połączenia dla Ike phase 2. Zasadniczo, IKE faza 1 kładzie grunt pod rzeczywiste połączenie wystąpić. W rzeczywistości tworzy własny SA, który jest czasami określany jako management SA. Ten management SA jest wykorzystywany przez Ike phase 2 do tworzenia rzeczywistych tuneli danych. Z technicznego punktu widzenia istnieją trzy kroki do Ike fazy 1. Pierwszy krok to negocjacje polityczne. Negocjacja zasad sprowadza się do znalezienia pasujących zestawów transformacji na każdym punkcie końcowym. Przed utworzeniem ISAKMP SA każdy punkt końcowy musi uzgodnić odpowiedni zestaw zasad IKE. Następujące elementy muszą pasować do zasad ustawionych po obu stronach tunelu.

-algorytm szyfrowania IKE
-algorytm uwierzytelniania IKE
-definicja klucza Ike
-Wersja Diffie Hellman
-czas życia IKE

pamiętaj, że zestawy zasad Ike są powiązane z ukończeniem Ike phase 1. Punkt końcowy może mieć dowolną liczbę zestawów zasad, które są oceniane w kolejności. Na przykład możesz mieć ustawione Zasady 10, 20 i 30. Punkty końcowe będą kolejno przechodzić przez zestawy zasad, zaczynając od najniższego, aż do znalezienia dopasowania. W związku z tym sensowne jest zdefiniowanie najpierw silniejszych zestawów polityki. Jeśli są one zdefiniowane po słabszych zestawach zasad, możesz najpierw znaleźć słabszy mecz.

teraz, zanim przejdziemy zbyt daleko w fazę Ike 1, należy wyjaśnić, że istnieją dwa różne rodzaje Ike phase 1. Ten najczęściej używany jest nazywany “trybem głównym” i składa się z 6 wiadomości wymienianych między rówieśnikami. Drugi typ nazywa się trybem “agresywnym” i skondensuje wiadomości wysyłane między rówieśnikami na 3 wiadomości. Tryb główny jest wolniejszy w konfiguracji, ale bezpieczniejszy. Tryb agresywny jest szybszy w konfiguracji, ale mniej bezpieczny. Nie Cytuj mnie na ten temat, ale wierzę, że tryb główny jest używany domyślnie. Nie będę tutaj zanurkować w szczegóły, oba osiągają to samo, a szczegóły wymienione powyżej powinny wskazywać na duże różnice.

naszym pierwszym krokiem do Ike fazy 1 było negocjowanie zasad-rówieśnicy muszą uzgodnić odpowiedni zestaw zasad. Robią to, wysyłając do siebie zestawy zasad w celu porównania i znalezienia najniższego pasującego zestawu zasad. Po zakończeniu możemy przejść do następnego kroku, którym jest wymiana kluczy DH. Podczas tego procesu rówieśnicy wymieniają klucze publiczne, które są używane do ustalenia wspólnej tajemnicy. Po zakończeniu tego procesu powstaje Faza 1 SA (ISAKMP SA) i przechodzimy do ostatniego kroku, którym jest uwierzytelnianie peer.

podczas uwierzytelniania peer zdefiniowana metoda uwierzytelniania jest używana, aby upewnić się, że nieuczciwe urządzenia nie tworzą bezpiecznych połączeń z siecią. W większości przypadków odbywa się to za pomocą wstępnie udostępnionych kluczy. Ten krok jest dość prosty, rówieśnicy sprawdzają, aby upewnić się, że klucze pasują. Jeśli nie, uwierzytelnianie nie powiedzie się. Jeśli się zgadzają, przechodzimy do drugiej fazy IKE.

Faza 3-IKE Faza 2
lubię myśleć o IKE Faza 2 jako faktycznym budowaniu tunelu danych . Prace do tej pory polegały głównie na zapewnieniu bezpiecznego kanału komunikacji, abyśmy mogli zbudować rzeczywisty protokół IPsec SAs. W porównaniu do Ike phase 1, IKE phase 2 ma tylko jeden rodzaj trybu, który nazywa się “tryb szybki”. Tryb szybki wykorzystuje istniejący ISAKMP SA utworzony w IKE phase 1 i tworzy IPsec SAs i zarządza kluczowymi wymianami. Pierwszym krokiem trybu szybkiego jest negocjowanie zestawów IPSec transform (Nie takich samych jak zestawy zasad ISAKMP!!). Następujące elementy muszą być dopasowane na obu końcach, aby utworzyć protokół IPSec SAs.

-protokół IPSec
-Typ szyfrowania IPsec
-typ uwierzytelniania IPSec
-tryb IPSec
-żywotność IPSec SA

poświęć chwilę na porównanie zestawów transform z Ike phase 1 i phase 2. Poniżej przedstawiono typową konfigurację ASA.

ISAKMP Policy Set
Crypto ISAKMP policy 10
uwierzytelnianie pre-share
szyfrowanie 3DES
hash sha
Grupa 2
lifetime 86400

IPsec transform
crypto ipsec transform-set ESP-3DES-SHA esp-3DES esp-SHA-HMAC

widzisz coś dziwnego? W zestawie zasad ISAKMP można wyraźnie zobaczyć 5 wymaganych elementów zestawu transform, które należy uzgodnić. W transformacji IPSec nie jest tak jasne. Dzieje się tak, ponieważ transformacja tak naprawdę definiuje tylko 3 z 5 wymaganych elementów. Powyższy przykład definiuje protokół IPSec (ESP), typ uwierzytelniania IPSec (SHA) i typ szyfrowania IPSec (3DES). Tryb IPSec i żywotność IPSec SA nie muszą być zdefiniowane. Gdy nie są, Asa przyjmuje po prostu następujące wartości 28,800 dla życia SA i trybu “tunnel” dla wszystkich zestawów transformacji. Zwykle nie zmieniam tych wartości, chyba że druga strona je zmieniła.

więc po wynegocjowaniu i dopasowaniu zestawów transform możemy utworzyć IPsec SAs. Jak wspomniano powyżej, SA jest połączeniem jednokierunkowym. Aby ruch płynął w każdą stronę, muszą powstać dwa protokoły IPSec SAs. ASA wykonuje tę pracę za Ciebie oczywiście, więc nie ma tu zbyt wielu szczegółów. Tryb szybki wykorzystuje nonces do generowania nowego materiału klucza, który zapobiega atakom replay. Trzeci krok to proces okresowej renegocjacji połączenia. SAs musi zostać zregenerowany przed upływem żywotności tunelu. Tryb szybki monitoruje to i generuje nowe SAs, zanim stare wygasną.

Faza 4-zakończenie tunelu
w tym momencie mamy w pełni funkcjonalny tunel VPN! Ruch powinien przebiegać w obu kierunkach. Pozostaje tylko zburzyć tunel, jeśli nie ma ciekawego ruchu. SAs są regenerowane tylko wtedy, gdy interesujący ruch nadal płynie. Jeśli interesujący ruch zatrzymuje się w SA, może wygasnąć po osiągnięciu jego żywotności. W przypadku wygaśnięcia zezwolenia biegłego rewidenta wszystkie dane dotyczące biegłego rewidenta są usuwane z biegłego rewidenta. Następnym razem, gdy zostanie wygenerowany interesujący ruch, cały proces rozpocznie się od zera.

Rozwiązywanie problemów
najczęstszym problemem w łączności IPSec jest brak dopasowań transform-set dla Ike fazy 1 i 2. Jeśli napotkasz problemy, pierwszą rzeczą, którą zawsze powinieneś zrobić, to dokładnie sprawdzić ustawienia po obu stronach, aby upewnić się, że pasują w 100%. Następną rzeczą, którą możesz zrobić, to spojrzeć na SAs na ASA i ustalić, czy są tworzone i czy są, jaki mają status.

aby zobaczyć Ike Faza 1 sa wydanie to polecenie
ASA# Pokaż crypto isakmp sa

aby zobaczyć Ike Faza 2 SA wydanie to polecenie
ASA# Pokaż crypto ipsec sa

jeśli nie masz fazy 1 SA, to nie zajdziesz zbyt daleko. Stan SA mówi ci kilka rzeczy. Informuje o tym, czy SA zostało stworzone w trybie głównym czy agresywnym, która strona podniosła tunel, a także informuje o statusie negocjacji. Poniżej przedstawiono spojrzenie na typową fazę 1 SA.

ASA# Pokaż krypto isakmp sa
aktywny SA: 1
Rekey SA: 0 (tunel zgłosi 1 aktywny i 1 Rekey SA podczas rekey)
razem Ike SA: 1

1 Ike Peer: <Peer IP Address>
Typ : L2L rola : responder
Rekey : brak Stan : MM_ACTIVE

jak widać z powyższego wyjścia, mamy jedną fazę Ike 1 SA. Typ to ‘ L2L ‘(co oznacza, że jest to tunel IPSec), rola to’ responder ‘ (co oznacza, że peer przywołał tunel), a stan to MM_Active (co oznacza, że używa trybu głównego (MM) i faza IKE 1 działa (aktywna)). MM_ACTIVE jest tym, co chcemy zobaczyć na etapie Ike SA. Oznacza to, że wszystko jest gotowe na drugą fazę IKE. Co więc powinieneś zrobić, jeśli nie masz stanu aktywnego? Czy nie ma SA w ogóle?

istnieje kilka innych stanów, które mogą podpowiedzieć, co dzieje się z ISAKMP SA.

Uwaga: te kody statusu są tylko dla nowszej wersji ASA, starszy kod IPSec używał różnych komunikatów o statusie.
dwie pierwsze litery mówią, czy połączenie zostało wykonane z trybem głównym (MM) lub agresywnym (AM). Ponieważ może to być Tryb główny lub agresywny, wymienię go po prostu jako ” XX ” poniżej. Niektóre z nich zobaczysz tylko w trybie głównym lub agresywnym. Definicje, które wymieniam dla każdego stanu, są tym, co uznałem za problem w większości przypadków.

XX_Active – podłączony
XX_KEY_EXCH – błąd uwierzytelniania, sprawdź swoją metodę uwierzytelniania
XX_INIT_EXCH – błąd uwierzytelniania, sprawdź swoją metodę uwierzytelniania
XX_NO_STATE – nie można dopasować do zasad Ike fazy 1, Sprawdź po każdej stronie
XX_WAIT_MSG2 – oczekiwanie na odpowiedź od peera

Ponadto, jeśli nie masz SA na zacznijmy od tego, co oczywiste. Zacznij od warstwy 1 i pracuj dalej, upewniając się, że obie jednostki mają łączność i że adresy partnerów są poprawne.

99% przypadków problem dotyczy Ike faza 1 SA. Jeśli jesteś coraz stan aktywny w fazie 1 Jesteś prawdopodobnie w dobrej formie. Jeśli nadal masz problemy, spójrz na swój Ike phase 2 SA. Nie zamierzam pokazywać takiego przykładu, ponieważ jest to głównie tylko statystyka. Ta sama koncepcja dotyczy jednak, jeśli nie masz IPsec SA, nie masz tunelu VPN.

debugowanie
jeśli nadal masz problemy, jak cokolwiek innego na ASA, spróbuj debugować. Dwa polecenia, których szukasz, to…

ASA# debug crypto isakmp
ASA# debug Crypto ipsec
Asa # terminal monitor

upewnij się, że włączyłeś terminal monitor, jeśli nie jesteś na porcie konsoli

Wielka poprawka
nie mogę powiedzieć, ile razy spędziłem godziny próbując załadować tunel bez żadnego sukcesu. W końcu dwa polecenia zawsze naprawiały moje problemy. Gdy Wszystko inne zawiedzie, wyczyść wszystkie swoje ISAKMP i IPSEC SAs. To oczywiście zdmuchnie wszelkie połączenia IPSec z pudełkiem. Coś o wysadzaniu wszystkich innych połączeń i zaczynaniu od zera wydaje się to naprawiać. Aby to zrobić….

Asa# clear Crypto ipsec sa
Asa# clear Crypto isakmp sa

wniosek
mam nadzieję, że widziałeś, poprzez ten artykuł, że posiadanie podstawowej wiedzy o tym, jak działa IPSec, czyni różnicę. Wiedza, gdzie szukać błędów i jak je interpretować, jest kluczem do rozwiązywania problemów z tunelami IPSec L2L.

Leave a Reply