Understanding IPSec tunnels (L2L)

în rolul meu actual, am de a face cu L2L (LAN la LAN) tuneluri destul de frecvent. Acestea sunt modalitatea’ ieftină ‘ de a conecta două locații în comparație cu circuitele de acces dedicate. Singura cerință este să ai hardware-ul corect și un IP static ‘Always on’ în fiecare locație. Glumesc frecvent că configurarea unui tunel L2L pe un ASA este ușoară și durează doar 20 de linii de configurare în CLI. Acestea fiind spuse ca orice altceva în lumea rețelei, dacă nu înțelegeți cum funcționează tehnologia, veți rămâne blocați într-o zi. Tastarea a 20 de linii de configurare într-o consolă și înțelegerea efectivă a ceea ce se întâmplă sunt două lucruri complet diferite. În această postare voi vorbi despre elementele de bază IPSec, despre modul în care se formează tunelurile și despre câțiva pași de depanare pe care îi puteți lua atunci când întâmpinați probleme.

terminologie
IPSec (Internet Protocol Security) – despre ce vorbim

IKE (Internet Key Exchange) – gândiți-vă la IKE ca la setul de instrumente necesar pentru a stabili și menține o conexiune sigură între două puncte finale. Practic Ike permite conexiunea pentru a forma și menține Sas (Asociații de securitate), care sunt partea cheie a unui tunel IPSec

ISAKMP (Internet Security Association and Key Management Protocol) – ISAKMP este standardul care definește modul de lucru cu SAS. Cu alte cuvinte, ISAKMP se ocupă de modul în care SAs sunt create, întreținute, modificate și dărâmate. Ați observat suprapunerea? IKE și ISAKMP sună foarte asemănător, nu-i așa? Asta pentru că sunt. De fapt, Cisco notează chiar acest lucru în documentația lor.

“Asociația de securitate Internet și Protocolul de gestionare a cheilor, numit și IKE, este protocolul de negociere care permite celor două gazde să convină asupra modului de construire a unei asociații de securitate IPsec. Fiecare negociere ISAKMP este împărțită în două secțiuni numite Phase1 și Phase 2.”

adresa de la egal la egal – în funcție de context, este fie adresa publică la un capăt al tunelului, fie la celălalt capăt al tunelului.

DH (Diffie-Hellman) – DH permite două părți să împartă o cheie secretă pe un canal nesigur. DH este utilizat în timpul fazei Ike 1 pentru a schimba cheile și a stabili o cheie secretă sigură.

Seturi de politici ISAKMP – un set de politici care specifică algoritmul de criptare IKE, algoritmul de autentificare IKE, tipul de autentificare IKE, versiunea DH și durata de viață a tunelului IKE. Setul de politici ISAKMP este utilizat în timpul negocierilor Ike Faza 1. Pentru a face acest lucru și mai confuz seturile de politici ISAKMP sunt denumite și seturi de transformări ISAKMP, seturi de transformări IKE sau pur și simplu seturi de transformări vechi

Seturi de transformări IPSec – un set de transformări constă din Setări relevante pentru crearea tunelului IPSec. Setul real de transformare este utilizat în timpul fazei 2 IKE și, în general, constă doar din tipul de criptare și autentificare IKE. Din nou, partea confuză este că de multe ori unii oameni numesc doar aceste seturi de transformări.

SAs (Asociații de securitate) – practic este setul de parametri IPSec pe care ambele părți ale tunelului sunt de acord. Voi face o distincție critică aici pentru cei dintre noi în Cisco land. Va exista un ISAKMP SA și un IPSec sa. Există mai multe tuneluri create în timp ce se creează tunelul IPSec. Nu uitați că ISAKMP SA este considerat rezultatul fazei Ike 1, iar IPSec sa este considerat rezultatul fazei Ike 2. De asemenea, un SA este doar o conexiune într-un singur sens. Deoarece majoritatea traficului între punctele finale necesită comunicare în două sensuri, fiecare ASA își va crea propriul SA pentru a vorbi cu celălalt coleg.

Nonce – un număr, folosit de obicei pentru o cheie sigură, care este folosit o singură dată. Dacă este folosit a doua oară, este de obicei un semn al unei încercări frauduloase de conectare.

terminologie rezumat – terminologia VPN este într-adevăr, într-adevăr, într-adevăr confuz. Încercați să vă amintiți că ISAKMP și IKE sunt uneori folosite în mod interschimbabil. În plus, transformările sunt un termen general pentru un grup de setări. Încerc să folosesc expresia numai atunci când mă refer la ceea ce tastez după ‘transform-set’ în CLI, care este folosit pentru a specifica tipul de autentificare și criptare pentru faza 2 IKE.

procesul
acum, că știm câțiva dintre termenii cheie, putem începe să vorbim despre modul în care se formează tunelul IPSec. În opinia mea, există 4 faze în viața unui tunel IPSec. Le voi expune mai jos și apoi vom vorbi despre ele

Faza 1 – traficul interesant generează crearea tunelului
Faza 2 – Ike Faza 1
Faza 3 – Ike Faza 2
Faza 4 – terminarea tunelului

unii oameni aruncă o fază între faza 3 și 4 a mea și o listează ca ‘tunel IPSec creat’ care, din punctul meu de vedere, nu este de fapt o fază. Listarea produsului fazelor 1 până la 3 nu pare să justifice propria fază în mintea mea. În orice caz, să intrăm în detaliu pe fiecare.

Faza 1 – traficul interesant generează crearea tunelului
ceea ce mulți oameni nu știu despre IPSec este că este ceea ce eu numesc un serviciu ‘la cerere’. Asta este, odată ce ați creat un tunel sa nu sus și să fie difuzate tot timpul. Ceea ce numim trafic interesant declanșează crearea unui tunel. Crearea tunelului nu durează foarte mult, dar poate fi observată, în majoritatea cazurilor, atunci când se utilizează ping pentru a testa. În cele mai multe cazuri, atunci când încerc să ping de la o mașină client peste tunel prima cerere ICMP va eșua, deoarece tunelul este încărcat. ICMP-urile ulterioare trec corect. Traficul interesant este definit pe ASA cu un ACL. Apoi, ACL este specificat în harta criptografică tuneluri cu o comandă ‘match address’. Un exemplu ACL ar putea arăta astfel…

access-list l2lcryptomap permis extins ip < subrețea locală>< mască locală>< subrețea destinație><mască destinație>

spuneți ASA să potrivească traficul care vine de la subrețeaua dvs. cu subrețeaua din cealaltă parte a tunelului. Aceasta ridică problema subrețelelor private duplicate. Dacă subrețeaua dvs. pe interfața interioară a ambelor ASAs este aceeași, veți avea probleme. Gândiți-vă astfel, când un client dintr-o parte încearcă să meargă la o resursă din cealaltă subrețea, nu va merge nicăieri. În mod implicit clientul va ARP pentru un răspuns, deoarece crede clientul la distanță pe care încercați să accesați este pe subrețea locală. Din moment ce nu încearcă să meargă de pe subrețea clientul nu va contacta gateway-ul implicit (interfața interior ASA lui) și nu vei forma un tunel. Chiar dacă ai face-o, traficul tot nu ar curge. Există câteva lucruri dificile pe care le putem face pentru a remedia această problemă, dar acestea nu se încadrează în domeniul acestei intrări pe blog. Cea mai bună situație este de a avea rețele private unice în fiecare locație.

Faza 2-Ike Faza 1
odată ce ASA primește o cerere pentru o subrețea la distanță, pe care o potrivește cu o hartă criptografică, începe faza 1 IKE. Scopul fazei Ike 1 este de a configura conexiunea pentru faza Ike 2. Practic, Ike faza 1 stabilește munca la sol pentru conexiunea reală să aibă loc. De fapt, își creează propriul SA, care este uneori denumit management sa. Acest management SA este utilizat de Ike faza 2 pentru a crea tuneluri de date reale. Din punct de vedere tehnic, există trei pași pentru faza 1 IKE. Primul pas se numește negociere politică. Negocierea politicii se reduce la găsirea seturilor de transformare potrivite pentru fiecare punct final. Înainte ca ISAKMP SA să formeze fiecare punct final trebuie să convină asupra unui set de politici Ike care se potrivește. Următoarele elemente trebuie să se potrivească în cadrul politicii stabilite pe fiecare parte a tunelului.

-algoritmul de criptare IKE
-algoritmul de autentificare IKE
-definiția cheii IKE
-versiunea Diffie Hellman
-durata de viață Ike

amintiți-vă, seturile de politici IKE sunt asociate cu finalizarea fazei 1 IKE. Un punct final poate avea orice număr de seturi de politici care sunt evaluate într-o ordine. De exemplu, este posibil să aveți setul de politici 10, 20 și 30. Punctele finale vor parcurge seturile de politici în ordine, începând cu primul cel mai mic până când vor găsi o potrivire. Prin urmare, este logic să se definească mai întâi seturi de politici mai puternice. Dacă sunt definite după seturi de politici mai slabe, s-ar putea să găsiți mai întâi un meci mai slab.

acum, înainte de a merge prea mult mai departe în faza Ike 1, este pertinent să explicăm că există două tipuri diferite de faza Ike 1. Cel folosit cel mai des se numește modul principal și constă din 6 mesaje schimbate între colegi. Celălalt tip se numește modul ‘agresiv’ și condensează mesajele trimise între colegi în 3 mesaje. Modul principal este mai lent în configurare, dar mai sigur. Modul agresiv este mai rapid în configurare, dar mai puțin sigur. Nu mă citați în acest sens, dar cred că modul principal este utilizat în mod implicit. Nu am de gând să se scufunde în specificul aici, ambele realiza același lucru și detaliile enumerate mai sus ar trebui să indiciu în pe diferențele mari.

primul nostru pas către Ike faza 1 a fost negocierea politicilor – colegii trebuie să cadă de acord asupra unui set de politici de potrivire. Ei fac acest lucru prin trimiterea seturi de politici reciproc pentru comparație și de a găsi cel mai mic set de politici de potrivire. Odată finalizat, putem trece la următorul pas, care este schimbul de chei DH. În timpul acestui proces, colegii schimbă chei publice care sunt folosite pentru a stabili secretul comun. După finalizarea acestui proces, se formează faza 1 sa (ISAKMP SA) și trecem la ultimul pas care este autentificarea peer.

în timpul autentificării peer, metoda de autentificare definită este utilizată pentru a vă asigura că dispozitivele necinstite nu formează conexiuni sigure în rețeaua dvs. De cele mai multe ori acest lucru se face cu chei pre-partajate. Acest pas este destul de simplu, colegii verifică pentru a se asigura că tastele se potrivesc. Dacă nu, autentificarea eșuează. Dacă se potrivesc, trecem la faza 2 a lui IKE.

Faza 3 – Ike Faza 2
îmi place să mă gândesc la Ike faza 2 ca la construirea efectivă a tunelului de date. Munca până în acest moment a fost în principal pentru a ne asigura că avem un canal de comunicații securizat, astfel încât să putem construi actualul IPsec SAS. Comparativ cu Ike faza 1, Ike faza 2 are doar un singur tip de mod care se numește ‘modul rapid’. Modul rapid utilizează ISAKMP sa existent creat în faza 1 IKE și creează IPSec SAS și gestionează schimburile cheie. Primul pas al modului rapid este negocierea seturilor de transformare IPSec (nu la fel ca seturile de politici ISAKMP!!). Următoarele elemente trebuie să se potrivească la ambele capete pentru a forma IPSec SAS.

-Protocolul IPSec
-Tipul de criptare IPsec
-Tipul de autentificare IPSec
-modul IPSec
-durata de viață IPSec SA

acum vă permite să luați un moment scurt pentru a compara transformările de la Ike faza 1 și faza 2. Următoarea este o configurație tipică a unui ASA.

set de politici ISAKMP
politică crypto isakmp 10
autentificare pre-partajare
criptare 3DES
hash sha
grup 2
durată de viață 86400

transformare IPSec
transformare Crypto ipsec-set ESP-3DES-SHA esp-3DES esp-sha-HMAC

vezi ceva ciudat? În setul de politici ISAKMP puteți vedea clar cele 5 piese necesare ale setului de transformări care trebuie convenite. În transformarea IPSec nu este atât de clar. Acest lucru se datorează faptului că transformarea definește într-adevăr doar 3 din cele 5 piese necesare. Exemplul de mai sus definește Protocolul IPSec (ESP), Tipul de autentificare IPSec (Sha) și tipul de criptare IPSec (3DES). IPSec mode și IPSec sa durata de viață nu trebuie să fie definite. Când nu sunt, ASA își asumă pur și simplu următoarele valori de 28.800 pentru durata de viață SA și modul ‘tunel’ pentru toate seturile de transformări. De obicei, nu schimb aceste valori decât dacă cealaltă parte le-a schimbat.

Deci, odată ce seturile de transformare au fost negociate și potrivite, putem crea IPSec SAS. După cum sa menționat mai sus, un SA este o conexiune unidirecțională. Deci, pentru ca traficul să curgă în fiecare direcție, trebuie să se formeze două Sas IPSec. ASA face acest lucru pentru tine, desigur, astfel încât nu există prea multe detalii pentru a partaja aici. Modul rapid folosește nonces pentru a genera noi materiale cheie care împiedică atacurile de reluare. Al treilea pas este procesul de renegociere periodică a conexiunii. SAs trebuie regenerat înainte de expirarea duratei de viață a tunelului. Modul rapid monitorizează acest lucru și generează noi SAs înainte ca cele vechi să expire.

Faza 4 – terminarea tunelului
în acest moment avem un tunel VPN complet funcțional! Traficul ar trebui să treacă în ambele direcții. Singurul lucru rămas de făcut este dărâmarea tunelului dacă nu există trafic interesant. SAs sunt regenerate numai dacă traficul interesant continuă să curgă. Dacă traficul interesant se oprește în SA este permis să expire după ce durata sa de viață a fost atinsă. În cazul în care SA este permis să expire, toate datele referitoare la SAS sunt eliminate din SA. Data viitoare trafic interesant este generat întregul proces va începe de la zero.

depanarea
cea mai frecventă problemă în conectivitatea IPSec nu este găsirea potrivirilor setate de transformare pentru Ike faza 1 și 2. Dacă întâmpinați probleme, primul lucru pe care ar trebui să îl faceți întotdeauna este să verificați dublu setările de pe ambele părți pentru a vă asigura că se potrivesc 100%. Următorul lucru pe care îl puteți face este să aruncați o privire la SAs pe ASA și să determinați dacă sunt create și dacă sunt, ce statut au.

pentru a vedea faza Ike 1 sa emite această comandă
ASA# show crypto isakmp sa

pentru a vedea faza IKE 2 sa emite această comandă
ASA# show crypto ipsec sa

dacă nu aveți o fază 1 SA, atunci nu veți ajunge foarte departe. Starea SA vă spune câteva lucruri. Acesta vă spune dacă este sau nu SA a fost creat cu modul principal sau agresiv, care parte a adus tunelul în sus, și, de asemenea, vă spune starea negocierilor. O privire la o fază tipică 1 SA este prezentată mai jos.

ASA # arată cripto isakmp sa
Activ SA: 1
Rekey SA: 0 (un tunel va raporta 1 activ și 1 Rekey sa în timpul rekey)
Total Ike sa: 1

1 Ike Peer:< adresa IP Peer >
Tip : L2L rol : responder
Rekey : nici o stare : MM_ACTIVE

după cum puteți vedea din ieșirea de mai sus, avem o fază Ike 1 sa. Tipul este ‘ L2L ‘(ceea ce indică faptul că este un site la site-ul IPSec tunel), rolul este ‘responder’ (ceea ce înseamnă că peer adus tunel), iar starea este MM_Active (ceea ce înseamnă că este folosind modul principal (MM) și faza Ike 1 este de lucru (activ)). MM_ACTIVE este ceea ce vrem să vedem pe o fază 1 IKE sa. Asta înseamnă că totul este pregătit pentru faza 2 IKE să apară. Deci, ce ar trebui să faceți dacă nu aveți starea activă? Sau nu SA, la toate?

există mai multe alte state pe care le poate indiciu în ceea ce se întâmplă cu ISAKMP sa.

Notă: Aceste coduri de stare sunt doar pentru noua versiune ASA, Codul IPSec mai vechi folosit mesaje de stare diferite.
primele două litere vă spun dacă conexiunea a fost făcută cu modul principal (MM) sau modul agresiv (am). Din moment ce poate fi modul principal sau agresiv voi lista este pur și simplu ca ‘XX’ de mai jos. Acordat veți vedea doar unele dintre ele cu modul principal sau agresiv. Definițiile am lista pentru fiecare stat sunt ceea ce am găsit a fi problema în cele mai multe cazuri.

XX_Active – conectat
XX_KEY_EXCH – eroare de autentificare, verificați metoda de autentificare
XX_INIT_EXCH – eroare de autentificare, verificați metoda de autentificare
XX_NO_STATE – imposibilitatea de a se potrivi Ike faza 1 politici, verificați pe fiecare parte
XX_WAIT_MSG2 – în așteptare pentru răspuns de la egal la egal

la toate, începeți prin a verifica ceea ce este evident. Începeți de la stratul 1 și mergeți în sus, asigurându-vă că ambele unități au conectivitate și că adresele de la egal la egal sunt corecte.

99% din timp o problemă este cu faza IKE 1 SA. Dacă aveți o stare activă în faza 1, probabil că sunteți într-o formă bună. Dacă aveți în continuare probleme, aruncați o privire la Ike phase 2 sa. Eu nu am de gând să arate un exemplu de unul din statisticile sale cea mai mare parte doar. Același concept se aplică totuși, dacă nu aveți un IPSec sa, nu aveți un tunel VPN.

Debugging
dacă aveți în continuare probleme, ca orice altceva pe ASA, încercați depanare. Cele două comenzi pe care le căutați ar fi…

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

asigurați-vă că activați terminal monitor dacă nu sunteți pe portul consolei

Big Fix
nu pot să vă spun de câte ori am petrecut ore încercând să obțin un tunel pentru a încărca cu absolut nici un succes. În cele din urmă, două comenzi mi-au rezolvat întotdeauna problemele. Când toate celelalte eșuează, ștergeți toate ISAKMP și IPSEC SAS. Acest lucru va elimina, desigur, orice conexiune IPSec la cutie. Ceva despre doar suflare toate celelalte conexiuni departe și pornind de la zero pare să-l repara. Pentru a face acest lucru….

ASA# clear Crypto ipsec sa
ASA# clear crypto isakmp sa

concluzie
sper că ați văzut, prin acest articol, că înțelegerea de bază a modului în care funcționează IPSec face o lume de diferență. Știind unde să cauți erori și cum să le interpretezi este cheia depanării tunelurilor IPSec L2L.

Leave a Reply