Bu ikki bekor qilish tekshiruvidan biri bitta sertifikat haqida imzolangan javob qaytaradi, ikkinchisi esa to'liq yuklab oladigan imzolangan ro'yxatni qaytaradi. Ikkalasi ham tekshiruvchiga hujjat hali ham ishonchli ekanini aytish uchun mo'ljallangan va ikkalasi ham bir-biriga umuman o'xshamaydigan tarzda muvaffaqiyatsiz bo'ladi. Quyidagi tartib operator ishlab chiqarishda haqiqatan uchratadigan narsaga amal qiladi: tarmoqdagi baytlardan boshlanib, ulanishni rad etuvchi shlyuz bilan tugaydi. Qadamni o'tkazib yuborish, joylashtirishning faqat qog'ozda mavjud bekor qilish siyosati bilan qolishining aynan yo'li.

1-qadam: Har bir tekshiruv nima qaytaradi va qancha vaqt ishlatish mumkin bo'lib qoladi

CRL chiqaruvchi bekor qilgan har bir sertifikatni qamrab oluvchi bitta imzolangan obyekt sifatida e'lon qilinadi, shuning uchun tekshiruvchi uni bir marta oladi va ro'yxatning nextUpdate muddati o'tmaguncha qayta ishlatadi. OCSP javobi torroq: u aynan bitta sertifikat bo'yicha javob beradi va thisUpdate, producedAt hamda odatda nextUpdate ni ham olib yuradi. Aynan shu farq qolgan hamma narsani boshqaradi. Keshlangan CRL jimgina eskiradi, chunki fayl hali ham tahlil qilinadi va uning imzosi hali ham tekshiriladi, holbuki muddati o'tgan OCSP javobi uning vaqt belgilarini o'qigan paytingizda aniq foydasiz.

Shuning uchun keshlash birinchi navbatda belgilanishi kerak: qaysi komponent nusxani saqlaydi va bu nusxa qanday yuqori chegaraga bo'ysunadi. Shlyuzda chegara nextUpdate minus xavfsizlik zaxirasi bo'lishi kerak, hech qachon HTTP kesh sarlavhasi tasodifan taklif qilgan narsa emas. openssl crl -in issuer.crl -noout -lastupdate -nextupdate ikkala sanani ham chop etadi, va nextUpdate muddati allaqachon o'tgan ro'yxatni shunchaki eski emas, yo'q deb hisoblash kerak.

2-qadam: Sertifikat mijozni qayerga yo'naltiradi

Barg sertifikati odatda ikkita ishorani olib yuradi: CRL tarqatish nuqtasi kengaytmasi va OCSP uchun organ axborotiga kirish yozuvi. openssl x509 -in client.pem -noout -ext crlDistributionPoints birinchisini chop etadi, ikkinchisi esa openssl x509 -in client.pem -noout -text chiqishining AIA bo'limida turadi. Har qanday kengaytma ko'rsatkichdir, majburiyat emas. Bekor qilish tekshiruvini hech qachon joriy qilmaydigan mijoz kengaytmalari bir yil oldin o'lgan javob beruvchini nomlagan sertifikatga bemalol ulanadi.

Tarqatish nuqtalari ko'pincha faqat bitta tarmoq segmenti ichida hal qilinadigan ichki xostni nomlaydi, ba'zi eski mijozlar esa ldap URL manzillarini butunlay rad etadi. Yetib borish imkoniyatini tunnelni tugatuvchi xostdan sinang, o'z noutbukingizdan emas, chunki uning muvaffaqiyatsizligi haqiqatan muhim bo'lgan yagona nuqtai nazar shu.

3-qadam: Uzilishdan oldin fail-closed yoki fail-open ni tanlang

Yetib bo'lmaydigan javob beruvchi yoki muddati o'tgan ro'yxat qaror qabul qilishga majbur qiladi: ulanishni rad eting yoki qabul qiling va bo'shliqni yozib qo'ying. OpenSSL ning verify quyi buyrug'i qat'iy tanlovni oydinlashtiradi, chunki -crl_check qo'shish mavjud bo'lmagan CRL ni unable to get certificate CRL va muvaffaqiyatsiz tekshiruvga aylantiradi. Ko'p steklarda yumshoq xatolik umuman bayroq emas, bu tekshiruvning yo'qligi, va aynan shuning uchun u tasodifan yetkaziladi.

Mijozning haqiqatan qanday xatti-harakati borligini ko'rish uchun javob beruvchini olib tashlang va qayta ulaning. Tunnel baribir ko'tarilsa, o'tkazib yuborilgan tekshiruvni qayd etgan jurnal satrini toping, so'ng voqea paytida kimdir o'sha satrni o'qiydimi deb so'rang. Bitta yetkazib beruvchi protokolga qarab farq qilishi mumkin: bitta mashinadagi IKEv2 mijozi va OpenVPN mijozi bog'liq bo'lmagan konfiguratsiya sozlamalarini o'qiydi.

4-qadam: Tekshiruv trafik qabul qilinadigan joyda ishlashini isbotlang

Ulanishni tugatuvchi yoki avtorizatsiya qiluvchi jarayonni toping, so'ng undan bekor qilish tekshiruvini yoqadigan konfiguratsiya satrini so'rang. Zanjirni tekshiradigan, lekin hech qachon bekor qilish haqida so'ramaydigan shlyuz sizning hujjatlaringizdagi siyosatdan boshqa siyosatni qo'llaydi, va hech qanday sertifikat zanjiri skrinshoti buning aksini isbotlamaydi. OpenVPN bu parametrni crl-verify deb yozadi; strongSwan CRL va OCSP qidiruvlarini CA konfiguratsiyasi ostida saqlaydi, u yerda crl_uris yoki ocsp_uris o'rnatiladi. Agar ikkalasidan biriga ham ishora qila olmasangiz, tekshiruv yo'q deb hisoblang.

OCSP javobi faqat chiqaruvchi CA uni imzolaganida yoki shu CA topshirgan OCSPSigning kengaytirilgan kalit ishlatilishiga ega javob beruvchi uni imzolaganida kuchga ega, shuning uchun aloqasiz xizmatdan kelgan javob hech narsani isbotlamaydi. Javob beruvchini o'zingiz boshqarsangiz, uni qat'iy bog'liqlik sifatida kuzating, chunki bitta o'lgan xizmat birdaniga har bir fail-closed mijoz uchun uzilishga aylanadi.

5-qadam: Bitta sertifikatni ataylab bekor qiling

Sinov sertifikatini oling, uni ishlab chiqarish ishlatadigan kanal orqali bekor qiling va javob beruvchidan to'g'ridan-to'g'ri so'rang. openssl ocsp -issuer ca.pem -cert old.pem -url http://ocsp.example.net -resp_text bekor qilish vaqti bilan birga Cert Status: revoked haqida xabar berishi kerak, good javobi esa sizning bekor qilishingiz mijozlaringiz so'raydigan javob beruvchiga yetmaganini bildiradi. So'ng ro'yxat yo'li orqali o'sha qarorni ko'rish uchun openssl verify -crl_check -CRLfile issuer.crl -CAfile ca.pem old.pem ni ishga tushiring. Chiqish kodi o'rniga sabab satrini o'qing, chunki bekor qilish rad etilishi ham, zanjir xatosi ham muvaffaqiyatsizlik bilan tugaydi.

Haqiqatan muhim qadam, oxirgisi: eski profil bilan haqiqiy qo'llash nuqtasiga qayta ulanib, rad etish bekor qilishdan kelishini tasdiqlang. So'ng yangi, amaldagi sertifikat bilan qayta ulanib, faqat tinglovchini buzmaganingizni isbotlang. Mijozdagi profilni o'chirish serverning qarori haqida hech narsani isbotlamaydi, tunnelni hech qachon tugatmaydigan mashinada openssl verify muvaffaqiyatli ishga tushishi ham isbotlamaydi. RFC 6960 mos keladigan OCSP javobi nimalardan iboratligini belgilaydi, jumladan bu sinov o'qiydigan holat qiymatlari ham.

O'xshash maqolalar