Зашто поновни увоз сертификата Client VPN захтева нову крајњу тачку
Крајња тачка Client VPN везује свој сертификат при стварању. Поновни увоз објекта у ACM не мења ту везу, зато опоравак значи нову крајњу тачку.
Веза Client VPN се прекида, сертификат у ACM-у се замењује и ништа се не мења. Објекат сертификата никада није био оно што је крајња тачка користила. Крајња тачка при стварању чува повезивање са сертификатом, заједно са клијентским CA према коме ће валидирати, типом аутентификације, подмрежама и правилима ауторизације, и ниједно од тих повезивања нема позив за измену који прихвата заменски сертификат. Замена бајтова иза ARN-а је промена сертификата, не крајње тачке која га је заробила.
Крајња тачка чува референце, не сертификате
Механизам вреди прецизно формулисати, јер објашњава цео квар. create-client-vpn-endpoint прима ARN серверског сертификата и ARN ланца коренских сертификата клијента, а добијена крајња тачка чува те референце заједно са опцијама аутентификације као фиксна својства. API не нуди операцију која замењује серверски сертификат на постојећој крајњој тачки.
Можете потврдити повезивање без погађања. aws ec2 describe-client-vpn-endpoints --client-vpn-endpoint-ids cvpn-endpoint-0123456789abcdef0 исписује ARN сертификата, ARN клијентског коренског ланца, тип аутентификације, клијентски CIDR и повезане подмреже, што је цео скуп својстава која бисте морали да репродукујете. Покрените га пре и после поновног увоза и излаз се не помера. То је доказ да поновни увоз никада не би помогао.
Зашто поновни увоз не може да стигне до крајње тачке
Поновни увоз уписује ново тело сертификата под постојећи ARN. То је легитимна операција када је сертификат близу истека, и ACM ће је прихватити ако се приватни кључ поклапа и ланац се валидира. Оно што не ради јесте поновно покретање валидације из тренутка стварања крајње тачке, па повезивање и материјал иза њега остају какви су били при изградњи крајње тачке.
Зато и симптом изгледа као мрежни квар. TLS руковање не успева или се ресетује пре него што се ауторизација уопште оцени, па безбедносне групе, руте и правила ауторизације изгледају невино, и заиста јесу.
Ланац је део клијентског сертификата
Друга половина квара је у клијентском сертификату, и лакше је одбити је. Клијентски сертификат мора да се увезе са ланцем који га је издао, иако образац за увоз то поље приказује као опционо. Без ланца крајња тачка не може да изгради пут од клијентског сертификата до клијентског коренског CA са којим је конфигурисана, и веза се завршава меким ресетовањем које звучи као заштитни зид који одбацује пакете. openssl verify -CAfile root-ca.pem client.crt одговара на то питање локално за секунду, и то би требало да буде прва команда коју покренете.
Поновни увоз са ланцем је права поправка за ту половину, и ипак сам по себи није довољан. Када се објекат у ACM-у променио, крајња тачка са старим повезивањем је погрешна ствар против које наставити тестирање. Оба корака припадају истом ремонту, зато дводелна поправка није противречност.
Пресоздавање крајње тачке је миграција
Стварање заменске крајње тачке је миграција, не поновни покушај, и третирање тога као поновног покушаја је начин на који тимови заврше са две половично конфигурисане крајње тачке. Нова крајња тачка добија нови ID и, ако то нисте планирали, ново DNS име за сваког корисника. Држите клијентски профил усмерен на име, а не на адресу, да замена постане промена записа, а не прерасподела.
Редослед који ово држи безбедним је кратак: направите нову крајњу тачку са истим CIDR-ом, подмрежама и правилима ауторизације, извезите свеж профил са aws ec2 export-client-vpn-client-configuration и проверите са једним корисником. Тек после тога стара крајња тачка се уклања.
Повлачење старе крајње тачке из употребе има свој редослед. Опозовите клијентске сертификате које сте намеравали да повучете пре него што је избришете, јер нова крајња тачка која још верује старом CA наставља да прихвата сертификате за које сте мислили да су нестали. Затим избришите стару крајњу тачку и уклоните њена правила ауторизације, да застарели профил не би могао поново да се повеже на циљну мрежу коју сте сматрали затвореном. Запишите ID старе крајње тачке и идентификаторе повезивања у запис о промени, јер миграција упоређена са памћењем је начин на који се радна крајња тачка преизграђује двапут.
Уредите дијагнозу
Раздвојите три квара пре него што промените било коју конфигурацију. Клијент не може да заврши TLS, клијент завршава TLS и није ауторизован, или се клијент повезује и не стиже до одредишта. Повезивање са сертификатом припада првом, правило ауторизације које не покрива адресу клијента другом, а рута или безбедносна група трећем, где је пресоздавање крајње тачке скоро увек погрешан потез.
Крајња тачка која је радила месецима и затим стала, без промене сертификата или политике, је посебан случај. Њена преизградња са идентичним подешавањима може да врати услугу, али то је разлог да конфигурација остане репродуктивна, не разлог да се преизграђује при сваком инциденту.
Држите четири ствари под контролом верзија да следећа преизградња буде diff, а не импровизација: параметре крајње тачке, ARN сертификата и ланца, правила ауторизације и клијентски CIDR. Документација за аутентификацију Client VPN наводи који сертификат игра коју улогу, што вреди проверити пре него што уопште претпоставите да је сертификат проблем. Ако поновни увоз ништа не мења и крајња тачка се и даље ресетује, сумњиво је повезивање и одговор је нова крајња тачка изграђена од забележених параметара. Ако крајња тачка ипак преузме нови објекат, повезивање је већ било тачно и квар је у клијентском ланцу или слоју ауторизације.