IPSec-tunnels begrijpen (L2L)

in mijn huidige rol behandel ik regelmatig L2L-tunnels (LAN tot LAN). Ze zijn de ‘goedkope’ manier om twee locaties te verbinden in vergelijking met dedicated access circuits. De enige vereiste is het hebben van de juiste hardware en een ‘always on’ statisch IP op elke locatie. Ik maak vaak grappen dat het configureren van een L2L tunnel op een ASA is eenvoudig en duurt slechts 20 config regels in de CLI. Dat gezegd hebbende, zoals alles in de netwerkwereld, als je niet begrijpt hoe de technologie werkt, kom je op een dag vast te zitten. Het typen van 20 config regels in een console en eigenlijk begrijpen wat er gebeurt zijn twee totaal verschillende dingen. In dit bericht zal ik praten over IPSec basics, Hoe tunnels vormen, en een aantal stappen voor het oplossen van problemen die u kunt nemen wanneer u in problemen.

terminologie
IPSec (Internet Protocol Security) – waar we het over hebben

IKE (Internet Key Exchange) – zie Ike als de toolset die nodig is om een veilige verbinding tussen twee eindpunten tot stand te brengen en te onderhouden. In principe staat IKE de verbinding toe om Sas (Security Associations) te vormen en te onderhouden, die het belangrijkste onderdeel zijn van een IPSec – tunnel

ISAKMP (Internet Security Association and Key Management Protocol) – ISAKMP is de standaard die definieert hoe met SAs te werken. Met andere woorden, ISAKMP behandelt hoe SAs worden gemaakt, onderhouden, gewijzigd, en afgebroken. Heb je de overlapping opgemerkt? Ike en ISAKMP lijken erg op elkaar, nietwaar? Dat is omdat ze dat zijn. In feite, Cisco merkt zelfs dit in hun documentatie.

” het Internet Security Association and Key Management Protocol, ook wel Ike genoemd, is het onderhandelingsprotocol waarmee twee hosts het eens kunnen worden over het bouwen van een IPSec security association. Elke ISAKMP onderhandeling is verdeeld in twee secties genaamd Fase 1 en Fase 2.”

Peer Address-afhankelijk van de context is het het publieke adres aan het ene uiteinde van de tunnel of aan het andere uiteinde van de tunnel.

DH (Diffie-Hellman) – DH staat twee partijen toe om een geheime sleutel te delen via een onveilig kanaal. DH wordt gebruikt tijdens Ike fase 1 om sleutels uit te wisselen en een veilige geheime sleutel tot stand te brengen.

ISAKMP-Beleidssets: een beleidsset die het Ike-versleutelingsalgoritme, het Ike-verificatiealgoritme, het Ike-verificatietype, de DH-versie en de levensduur van de Ike-tunnel specificeert. De ISAKMP-Beleidsset wordt gebruikt tijdens Ike Fase 1-onderhandelingen. Om dit nog meer verwarrend te maken worden ISAKMP beleidssets ook aangeduid als ofwel ISAKMP transformatiesets, IKE transformatiesets, of gewoon oude transformatiesets

IPSec Transformatiesets – een transformatieset bestaat uit instellingen die relevant zijn voor de IPsec tunnel creatie. De werkelijke transformatieset wordt gebruikt tijdens Ike-Fase 2 en bestaat over het algemeen alleen uit het type Ike-versleuteling en-verificatie. Opnieuw het verwarrende deel is dat vaak sommige mensen gewoon noemen deze transform sets.

Sas (Security Associations) – in principe is het de set van IPSec parameters waar beide zijden van de tunnel het over eens zijn. Ik zal hier een kritisch onderscheid maken voor degenen onder ons in Cisco land. Er komen een ISAKMP SA en een IPSec SA. Er zijn verschillende tunnels gemaakt terwijl de IPsec tunnel wordt gemaakt. Vergeet niet dat de ISAKMP SA wordt beschouwd als het resultaat van de Ike fase 1 en de IPSec SA wordt beschouwd als het resultaat van Ike fase 2. Ook is een SA slechts een enkele weg verbinding. Aangezien het meeste verkeer tussen eindpunten tweewegcommunicatie vereist, zal elke ASA zijn eigen SA aanmaken om met de andere peer te praten.

Nonce-een getal, gewoonlijk gebruikt voor een veilige sleutel, dat slechts één keer wordt gebruikt. Als het een tweede keer wordt gebruikt, is het meestal een teken van een frauduleuze verbindingspoging.

terminologie samenvatting – VPN terminologie is echt, echt, echt verwarrend. Probeer te onthouden dat ISAKMP en IKE soms door elkaar gebruikt worden. Daarnaast zijn transform-sets een algemene term voor een groep instellingen. Ik probeer de zin alleen te gebruiken als ik refereer aan wat ik typ na ‘transform-set’ in de CLI die wordt gebruikt om de authenticatie en encryptie type voor de Ike Fase 2 te specificeren.

het proces
nu we enkele van de belangrijkste termen kennen kunnen we beginnen te praten over hoe de IPsec tunnel vormt. Naar mijn mening zijn er 4 fasen in de levensduur van een IPSec tunnel. Ik leg ze hieronder uit en dan zullen we er over praten

Fase 1-interessant verkeer genereert de creatie van de tunnel
Fase 2-IKE Fase 1
Fase 3 – Ike Fase 2
Fase 4-Tunnelbeëindiging

sommige mensen gooien een fase tussen mijn fase 3 en 4 en vermelden het als ‘IPsec tunnel created’ wat in mijn optiek niet echt een fase is. Een opsomming van het product van fasen 1 tot en met 3 lijkt zijn eigen fase in mijn gedachten niet te rechtvaardigen. In ieder geval, laten we op elk detail ingaan.

Fase 1-interessant verkeer genereert de creatie van de tunnel
wat veel mensen niet weten over IPSec is dat het wat ik noem een ‘on demand’ dienst. Dat wil zeggen, als je eenmaal een tunnel zijn niet up and running de hele tijd. Wat we ‘interessant verkeer’ noemen, leidt tot het ontstaan van een tunnel. Het maken van de tunnel duurt niet erg lang, maar kan in de meeste gevallen worden opgemerkt bij het gebruik van ping om te testen. In de meeste gevallen als ik probeer te pingen vanaf een client machine door de tunnel zal het eerste ICMP verzoek mislukken omdat de tunnel geladen wordt. Volgende ICMP ‘ s gaan correct door. Interessant verkeer wordt gedefinieerd op de ASA met een ACL. Vervolgens wordt de ACL opgegeven in de tunnels crypto map met een’ match address ‘ Commando. Een voorbeeld ACL zou er zo uit kunnen zien …

access-list L2LCryptoMap extended permit ip <Local subnet> <local mask> <Destination subnet> <Destination mask>

u vertelt de ASA dat het verkeer van uw subnet overeenkomt met het subnet aan de andere kant van de tunnel. Dit brengt de kwestie van dubbele privé-subnetten. Als uw subnet op de binnen-interface van beide Asa ‘ s is hetzelfde, je gaat problemen hebben. Denk aan het op deze manier, wanneer een client aan de ene kant probeert te gaan naar een bron op het andere subnet het is niet van plan om ergens heen te gaan. Standaard zal de client een ARP maken voor een antwoord omdat hij denkt dat de externe client die u probeert te benaderen zich in het lokale subnet bevindt. Omdat het niet probeert om uit subnet te gaan zal de client nooit contact opnemen met de standaard gateway (de ASA ‘ s inside interface) en je zult nooit een tunnel vormen. Zelfs als je dat deed, zou het verkeer nog steeds niet stromen. Er zijn een aantal ‘lastige’ dingen die we kunnen doen om dit probleem op te lossen, maar ze vallen niet binnen het domein van deze blog. Beste situatie is om unieke particuliere netwerken in elke locatie.

Fase 2-Ike Fase 1
zodra de ASA een verzoek krijgt voor een subnet op afstand, dat overeenkomt met een crypto-toewijzing, begint Ike Fase 1. Het doel van Ike fase 1 is het instellen van de verbinding voor de Ike fase 2. In principe legt Ike fase 1 de basis voor de daadwerkelijke verbinding. Zij richt in feite haar eigen SA op, die soms de Management SA wordt genoemd. Deze Beheer SA wordt gebruikt door Ike fase 2 om de feitelijke datatunnels te maken. Vanuit technisch oogpunt zijn er drie stappen naar Ike fase 1. De eerste stap heet beleidsonderhandeling. Beleidsonderhandeling komt neer op het vinden van overeenkomende transformatiesets op elk eindpunt. Voordat de ISAKMP SA wordt gevormd, moet elk eindpunt overeenstemming bereiken over een overeenkomende Ike-beleidsset. De volgende punten moeten overeenkomen met het beleid dat aan elke kant van de tunnel is vastgesteld.

-het Ike-versleutelingsalgoritme
-het Ike-Verificatiealgoritme
– de Ike-Sleuteldefinitie
– de Diffie Hellman-versie
– de Ike-levensduur

onthoud dat Ike-beleidssets geassocieerd zijn met Ike-fase 1-voltooiing. Een eindpunt kan een willekeurig aantal beleidssets hebben die in een volgorde worden geëvalueerd. Bijvoorbeeld, je zou kunnen hebben beleid ingesteld 10, 20, en 30. De eindpunten zullen de beleidssets in volgorde doorlopen, beginnend met de laagste eerst totdat ze een match vinden. Daarom is het zinvol om eerst sterkere beleidsvoornemens vast te stellen. Als ze worden gedefinieerd na zwakkere beleid sets kan je uiteindelijk het vinden van een zwakkere match eerste.

voordat we te veel verder gaan in Ike fase 1 is het relevant om uit te leggen dat er twee verschillende types van Ike fase 1 zijn. De meest gebruikte wordt ‘main mode’ genoemd en bestaat uit 6 berichten die worden uitgewisseld tussen peers. Het andere type heet ‘agressieve’ modus en condenseert de berichten verzonden tussen peers in 3 berichten. De hoofdmodus is langzamer in de setup, maar veiliger. Agressieve modus is sneller in de setup, maar minder veilig. Citeer me hier niet op, maar ik geloof dat de hoofdmodus standaard wordt gebruikt. Ik ben niet van plan om te duiken in de details hier, ze beide hetzelfde te bereiken en de details die ik hierboven vermeld moet u aanwijzing in op de grote verschillen.

onze eerste stap naar Ike fase 1 was beleidsonderhandeling – de peers moeten het eens worden over een matching policy set. Ze doen dit door het verzenden van beleid sets naar elkaar voor vergelijking en het vinden van de laagste overeenkomende beleid set. Zodra dat is voltooid, kunnen we verder gaan met de volgende stap, de DH-sleuteluitwisseling. Tijdens dit proces wisselen de peers publieke sleutels uit die worden gebruikt om het gedeelde geheim vast te stellen. Nadat dit proces is voltooid, wordt de Fase 1 SA (ISAKMP SA) gevormd en gaan we naar de laatste stap die peer authenticatie is.

tijdens peer authenticatie wordt de gedefinieerde verificatiemethode gebruikt om ervoor te zorgen dat bedrieglijke apparaten geen veilige verbindingen vormen met uw netwerk. Meestal wordt dit gedaan met vooraf gedeelde sleutels. Deze stap is vrij eenvoudig, de peers controleren om ervoor te zorgen dat de toetsen overeenkomen. Als ze dat niet doen, mislukt de authenticatie. Als ze overeenkomen, gaan we naar Ike fase 2.

Fase 3-Ike Fase 2
IKE fase 2 zie ik graag als de eigenlijke opbouw van de datatunnel. Het werk tot nu toe was vooral om ervoor te zorgen dat we een beveiligd communicatiekanaal hebben, zodat we de eigenlijke IPSec SAs kunnen bouwen. Vergeleken met Ike fase 1 heeft Ike fase 2 slechts één type modus die ‘quick mode’wordt genoemd. De snelle modus gebruikt de bestaande ISAKMP-SA die in Ike-fase 1 is gemaakt, maakt de IPSec-SA ‘ s en beheert de sleuteluitwisselingen. De eerste stap van de quick mode is om te onderhandelen over de IPSec transformeren sets (niet hetzelfde als de ISAKMP beleid sets!!). De volgende items moeten aan beide uiteinden overeenkomen om de IPSec SAs te kunnen vormen.

-het IPsec-Protocol
-het IPSec-coderingstype
-het IPSec-authenticatietype
– de IPSec-modus
– de IPSec SA-levensduur

laten we nu even de tijd nemen om de transform-sets van Ike fase 1 en fase 2 te vergelijken. Het volgende is een typische configuratie van een ASA.

ISAKMP-Beleidsset
crypto ISAKMP-beleid 10
authenticatie pre-share
encryptie 3des
hash sha
groep 2
lifetime 86400

IPSec-transformatie
crypto ipsec-transformatie-set ESP-3DES-SHA esp-3des esp-sha-hmac

zie iets vreemds? In de ISAKMP beleidsset kunt u duidelijk de 5 vereiste stukken van de transformatieset zien die moeten worden overeengekomen. In de IPSec transformatie is het niet zo duidelijk. Dit komt omdat de transformatie eigenlijk slechts 3 van de 5 vereiste stukken definieert. In het voorbeeld hierboven worden het ESP (IPsec protocol), het SHA (IPSec authentication type) en het 3DES (IPSec encryption type) gedefinieerd. IPSec-modus en IPsec SA-levensduur hoeven niet te worden gedefinieerd. Als ze dat niet zijn, neemt de ASA simpelweg de volgende waarden aan van 28.800 voor de SA levensduur en ‘tunnel’ modus voor alle transformatiesets. Meestal verander ik deze waarden niet, tenzij de andere kant ze veranderd heeft.

dus zodra de transform sets zijn onderhandeld en matched kunnen we de IPSec SAs maken. Zoals hierboven vermeld, is een SA een unidirectionele verbinding. Dus voor het verkeer te stromen elke weg twee IPSec SAs moeten vormen. De ASA doet dit werk natuurlijk voor u, dus er is niet veel detail te delen hier. De Quick mode maakt gebruik van nonces om nieuw belangrijk materiaal te genereren dat replay-aanvallen voorkomt. De derde stap is het proces van periodiek heronderhandelen van de verbinding. De SAs moet worden geregenereerd vóór de levensduur van de tunnel. Quick mode controleert dit en genereert nieuwe SAs voordat de oude verlopen.

Fase 4-Tunnelbeëindiging
op dit moment hebben we een volledig functionele VPN-tunnel! Het verkeer moet in beide richtingen passeren. Het enige wat we nog moeten doen is de tunnel slopen als er geen interessant verkeer is. De SAs worden alleen geregenereerd als interessant verkeer blijft stromen. Als interessant verkeer stopt komen in de SA is toegestaan om te vervallen na de levensduur is bereikt. Als de SA mag verlopen, worden alle gegevens met betrekking tot de SA ‘ s uit de SA gespoeld. De volgende keer dat interessant verkeer wordt gegenereerd zal het hele proces van nul beginnen.

problemen oplossen
het meest voorkomende probleem in IPSec-connectiviteit is het niet vinden van transformatieset-overeenkomsten voor Ike fase 1 en 2. Als je problemen tegenkomt, is het eerste wat je altijd moet doen het controleren van de instellingen aan beide zijden om ervoor te zorgen dat ze overeenkomen met 100%. Het volgende wat je kunt doen is een kijkje nemen op de SAS op de ASA en bepalen of ze zijn gemaakt en als ze zijn, welke status ze hebben.

om de Ike Fase 1 SA issue te zien dit commando
ASA# show crypto ISAKMP sa

om de Ike Fase 2 SA issue te zien dit commando
ASA# show crypto ipsec sa

als je geen fase 1 SA hebt kom je niet ver. De staat van de SA vertelt je een paar dingen. Het vertelt u of de SA is gemaakt met de hoofd-of agressieve modus, welke kant bracht de tunnel omhoog, en ook vertelt u de status van de onderhandelingen. Een blik op een typische fase 1 SA wordt hieronder getoond.

ASA # show crypto ISAKMP sa
actieve SA: 1
Rekey SA: 0 (Een tunnel rapporteert 1 actieve en 1 Rekey SA tijdens rekey)
totaal Ike SA: 1

1 Ike Peer: < peer IP adres>
Type : L2L rol : responder
Rekey : geen Status : MM_ACTIVE

zoals u kunt zien aan de bovenstaande uitvoer, hebben we één Ike fase 1 SA. Het Type is ‘ L2L ‘(wat aangeeft dat het een site-to-site IPsec-tunnel is), de rol is’ responder ‘ (wat betekent dat de peer de tunnel naar voren bracht), en de status is MM_Active (wat betekent dat het hoofdmodus (MM) gebruikt en de Ike-fase 1 werkt (actief)). MM_ACTIVE is wat we willen zien op een Fase 1 Ike SA. Dat betekent dat alles klaar is voor Ike fase 2. Dus wat moet je doen als je niet de actieve staat hebt? Of helemaal geen SA?

er zijn verschillende andere toestanden die je kunnen vertellen wat er aan de hand is met de ISAKMP SA.

Opmerking: Deze statuscodes zijn alleen voor de nieuwere ASA-versie, de oudere IPSec-code gebruikte verschillende statusberichten.
de eerste twee letters geven aan of de verbinding is gemaakt met de hoofdmodus (MM) of de agressieve modus (AM). Aangezien het ofwel de hoofd-of agressieve modus kan zijn zal ik de lijst is gewoon als’ XX ‘ hieronder. Toegegeven je zult alleen zien sommige van hen met ofwel main of agressieve modus. De definities die ik lijst aan elke staat zijn wat ik heb gevonden om het probleem in de meeste gevallen.

XX_Active-Connected
XX_KEY_EXCH-Authentication error, check your authentication method
XX_INIT_EXCH-Authentication error, check your authentication method
XX_NO_STATE-Unable to match Ike Phase 1 policies, verify on each side
XX_WAIT_MSG2 – Waiting for response from the peer

bovendien als je helemaal geen SA hebt, begin dan met het controleren van de voor de hand liggende. Begin bij laag 1 en werk je een weg omhoog om ervoor te zorgen dat beide units connectiviteit hebben en dat de peer-adressen correct zijn.

99% van de tijd is er een probleem met de Ike fase 1 SA. Als je een staat van actief op Fase 1 krijgt ben je waarschijnlijk in goede vorm. Als je nog steeds problemen hebt, kijk dan eens naar je Ike fase 2 SA. Ik ben niet van plan om een voorbeeld van een te laten zien, omdat het meestal alleen statistieken. Hetzelfde concept is echter van toepassing, als je geen IPSec SA hebt, heb je geen VPN-tunnel.

debuggen
als u nog steeds problemen hebt, zoals alles op de ASA, probeer dan debuggen. De twee commando ‘ s die u zoekt zijn…

ASA# debug crypto ISAKMP
ASA# debug crypto ipsec
ASA# terminal monitor

zorg ervoor dat u terminal monitor inschakelt als u niet op de consolepoort

de grote oplossing
ik kan u niet vertellen hoe vaak ik uren heb geprobeerd om een tunnel te laden zonder succes. Op het einde, twee commando ‘ s altijd mijn problemen opgelost. Wanneer al het andere mislukt, wis al uw ISAKMP en IPSEC SAs. Dit zal natuurlijk alle IPSec-aansluitingen op de doos wegblazen. Iets over gewoon alle andere verbindingen wegblazen en vanaf nul beginnen lijkt het te repareren. Deden….

ASA # clear crypto IPSec sa
ASA # clear crypto ISAKMP sa

conclusie
ik hoop dat u hebt gezien, door middel van dit artikel, dat het hebben van een basis begrip van hoe IPSec werkt maakt een wereld van verschil. Weten waar te zoeken naar fouten en hoe ze te interpreteren is de sleutel tot het oplossen van problemen IPSec L2L tunnels.

Leave a Reply