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

Төмендегі бес тексеруден ретімен өтіп, бірінші орындалмайтын жерде тоқтаңыз, өйткені әрбір келесі тексеру алдыңғыларының дұрыс екенін болжайды.

Қабылдау шешімін қай компонент қабылдайтынын тексеріңіз

Клиент сертификатын тексеретін процесті атаңыз, өйткені тізімді тек сол процесс қолдана алады. OpenVPN серверінде бұл crl-verify параметрімен конфигурацияланған демонның өзі. ocserv-те бұл ocserv.conf ішіндегі crl жолы. strongSwan-да кірістер — жүктелген CRL-дар мен strictcrlpolicy. VPN алдында TLS-ті аяқтайтын прокси немесе құрылғы да нақты тексеруші болуы мүмкін, ал егер солай болса, оның артындағы демон клиент сертификатын ешқашан көрмейді.

WireGuard басқа санатқа жатады. Онда сертификаттар да, кері қайтару тізімі де жоқ; peer конфигурациядағы өзінің ашық кілті арқылы жіберіледі, сондықтан қатынасты тоқтату сол кілтті жоюды білдіреді. Егер тек WireGuard қолданылатын орнатуда CRL іздесеңіз, ондай механизм жоқ.

Клиент жағындағы тұзаққа да назар аударыңыз. Сервер сертификаты ұнамағандықтан қосылудан бас тартатын клиент сервердің тізбегін қолданады, өз тіркелгі деректерін кері қайтармайды. Пайдаланушы сертификаты тек сол сертификат тексерілетін жерде кері қайтарылады, ал бұл әрдайым дерлік сервер жағы.

Тізім қай эмитент үшін қол қойылғанын тексеріңіз

CRL бір эмитенттік CA-мен шектелген. Тамыр және аралық CA болса, жапырақ сертификаттар аралықтан шығады, сондықтан маңызды тізім — аралықтың CRL-ы; тамырдың тізімі бұл жапырақтар туралы ештеңе айтпайды. Қате файлға бағытталған тексеруші оны көңілді талдайды, сәйкес жазба таппайды және бәрін қабылдайды.

Демонды ұстамас бұрын сәйкестікті растаңыз. Сертификаттағы эмитент тізімнің subject-імен сәйкесуі керек:

openssl x509 -in client.crt -noout -issuer -serial
openssl crl  -in intermediate.crl -noout -issuer -lastupdate -nextupdate

Екеуі де бір CA-дан болса, сертификат үшін басылған сериялық нөмір тізімде пайда болуы тиіс мән. Егер олар сәйкеспесе, сізде қате CRL немесе оның қате көшірмесі бар.

Жарамдылық сол тексеруге жатады. Өткен уақыттағы nextUpdate тізімді ескіртеді, ал жабық түрде сәтсіздікке ұшырайтын тексеруші тек кері қайтарылғанды емес, барлық клиентті қабылдамайды.

Сериялық нөмір демон жүктеген көшірмеде бар-жоғын тексеріңіз

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

openssl crl -in intermediate.crl -noout -text | grep -i -A2 'Serial Number'
openssl ca -revoke client.crt
openssl ca -gencrl -out intermediate.crl

Содан кейін іске асыруыңыз файлды қалай қабылдайтынын тексеріңіз. OpenVPN crl-verify берілген жолды іске қосылу кезінде бір рет оқиды, сондықтан жаңа тізім қайта іске қосуды немесе қайта іске қосу сигналын қажет етеді; каталогқа бағытталған сол опция әр қосылымда қайта оқылады, сондықтан каталог режимі бар. strongSwan өз тіркелгі деректерін қайта жүктеуі керек, мысалы swanctl --load-creds арқылы. Дискідегі файлдың дұрыс болуы және тексерушінің оны пайдалануы — екі түрлі факт.

Жоқ немесе мерзімі өткен тізім үшін саясатты тексеріңіз

Бұл — көптеген орнатулар ешқашан анық қабылдамайтын шешім, және ол кері қайтарудың сізді қорғайтынын немесе бәрін сыртта құлыптайтынын анықтайды. Fail-closed жарамды кері қайтару ақпараты болмаса бас тарту болатынын білдіреді; fail-open тексерушінің онсыз жалғасатынын білдіреді. strongSwan таңдауды strictcrlpolicy ретінде ұсынады. OpenVPN crl-verify арқылы оқуға немесе талдауға болмайтын файлдан іске қосылудан бас тартады, ал мерзімі өткен тізім үнсіз қабылдау емес, мерзімі өткен CRL туралы TLS тексеру қатесі ретінде көрінеді.

State of the revocation dataFail-closed resultFail-open result
List missing or unreadableVerification fails, so expect an outageEvery client connects, including the revoked one
List past nextUpdateValidation errors until a fresh list is deployedOld status is trusted indefinitely
Revoked serial present in the loaded listHandshake rejected for that certificateHandshake rejected for that certificate

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

Белсенді сеансты, содан кейін кілттің көшірмелерін тексеріңіз

Кері қайтару сертификатты тексеру кезінде бағаланады, ол қосылу және қайта келіссөз кезінде орын алады. Орнатылған сеанс қайта келіссөзге дейін жалғасады, ал OpenVPN әдепкі мәні reneg-sec 3600 параметрімен сағатына бір рет. Егер адам қазір желіден шығуы керек болса, тізімді жариялаумен қатар сеансты тоқтатыңыз, содан кейін қайта қосылудың қабылданбайтынын растаңыз.

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

Оны аяқталды деп санамас бұрын: тексеретін компонент анықталды, тізімнің эмитенті жапырақтың эмитентіне сәйкеседі, кері қайтарылған сериялық нөмір демон шынымен жүктеген көшірмеде, жоқ немесе мерзімі өткен тізімдер саясаты әдейі және бақыланады, ал белсенді сеанс күтудің орнына тоқтатылды. Осының бәрінің негізіндегі форматтар RFC 5280 ішінде көрсетілген.

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