Zašto ponovni uvoz certifikata za Client VPN zahtijeva novu krajnju točku
Krajnja točka Client VPN-a veže svoj certifikat pri izradi. Ponovni uvoz objekta u ACM-u ne mijenja to vezivanje, pa oporavak znači novu krajnju točku.
Veza Client VPN-a se prekida, certifikat u ACM-u se zamjenjuje i ništa se ne mijenja. Objekt certifikata nikada nije bio ono što je krajnja točka koristila. Krajnja točka pri izradi pohranjuje poveznicu na certifikat, zajedno s korijenskim CA-om klijenta prema kojem će provjeravati, vrstom autentifikacije, podmrežama i pravilima autorizacije, i nijedna od tih poveznica nema poziv za izmjenu koji prihvaća zamjenski certifikat. Zamjena bajtova iza ARN-a promjena je na certifikatu, a ne na krajnjoj točki koja ga je zabilježila.
Krajnja točka čuva reference, a ne certifikate
Mehanizam treba precizno izložiti jer objašnjava cijeli kvar. create-client-vpn-endpoint prima ARN certifikata servera i ARN lanca korijenskih certifikata klijenta, a nastala krajnja točka čuva te reference uz opcije autentifikacije kao fiksna svojstva. API ne nudi operaciju koja zamjenjuje certifikat servera na postojećoj krajnjoj točki.
Vezivanje možete potvrditi bez nagađanja. aws ec2 describe-client-vpn-endpoints --client-vpn-endpoint-ids cvpn-endpoint-0123456789abcdef0 ispisuje ARN certifikata, ARN korijenskog lanca klijenta, vrstu autentifikacije, CIDR klijenta i povezane podmreže, što je cijeli skup svojstava koja biste morali reproducirati. Pokrenite ga prije i poslije ponovnog uvoza i ispis se neće pomaknuti. To je dokaz da ponovni uvoz nikada nije mogao pomoći.
Zašto ponovni uvoz ne može dosegnuti krajnju točku
Ponovni uvoz zapisuje novo tijelo certifikata pod postojećim ARN-om. To je legitimna operacija kada je certifikat blizu isteka, a ACM će je prihvatiti ako se privatni ključ podudara i lanac se validira. Ono što ne čini jest ponovno pokretanje validacije iz trenutka izrade krajnje točke, pa poveznica i materijal iza nje ostaju onakvi kakvi su bili kad je krajnja točka izgrađena.
Zato i simptom izgleda kao mrežni kvar. TLS rukovanje ne uspijeva ili se resetira prije nego što se autorizacija uopće ocijeni, pa sigurnosne grupe, rute i pravila autorizacije izgledaju nedužno, i jesu.
Lanac je dio certifikata klijenta
Druga polovica kvara je u certifikatu klijenta i lakše ju je odbaciti. Certifikat klijenta mora se uvesti s lancem koji ga je izdao, iako obrazac za uvoz to polje prikazuje kao neobavezno. Bez lanca krajnja točka ne može izgraditi put od certifikata klijenta do korijenskog CA-a klijenta s kojim je konfigurirana, a veza završava blagim resetom koji izgleda kao vatrozid koji odbacuje pakete. openssl verify -CAfile root-ca.pem client.crt odgovara na to pitanje lokalno u sekundi i to bi trebala biti prva naredba koju pokrenete.
Ponovni uvoz s lancem prava je popravka za tu polovicu i još uvijek nije dovoljan sam po sebi. Kad se objekt u ACM-u promijeni, krajnja točka sa starom poveznicom pogrešna je stvar za daljnje testiranje. Oba koraka pripadaju istom popravku, zato dvodijelni popravak nije proturječje.
Ponovno stvaranje krajnje točke je migracija
Stvaranje zamjenske krajnje točke je migracija, a ne ponovni pokušaj, i tretiranje toga kao ponovnog pokušaja način je na koji timovi završe s dvije napola konfigurirane krajnje točke. Nova krajnja točka dobiva novi ID i, ako to niste planirali, novo DNS ime za svakog korisnika. Držite profil klijenta usmjeren na ime, a ne na adresu, kako bi zamjena postala promjena zapisa, a ne preraspodjela.
Redoslijed koji to čini sigurnim je kratak: stvorite novu krajnju točku s istim CIDR-om, podmrežama i pravilima autorizacije, izvezite svježi profil s aws ec2 export-client-vpn-client-configuration i provjerite s jednim korisnikom. Tek nakon toga stara krajnja točka se ukida.
Ukidanje stare krajnje točke ima svoj redoslijed. Opozovite certifikate klijenata koje ste namjeravali umiroviti prije nego što je izbrišete, jer nova krajnja točka koja još vjeruje starom CA-u nastavlja prihvaćati certifikate za koje ste mislili da su nestali. Zatim izbrišite staru krajnju točku i uklonite njezina pravila autorizacije, kako se zastarjeli profil ne bi mogao ponovno spojiti na ciljnu mrežu koju ste mislili da je zatvorena. Zapišite ID stare krajnje točke i identifikatore poveznica u zapis promjene, jer migracija uspoređena s pamćenjem način je na koji se radna krajnja točka ponovno gradi dvaput.
Uredite dijagnozu
Razdvojite tri kvara prije nego što promijenite bilo koju konfiguraciju. Klijent ne može dovršiti TLS, klijent dovrši TLS i nije autoriziran, ili se klijent spoji i ne može dosegnuti odredište. Poveznica s certifikatom pripada prvome, pravilo autorizacije koje ne pokriva adresu klijenta pripada drugome, a ruta ili sigurnosna grupa trećemu, gdje je ponovno stvaranje krajnje točke gotovo uvijek pogrešan potez.
Krajnja točka koja je radila mjesecima pa stala, bez promjene certifikata ili politike, zaseban je slučaj. Ponovna izgradnja s identičnim postavkama može vratiti uslugu, ali to je razlog da konfiguracija ostane reproducibilna, a ne razlog za izgradnju iznova pri svakom incidentu.
Držite četiri stvari pod verzijskom kontrolom kako bi sljedeća izgradnja bila diff, a ne improvizacija: parametre krajnje točke, ARN certifikata i lanca, pravila autorizacije i CIDR klijenta. Dokumentacija za autentifikaciju Client VPN-a navodi koji certifikat igra koju ulogu, što vrijedi provjeriti prije nego uopće pretpostavite da je certifikat problem. Ako ponovni uvoz ništa ne promijeni, a krajnja točka se i dalje resetira, sumnjivac je poveznica, a odgovor je nova krajnja točka izgrađena od zabilježenih parametara. Ako krajnja točka ipak preuzme novi objekt, poveznica je već bila ispravna i kvar je u lancu klijenta ili sloju autorizacije.