IKEv2 yra ne vienas rankos paspaudimas: IKE SA, autentifikavimas, tada CHILD SA
Šliuzo atsakymas įrodo pasiekiamumą, o ne tapatybę. Sekite IKE_SA_INIT, IKE_AUTH ir pirmąjį CHILD SA, tada patikrinkite, kas turi būti tiesa prieš pradedant eismą.
Galite manyti, kad IKEv2 ryšys yra vienas mainų etapas, pasibaigiantis užšifruotu jūsų eismu. Jų yra bent du, o pirmasis nieko neautentifikuoja. Šalys pradeda valdymo pranešimais, susitaria dėl kriptografinių parametrų, įrodo tapatybę ir tik po to derasi dėl būsenos, kuri perduoda programos paketus. Ši tvarka paaiškina neatitikimą, apie kurį žmonės nuolat praneša: šliuzas atsako, klientas rodo prisijungusį, o privati programa vis tiek viršija laiką. Štai ką iš tikrųjų daro kiekvienas etapas ir kas turi būti tiesa po jo.
Mitas: jei šliuzas atsako, esate prisijungę
Atsakymas į pirmąjį pranešimą įrodo, kad galinis taškas pasiekiamas ir pasirengęs kalbėtis. Jis neįrodo, kad paskyra priimta, kad sertifikatų grandinė patikrinta ar kad įdiegta kokia nors duomenų politika.
Tie gedimai įvyksta vėliau ir duoda skirtingus simptomus. Sertifikato atmetimas ar EAP gedimas ateina po to, kai pirmasis mainų etapas jau pavyko, todėl ping į UDP 500 ir žalia kliento piktograma pasako taip mažai.
IKE_SA_INIT: susitarkite dėl parametrų, ne dėl tapatybės
Pirmasis mainų etapas perduoda IKE saugumo asociacijos pasiūlymus: šifravimo ir vientisumo algoritmus, pseudoatsitiktinę funkciją ir Diffie-Hellman grupę. Šalys taip pat keičiasi nonce reikšmėmis, o kiekviena pusė išveda IKE SA raktų medžiagą iš bendros paslapties, kurią sukuria tos reikšmės. Niekas šiame mainų etape nenustato, kas yra kita šalis. Jis nustato, kad abi pusės gali apskaičiuoti tuos pačius raktus ir sutaria dėl pasiūlymo. Atsakovo, kuriam netinka nė vienas pasiūlymas, čia atmeta mainus, todėl versijos ar algoritmo neatitikimas atrodo kaip neveikiantis serveris.
Šiuo metu sukurtas IKE SA saugo visus vėlesnius valdymo mainus. Tai jo darbas, ir tai kitas darbas nei jūsų paketų apsauga.
IKE_AUTH: įrodykite tapatybę, tada sukurkite pirmąjį CHILD SA
Antrasis mainų etapas perduoda tapatybę. Su sertifikatais kiekviena šalis pasirašo savo privačiu raktu ir pateikia grandinę, kurią kita turi patikrinti; su EAP atsakovas meta iššūkį iniciatoriui pasirinktu metodu. Čia pagaliau iškyla neteisingas serverio vardas, pasibaigęs sertifikatas ar atmestas slaptažodis.
Įprastu atveju IKE_AUTH derasi ir dėl pirmojo CHILD SA, todėl duomenų apsauga sutariama tame pačiame rate. Iniciatorius siūlo eismo selektorius, atsakovas juos susiaurina arba atmeta, o duomenų kelio raktai išvedami iš IKE SA. Tai reiškia, kad vienas mainų etapas gali nepavykti dviejose labai skirtingose vietose: tapatybėje arba politikoje. Skaitykite pranešimo naudingąją dalį arba klaidą, o ne bendrą rankos paspaudimo gedimą, nes vieno sprendimas yra sertifikatas, o kito – potinklio neatitikimas.
Dvi SA, du darbai
| Asociacija | Saugo | Galiojimo trukmės elgsena |
|---|---|---|
| IKE SA | Valdymo mainai: raktų atnaujinimas, trynimas, konfigūracijos naudingosios dalys | Atnaujinama pagal savo grafiką; duomenų kelias gali išgyventi pokytį |
| CHILD SA | Programos eismas, atitinkantis eismo selektorius | Atnaujinama nepriklausomai, dažnai dažniau |
Jų atskyrimas paaiškina dvi elgsenas, kurios atrodo kaip klaidos. Tunelis gali atrodyti nustatytas, kai fone nepavyksta raktų atnaujinimas, o CHILD SA gali būti pakeistas klientui nenutraukus ryšio.
Kai naudojamas strongSwan, IKEv2 konfigūracijos nuoroda ir swanctl --list-sas rodo abu lygius, o ip xfrm state kartu su ip xfrm policy rodo, ką branduolys iš tikrųjų įdiegė. Šių dviejų vaizdų palyginimas yra greičiausias būdas pamatyti, ar derybos baigėsi, ar tik atrodė baigtos. Jei demonas išvardija CHILD SA, kuriam branduolys neturi būsenos, diegimas tyliai nepavyko. Jei branduolys turi būseną, kurios demonas nežino, matote ankstesnio bandymo likutį.
Kas dar turi būti tiesa, kai tunelis pakeltas
Eismo selektoriai apibrėžia, kurie adresai padengti. Jei klientas siūlo vieną potinklį, o serveris tikisi kito, CHILD SA įdiegiamas, bet nieko naudingo neperduoda, ir klaida pasirodo kaip maršrutizavimo, o ne derybų problema. Tada vietinis stekas turi bendradarbiauti: persiuntimas įjungtas ten, kur prieglobos kompiuteris maršrutizuoja, maršrutai į tunelį, ugniasienės taisyklės, leidžiančios dekapsuliuotus paketus, ir vidinis resolveris, jei dalyvauja privatūs vardai. Kiekvienas jų nepavyksta atskirai ir nė vieno nepataiso IKE demono paleidimas iš naujo.
Diagnozuodami laikykite žurnalą matomą: pradinis mainų etapas, tada tapatybės patikra, po to vartotojo autentifikavimas, kur jis taikomas, tada CHILD diegimas ir galiausiai programos eismas. Sustojęs etapas yra tas, kurį reikia taisyti, o vėlesnė maršrutizavimo klaida niekada nėra priežastis susilpninti jau praėjusius tapatybės patikrinimus.