Forstå IPSec tunnels (L2L)
i min nåværende rolle håndterer JEG L2L (LAN TIL LAN) tunneler ganske ofte. De er den ‘billige’ måten å koble to steder i forhold til dedikerte tilgangskretser. Det eneste kravet er å ha riktig maskinvare og en’ alltid på ‘ statisk IP på hvert sted. Jeg spøker ofte at konfigurering AV EN L2L tunnel på EN ASA er enkel og tar bare 20 config linjer i CLI. Når det blir sagt som noe annet i nettverksverdenen, hvis du ikke forstår hvordan teknologien fungerer, kommer du til å bli sittende fast en dag. Å skrive 20 config linjer inn i en konsoll og faktisk forstå hva som skjer er to helt forskjellige ting. I dette innlegget snakker jeg om IPSec-grunnleggende, hvordan tunneler dannes, og noen feilsøkingstrinn du kan ta når du får problemer.
Terminologi
IPSec (Internet Protocol Security) – Hva vi snakker om
Ike (Internet Key Exchange) – Tenk på ike som verktøysettet som kreves for å etablere og opprettholde en sikker forbindelse mellom to endepunkter. Ike tillater i UTGANGSPUNKTET tilkoblingen å danne Og vedlikeholde SAs (Sikkerhetsforeninger) som er den viktigste delen av En IPSec-tunnel
Isakmp (Internet Security Association and Key Management Protocol) – isakmp er standarden som definerer hvordan man skal jobbe med SAs. MED ANDRE ord håndterer ISAKMP Hvordan SAs opprettes, vedlikeholdes, endres og rives ned. Har du lagt merke til overlappingen? IKE og ISAKMP høres veldig likt ut,ikke sant? Det er fordi de er. Faktisk noterer Cisco selv dette i dokumentasjonen.
” Internet Security Association Og Key Management Protocol, også kalt Ike, er forhandlingsprotokollen som lar to verter bli enige om hvordan Man bygger En IPsec security association. Hver isakmp forhandling er delt inn I To seksjoner Kalt Fase1 Og Fase 2.”
Peer Address – Avhengig av kontekst, er det enten den offentlige adressen i den ene enden av tunnelen eller i den andre enden av tunnelen.
Dh (Diffie-Hellman) – DH tillater to parter å dele en hemmelig nøkkel over en usikker kanal. DH brukes under ike fase 1 for å utveksle nøkler og etablere en sikker hemmelig nøkkel.
isakmp – Policysett-et policysett som angir ike-krypteringsalgoritmen, ike-godkjenningsalgoritmen, ike-godkjenningstypen, DH-versjonen og ike-tunnelens levetid. Isakmp-Policysettet brukes under Ike Fase 1-forhandlinger. For å gjøre DETTE enda mer forvirrende isakmp policysett er også referert til som ENTEN isakmp transform sett, IKE transform sett, ELLER bare ren gamle transform sett
IPSec Transform Sett – en transform sett består av innstillinger som er relevante For IPSec tunnel opprettelse. Det faktiske transformasjonssettet brukes under Ike Fase 2 og består vanligvis bare av ike-kryptering og autentiseringstype. Igjen den forvirrende delen er at ofte noen mennesker bare kaller disse transformasjonssettene.
SAs (Sikkerhetsforeninger – – I Utgangspunktet er det Settet Av IPSec-parametere som begge sider av tunnelen er enige om. Jeg vil gjore en kritisk forskjell her for de av Oss i Cisco land. Det vil være En Isakmp SA og En IPSec SA. Det er flere tunneler opprettet mens IPSec-tunnelen blir opprettet. Bare husk at Isakmp SA regnes som resultatet av ike fase 1, og IPSec SA regnes som resultatet av ike fase 2. Også, EN SA er bare en enveisforbindelse. Siden de fleste trafikk mellom endepunkter krever toveis kommunikasjon, vil HVER ASA opprette sin EGEN SA for å snakke med den andre peer.
Nonce-et tall, vanligvis brukt for en sikker nøkkel, som bare brukes en gang. Hvis den brukes en gang til, er det vanligvis et tegn på et falskt tilkoblingsforsøk.
Terminologi Sammendrag-VPN-terminologi er virkelig, virkelig, veldig forvirrende. Bare prøv å huske at ISAKMP og IKE noen ganger brukes om hverandre. I tillegg er transform-sett en generell term for en gruppe innstillinger. Jeg prøver å bruke uttrykket bare når det refereres til hva jeg skriver etter ‘transform-set’ i CLI som brukes til å spesifisere autentiserings-Og krypteringstypen for Ike Fase 2.
Prosessen
Nå som vi vet noen av nøkkelbegrepene, kan vi begynne å snakke om Hvordan IPSec-tunnelen dannes. Etter min mening er det 4 faser i livet Til En IPSec-tunnel. Jeg legger dem ut nedenfor, og så snakker vi om dem
Fase 1 – Interessant trafikk genererer opprettelsen av tunnelen
Fase 2-Ike Fase 1
Fase 3-Ike Fase 2
Fase 4-Tunnelavslutning
noen kaster en fase mellom fase 3 Og 4 og lister den som ‘IPSec tunnel created’ som etter mitt syn ikke egentlig er en fase. Oppføring av produktet fra faser 1 til 3 ser ikke ut til å rettferdiggjøre sin egen fase i tankene mine. I alle fall, la oss gå i detalj på hver enkelt.
Fase 1-Interessant trafikk genererer etableringen av tunnelen
Det mange ikke vet om IPSec er at det er det jeg kaller en ‘on demand’ – tjeneste. Det vil si at når du oppretter en tunnel, er den ikke oppe hele tiden. Det vi kaller ‘interessant trafikk’, utløser etableringen av en tunnel. Å lage tunnelen tar ikke lang tid, men kan i de fleste tilfeller bli lagt merke til når du bruker ping til å teste. I de fleste tilfeller når jeg prøver å pinge fra en klientmaskin over tunnelen, vil DEN første ICMP-forespørselen mislykkes fordi tunnelen lastes inn. Etterfølgende Icmp går gjennom riktig. Interessant trafikk er definert PÅ ASA med EN ACL. DERETTER er ACL spesifisert i tunnels crypto map med en’ match address ‘ kommando. ET EKSEMPEL ACL kan se slik ut…
access-list L2LCryptoMap extended permit ip <Lokalt subnett> <lokal maske> <målundernett> <Målmaske>
DU forteller ASA å matche trafikk som kommer fra delnett til delnett på den andre siden av tunnelen. Dette bringer opp spørsmålet om dupliserte private delnett. Hvis delnettet ditt på innsiden av begge Asaene er det samme, har du problemer. Tenk på det på denne måten, når en klient på den ene siden prøver å gå til en ressurs på det andre delnettet, kommer det ikke til å gå hvor som helst. Som standard vil klienten ARP for et svar fordi den tror at den eksterne klienten du prøver å få tilgang til, er på sitt lokale delnett. Siden det ikke prøver å gå av subnett, vil klienten aldri kontakte standardgatewayen (ASAS innvendige grensesnitt), og du vil aldri danne en tunnel. Selv om du gjorde det, ville trafikken fortsatt ikke flyte. Det er noen vanskelige ting vi kan gjøre for å fikse dette problemet, men de faller ikke innenfor riket av denne blogginnlegget. Beste situasjonen er å ha unike private nettverk på hvert sted.
Fase 2-Ike Fase 1
Når ASA får en forespørsel om et eksternt delnett, som det samsvarer med et kryptokart, begynner Ike Fase 1. Målet med ike fase 1 er å sette opp tilkoblingen for IKE fase 2. I UTGANGSPUNKTET legger ike fase 1 grunnarbeidet for at den faktiske tilkoblingen skal skje. Det skaper faktisk sin EGEN SA som noen ganger refereres til som ledelsen SA. Denne ledelsen SA brukes av ike fase 2 for å lage de faktiske datatunnelene. Fra et teknisk synspunkt er det tre trinn TIL IKE fase 1. Det første trinnet kalles politisk forhandling. Policyforhandlinger koker ned til å finne samsvarende transformasjonssett på hvert endepunkt. Før isakmp SA-skjemaer må hvert endepunkt bli enige om et samsvarende ike-policysett. Følgende elementer må samsvare i policysettet på hver side av tunnelen.
-Ike-krypteringsalgoritmen
– Ike-Autentiseringsalgoritmen
– Ike-Nøkkeldefinisjonen
– Diffie Hellman-Versjonen
– Ike-Levetiden
Husk AT ike-policysett er knyttet til ike-fase 1-fullføring. Et endepunkt kan ha et hvilket som helst antall policysett som evalueres i en ordre. Du kan for eksempel ha policyen satt 10, 20 og 30. Endepunktene vil bla gjennom policysettene i rekkefølge, starter med den laveste først til de finner en kamp. Derfor er det fornuftig å definere sterkere politiske sett først. Hvis de er definert etter svakere policysett, kan du ende opp med å finne en svakere kamp først.
nå, før vi går for mye lenger inn i ike fase 1, er det relevant å forklare at det er to forskjellige typer ike fase 1. Den som brukes oftest kalles ‘main mode’ og består av 6 meldinger som utveksles mellom jevnaldrende. Den andre typen kalles ‘aggressiv’ modus og kondenserer meldingene som sendes mellom jevnaldrende i 3 meldinger. Hovedmodus er tregere i oppsett, men sikrere. Aggressiv modus er raskere i oppsett, men mindre sikker. Ikke sitere meg på dette, men jeg tror at hovedmodus brukes som standard. Jeg kommer ikke til å dykke inn i detaljer her, de begge oppnår det samme, og detaljene jeg nevnte ovenfor burde gi deg beskjed om de store forskjellene.
Vårt første skritt til ike fase 1 var politisk forhandling – peers må bli enige om et samsvarende policysett. De gjør dette ved å sende policysett til hverandre for sammenligning og finne det laveste samsvarende policysettet. Når det er fullført, kan vi gå videre til neste trinn som ER DH-nøkkelutvekslingen. Under denne prosessen utveksler jevnaldrende offentlige nøkler som brukes til å etablere den delte hemmeligheten. Etter at denne prosessen er ferdig, Dannes Fase 1 SA (ISAKMP SA), og vi går videre til det siste trinnet som er peer-godkjenning.
under peer-godkjenning brukes autentiseringsmetoden definert for å sikre at rogue-enheter ikke danner sikre tilkoblinger i nettverket ditt. Mesteparten av tiden gjøres dette med forhåndsdelte nøkler. Dette trinnet er ganske enkelt, jevnaldrende sjekk for å sørge for at tastene matche. Hvis de ikke gjør det, mislykkes autentisering. Hvis de samsvarer, går vi videre til IKE fase 2.
Fase 3-Ike Fase 2
jeg liker å tenke PÅ ike fase 2 som selve byggingen av datatunnelen. Arbeidet frem til dette punktet har i hovedsak vært å sikre at Vi har en sikker kommunikasjonskanal på plass slik at Vi kan bygge Selve IPsec SAs. Sammenlignet med ike fase 1 har IKE fase 2 bare en type modus som kalles ‘hurtigmodus’. Hurtigmodus bruker den eksisterende ISAKMP SA opprettet i ike fase 1 og oppretter IPSec SAs og administrerer nøkkelutvekslingene. Det første trinnet i hurtigmodus er å forhandle IPSec-transformasjonssettene (ikke det SAMME som isakmp-policysettene!!). Følgende elementer må samsvare i begge ender For IPSec SAs å danne.
– IPSec-Protokollen
– IPsec-Krypteringstypen
– IPSec-Autentiseringstypen
-IPSec-modusen
– IPSec sa-levetiden
kan nå ta et kort øyeblikk for å sammenligne transformasjonssettene fra ike fase 1 og fase 2. Følgende er en typisk konfigurasjon av EN ASA.
isakmp Policy Set
crypto isakmp policy 10
autentisering pre-share
kryptering 3des
hash sha
gruppe 2
levetid 86400
IPSec transform
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
ser DU NOE MERKELIG? I isakmp policy set kan du tydelig se de 5 nødvendige delene av transform-settet som må avtales. I IPSec-transformasjonen er det ikke så klart. Dette skyldes at transformasjonen egentlig bare definerer 3 av de 5 nødvendige brikkene. Eksemplet ovenfor definerer IPSec-protokollen (ESP), IPSec-godkjenningstypen (SHA) og IPSec-krypteringstypen (3DES). IPSec-modus og IPSec sa-levetid trenger ikke defineres. NÅR DE ikke er det, ANTAR ASA bare følgende verdier på 28 800 FOR sa-levetiden og ‘tunnel’ – modusen for alle transformasjonssett. Jeg endrer vanligvis ikke disse verdiene med mindre den andre siden endret dem.
så når transform settene er forhandlet og matchet, kan vi opprette IPSec SAs. SOM nevnt ovenfor er EN SA en ensrettet tilkobling. Så for trafikk å flyte hver vei To IPSec SAs trenger å danne. ASA gjør dette arbeidet for deg selvfølgelig, så det er ikke mye detaljer å dele her. Quick mode bruker nonces å generere nye viktige materiale som hindrer replay angrep. Det tredje trinnet er prosessen med periodisk reforhandling av forbindelsen. SAs må regenereres før tunnelens levetid utløper. Quick mode overvåker Dette og genererer nye SAs før de gamle utløper.
Fase 4-Tunnel Avslutning
På dette punktet har Vi en fullt funksjonell VPN tunnel! Trafikken skal passere i begge retninger. Det eneste igjen å gjøre er å rive ned tunnelen hvis det ikke er noen interessant trafikk. SAs regenereres bare hvis interessant trafikk fortsetter å flyte. Hvis interessant trafikk stopper kommer I SA er lov til å utløpe ut etter sin levetid er nådd. HVIS SA-EN får lov til å utløpe, spyles alle data om SA-EN ut av SA-EN. Neste gang interessant trafikk genereres hele prosessen vil starte fra scratch.
Feilsøking
det vanligste problemet I IPSec-tilkobling er ikke å finne transform-set-treff for ike fase 1 og 2. Hvis du får problemer, er det første du alltid bør gjøre å dobbeltsjekke innstillingene på begge sider for å sikre at de samsvarer med 100%. Det neste du kan gjøre er å ta en titt På SAs på ASA og avgjøre om de er opprettet, og hvis de er, hvilken status de har.
FOR å se Ike Fase 1 sa utstede denne kommandoen
ASA# vis crypto isakmp sa
for å se Ike Fase 2 sa utstede denne kommandoen
ASA # vis crypto ipsec sa
hvis du ikke har en fase 1 SA så du ikke kommer til å komme veldig langt. Tilstanden TIL SA forteller deg et par ting. Det forteller deg om SA ble opprettet med hoved-eller aggressiv modus, hvilken side brakte tunnelen opp, og forteller deg også status for forhandlinger. En titt på en typisk fase 1 SA er vist nedenfor.
ASA # vis krypto isakmp sa
Aktiv SA: 1
Rekey SA: 0 (en tunnel vil rapportere 1 Aktiv OG 1 Rekey SA under rekey)
Total IKE SA: 1
1 Ike Peer:<Peer IP-Adresse >
Type : L2L Rolle : responder
Rekey : Nei Tilstand : MM_ACTIVE
som du kan se fra utgangen ovenfor, har vi en ike fase 1 SA. Typen ER ‘ L2L ‘(som indikerer at Det er Et Nettsted Til IPSec-tunnel), rollen er ‘responder’ (noe som betyr at peer tok opp tunnelen), og tilstanden er Mm_aktiv (noe som betyr at den bruker hovedmodus (MM) og IKE fase 1 fungerer (AKTIV)). MM_ACTIVE er det vi vil se pa en fase 1 IKE SA. Det betyr at alt er klart for IKE fase 2 å skje. Så hva skal du gjøre hvis DU ikke har DEN AKTIVE staten? Eller ikke I DET hele tatt?
det er flere andre stater som kan spore deg inn i hva som skjer med ISAKMP SA.
Merk: disse statuskodene er bare for DEN nyere ASA-versjonen, den eldre IPSec-koden brukte forskjellige statusmeldinger.
de to første bokstavene forteller deg om tilkoblingen ble gjort med hovedmodus (MM) eller aggressiv modus (AM). Siden det kan være enten hoved eller aggressiv modus, vil jeg bare liste SOM ‘ XX ‘ nedenfor. Gitt at du bare ser noen av dem med enten hoved-eller aggressiv modus. Definisjonene jeg liste til hver stat er hva jeg har funnet å være problemet i de fleste tilfeller.
XX_Active – Connected
XX_KEY_EXCH – Autentiseringsfeil, sjekk autentiseringsmetoden
XX_INIT_EXCH – Autentiseringsfeil, sjekk autentiseringsmetoden
XX_NO_STATE – Kan ikke matche Ike Fase 1 – policyer, kontroller på hver side
XX_WAIT_MSG2-Venter på svar fra peer
Dessuten Hvis DU Ikke har EN SA i det hele tatt, start med å sjekke det åpenbare. Start på lag 1 og arbeid deg opp slik at begge enhetene har tilkobling og at peer-adressene er riktige.
99% av tiden et problem er med ike fase 1 SA. Hvis du får EN tilstand AV AKTIV på fase 1, er du sannsynligvis i god form. Hvis du fortsatt har problemer, ta en titt på IKE phase 2 SA. Jeg skal ikke vise et eksempel på en siden det for det meste bare statistikk. Det samme konseptet gjelder skjønt, hvis du ikke har En IPSec SA, har DU ikke EN VPN-tunnel.
Feilsøking
hvis du fortsatt har problemer, som alt annet PÅ ASA, kan du prøve feilsøking. De to kommandoene du leter etter ville være…
ASA # debug crypto isakmp
ASA# debug crypto ipsec
ASA # terminal monitor
Sørg for at du aktiverer terminal monitor hvis du ikke er på konsollporten
The Big Fix
jeg kan ikke fortelle deg hvor mange ganger jeg har brukt timer på å prøve å få en tunnel å laste med absolutt ingen suksess. Til slutt løste to kommandoer alltid mine problemer. Når alt annet mislykkes, fjern alle DINE ISAKMP Og IPSEC SAs. Dette vil selvfølgelig blåse BORT Eventuelle IPSec-tilkoblinger til boksen. Noe om bare blåser alle de andre tilkoblingene bort og starter fra scratch synes å fikse det. For å gjøre dette….
ASA # clear crypto ipsec sa
ASA# clear crypto isakmp sa
Konklusjon
jeg håper du har sett, gjennom denne artikkelen, at det å ha en base forståelse av Hvordan IPSec fungerer gjør en verden av forskjell. Å vite hvor du skal lete etter feil og hvordan du tolker dem, er nøkkelen til feilsøking Av IPSec L2L-tunneler.
Leave a Reply