Осы екі кері қайтару тексерісінің біреуі бір сертификат туралы қол қойылған жауап қайтарады, екіншісі толығымен жүктейтін қол қойылған тізімді қайтарады. Екеуі де тексерушіге куәліктің әлі сенімді екенін айтуға арналған, және екеуі де бір-біріне мүлде ұқсамайтын түрде сәтсіздікке ұшырайды. Төмендегі реттілік оператордың өндірісте шынымен кездесетінін қадағалайды: желідегі байттардан басталып, қосылымнан бас тартатын шлюзбен аяқталады. Қадамды өткізіп жіберу — орналастырудың тек қағазда ғана бар кері қайтару саясатымен қалуының дәл жолы.

1-қадам: Әр тексеріс не қайтарады және қанша уақыт қолданылады

CRL шығарушы кері қайтарған әрбір сертификатты қамтитын бір қол қойылған нысан ретінде жарияланады, сондықтан тексеруші оны бір рет алып, тізімнің nextUpdate мерзімі өтпейінше қайта пайдаланады. OCSP жауабы тарырақ: ол дәл бір сертификат бойынша жауап береді және thisUpdate, producedAt және әдетте nextUpdate-ты да алып жүреді. Осы айырмашылық қалғанның бәрін айқындайды. Кэштелген CRL үнсіз ескіреді, өйткені файл әлі талданады және оның қолтаңбасы әлі тексеріледі, ал мерзімі өткен OCSP жауабы оның уақыт белгілерін оқыған сәтте анық пайдасыз.

Сондықтан кэштеу — бірінші кезекте белгіленетін нәрсе: қай компонент көшірмені ұстайды және сол көшірме қандай шекке бағынады. Шлюзде шек nextUpdate минус қауіпсіздік шегі болуы керек, ешқашан HTTP кэш тақырыбы кездейсоқ ұсынған нәрсе емес. openssl crl -in issuer.crl -noout -lastupdate -nextupdate екі күнді де басып шығарады, және nextUpdate мерзімі әлдеқашан өткен тізімді жай ғана ескі емес, жоқ деп қарау керек.

2-қадам: Сертификат клиентті қайда бағыттайды

Жапырақ сертификаты әдетте екі ишараны алып жүреді: CRL тарату нүктесінің кеңейтілуі және OCSP үшін орган ақпаратына қатынау жазбасы. openssl x509 -in client.pem -noout -ext crlDistributionPoints біріншісін басып шығарады, ал екіншісі openssl x509 -in client.pem -noout -text шығысының AIA бөлімінде тұр. Кез келген кеңейту — көрсеткіш, міндет емес. Кері қайтару тексерісін ешқашан іске асырмайтын клиент кеңейтілулері бір жыл бұрын өлген жауап берушіні атайтын сертификатқа мүлдем жақсы қосылады.

Тарату нүктелері көбінесе тек бір желілік сегменттің ішінде шешілетін ішкі хостты атайды, ал кейбір ескі клиенттер ldap URL-дарынан мүлде бас тартады. Қолжетімділікті туннельді аяқтайтын хосттан тексеріңіз, өз ноутбугыңыздан емес, өйткені оның сәтсіздігі шынымен маңызды жалғыз көзқарас — сол.

3-қадам: Үзілістен бұрын fail-closed немесе fail-open таңдаңыз

Қолжетімсіз жауап беруші немесе мерзімі өткен тізім шешімге мәжбүрлейді: қосылымнан бас тарту, немесе оны қабылдап, олқылықты жазу. OpenSSL-дің verify қосымша командасы қатаң таңдауды айқын етеді, өйткені -crl_check қосу қолжетімсіз CRL-ді unable to get certificate CRL және сәтсіз тексеруге айналдырады. Көптеген стектерде жұмсақ сәтсіздік мүлде жалауша емес, ол тексерістің жоқтығы, және дәл сондықтан ол кездейсоқ жеткізіледі.

Клиенттің шынымен қандай мінез-құлқы бар екенін көру үшін жауап берушіні алып тастап, қайта қосылыңыз. Туннель әлі де көтерілсе, өткізіп жіберілген тексерісті тіркеген журнал жолын табыңыз, содан кейін оқиға кезінде біреу сол жолды оқыр ма еді деп сұраңыз. Бір өндіруші протоколға қарай ерекшеленуі мүмкін: бір машинадағы IKEv2 клиенті мен OpenVPN клиенті байланыссыз конфигурация түймелерін оқиды.

4-қадам: Тексерістің трафик қабылданатын жерде жүретінін дәлелдеңіз

Қосылымды аяқтайтын немесе авторландыратын процесті тауып, одан кері қайтару тексерісін қосатын конфигурация жолын сұраңыз. Тізбекті тексеретін, бірақ кері қайтару туралы ешқашан сұрамайтын шлюз құжаттамаңыздағыдан өзге саясатты қолданады, және сертификат тізбегінің ешбір скриншоты керісін дәлелдей алмайды. OpenVPN бұл опцияны crl-verify деп жазады; strongSwan CRL және OCSP іздеулерін CA конфигурациясының астында ұстайды, онда crl_uris немесе ocsp_uris орнатылады. Екеуінің бірін де көрсете алмасаңыз, тексеріс жоқ деп есептеңіз.

OCSP жауабы тек шығарушы CA оған қол қойғанда, немесе сол CA делегаттаған OCSPSigning кеңейтілген кілт қолданысын ұстайтын жауап беруші қол қойғанда ғана күшіне ие, сондықтан байланыссыз қызметтен келген жауап ештеңені дәлелдемейді. Жауап берушіні өзіңіз басқарсаңыз, оны қатаң тәуелділік ретінде бақылаңыз, өйткені бір өлген қызмет бірден әрбір fail-closed клиент үшін үзіліске айналады.

5-қадам: Бір сертификатты әдейі кері қайтарыңыз

Сынақ сертификатын алыңыз, оны өндіріс қолданатын арна арқылы кері қайтарыңыз және жауап берушіден тікелей сұраңыз. openssl ocsp -issuer ca.pem -cert old.pem -url http://ocsp.example.net -resp_text кері қайтару уақытымен бірге Cert Status: revoked туралы хабарлауы керек, ал good жауабы сіздің кері қайтаруыңыз клиенттеріңіз сұрайтын жауап берушіге жетпегенін білдіреді. Содан кейін тізім жолы арқылы сол шешімді көру үшін openssl verify -crl_check -CRLfile issuer.crl -CAfile ca.pem old.pem іске қосыңыз. Шығу кодының орнына себеп жолын оқыңыз, өйткені кері қайтарудан бас тарту да, тізбек қатесі де сәтсіздікпен аяқталады.

Шынымен маңызды қадам — соңғысы: ескі профильмен нақты қолдану нүктесіне қайта қосылыңыз және бас тартудың кері қайтарудан келетінін растаңыз. Содан кейін жаңа, жарамды сертификатпен қайта қосылып, тыңдаушыны ғана бұзбағаныңызды дәлелдеңіз. Клиенттегі профильді жою сервердің шешімі туралы ештеңені дәлелдемейді, туннельді ешқашан аяқтамайтын машинада openssl verify сәтті іске қосылуы да дәлелдемейді. RFC 6960 сәйкес OCSP жауабының неден тұратынын айқындайды, оның ішінде осы сынақ оқитын мәртебе мәндері де бар.

Қатысты мақалалар