AWS VPN PSK rotacija: kuris tunelis nukrenta ir kada
Pakeitus vieną iš anksto bendrinamą AWS VPN tunelio raktą, tas tunelis nukrenta, kol abi pusės susitaria. Pirmiausia įrodykite atsarginį kelią, tada rotuokite po vieną tunelį.
Tunelis nukrenta tą akimirką, kai du galai nesutaria dėl iš anksto bendrinamo rakto, ir lieka žemai, kol abi pusės neperduoda naujos reikšmės. Ši dalis yra laukiama: AWS traktuoja pakeitimą kaip pasirinkto tunelio pertraukimą, o partneris nebaigs IKE, kol raktai skiriasi. Tai, kas nustebina žmones, yra antroji pusė. Kitas tunelis nepaima srauto pats, nebent patikrinote, kad jis gali jį perduoti. Rotuokite šia tvarka ir pertraukimas liks vieno tunelio viduje.
Kas iš tikrųjų atsitinka, kai raktas pasikeičia
ModifyVpnTunnelOptions perrašo vieno tunelio parinktis, identifikuojamas pagal jo išorinį IP adresą. Tunelis išardomas ir pastatomas iš naujo, todėl IKE ir IPsec derasi nuo nulio su nauju raktu. AWS nurodo, kad pertraukimas gali trukti keletą minučių, o to pakanka, kad maršrutizavimo protokolas tai pastebėtų. Kitam tos pačios jungties tuneliui šis kvietimas neturi įtakos.
Yra antras poveikis, kurį verta žinoti prieš ką nors siunčiant. Keitimo operacija paima visą tunelio parinkčių rinkinį, todėl praleistas laukas įrašomas atgal su numatytąja reikšme. Jei derinote 1 arba 2 fazės gyvavimo trukmes arba negyvo partnerio aptikimo nustatymus, perduokite dabartines reikšmes tame pačiame užklausoje arba planuokite jas atkurti vėliau.
Pirmiausia perskaitykite dabartines reikšmes, tada pakeiskite vieną lauką. Ši seka yra visa šios užduoties disciplina.
Pirmiausia suderinkite AWS tunelį su tinkamu partneriu
Konsolė žymi tunelius pagal eilę, o jūsų įrenginys nenaudoja to žymėjimo. Identifikuokite tunelį pagal jo išorinį IP adresą ir suderinkite su partnerio sekcija kliento šliuze. 1 tunelis vietinėje konfigūracijoje nėra įrodymas, kad redaguojate tunelį, kurį AWS vadina 1 tuneliu.
Pradėkite nuo pačios jungties, kuri išvardija abu tunelius ir raktą, kurį kiekvienas dabar turi:
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query "VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,PreSharedKey]"Grąžinamas raktas yra tas, kuris naudojamas dabar. Palyginkite jį su partnerio konfigūracija prieš ką nors keisdami, nes jau esantis neatitikimas paaiškina tunelį, kuris niekada nebuvo stabilus.
Pirmiausia leiskite kitam tuneliui perduoti srautą
Du tuneliai vienoje jungtyje neįrodo, kad jūsų įrenginys sukonfigūravo abu, kad abu skelbia reikalingus prefiksus arba kad srautas juda tarp jų. Patikrinkite alternatyvaus tunelio derybas, jo maršrutus ir realų programos srautą abiem kryptimis. Su BGP gyva kaimynystė yra naudingas įrodymas, bet ne tas pats, kas prefiksų patvirtinimas. Su statiniu maršrutizavimu patvirtinkite, kaip šliuzas parenka kelią ir ką jis daro, kai pageidaujamas kelias išnyksta.
Jei alternatyva negali perduoti darbo krūvio, suplanuokite pertraukimą arba sutaisykite alternatyvų tunelį prieš liesdami raktą. Būsenos lemputė konsolės puslapyje nėra nepertraukiamos paslaugos pažadas.
Rotuokite vieną tunelį, tada patikrinkite realiu srautu
Kai alternatyvus kelias įrodytas, seka trumpa. Užsirašykite tunelio adresą, jo partnerį ir ne slaptus nustatymus, ir palaikykite valdymo kelią prie šliuzo, kuris nepriklauso nuo tunelio, kurį ruošiatės nutraukti.
- Atnaujinkite kliento šliuzo partnerį pasirinktam išoriniam adresui arba paruoškite pakeitimą taip, kad jis įsigaliotų per kelias sekundes po API kvietimo.
- Siųskite keitimo kvietimą su nauju raktu ir dabartinėmis gyvavimo trukmėmis bei DPD reikšmėmis.
- Palaukite, kol IKE ir IPsec grįš, tada patvirtinkite maršrutus ir reikiamus prefiksus.
- Perleiskite reprezentatyvų programos srautą per tą tunelį ir stebėkite abi kryptis.
Tunelis yra netinkamas naudoti, kol galai nesutaria ir kol AWS taiko pakeitimą, todėl partnerio atnaujinimas turi sekti iškart, o ne po pietų. Tik kai pakeistas tunelis perduoda realų srautą, kartokite procedūrą kitame.
Sustokite, jei po pirmojo tunelio atkūrimas ar maršrutizavimas vis dar neaiškūs. Du pusiau veikiantys tuneliai yra blogiau nei vienas, kuris, kaip žinote, veikia.
Kai atkūrimas stringa, skaitykite IKE pusę
Tunelis, kuris lieka žemai po to, kai abu galai turi naują raktą, paprastai yra politikos neatitikimas, kurį rotacija atskleidė, o ne sukūrė. Pasiūlymai, partnerio siunčiama tapatybė ir srauto selektoriai visi turi atitikti AWS pusę, o vertė, kuri išgyveno nusistovėjusį tunelį, vis tiek gali būti atmesta naujų derybų metu. Perskaitykite derybų būseną ir prie jos pridėtą pranešimą prieš antrą kartą keisdami raktą.
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query "VpnConnections[0].VgwTelemetry[].[OutsideIpAddress,Status,StatusMessage]"Jei pakeitimą reikia atšaukti, neatkurkite seno rakto vien todėl, kad jis anksčiau veikė. Laikykite kompromituotą raktą kompromituotu ir vietoj to sutaisykite derybas. Baikite su patikrintais abiem tuneliais ir atnaujintu paslapčių inventoriumi, kad kiekvienas partneris užrašytų, kokią vertę turi, o AWS tunelio parinkčių dokumentaciją laikykite prie runbook.