Xususiy CA zaxira nusxasi: shifrlangan arxiv yoki HSM kalit zaxirasi
Shifrlangan arxiv yoki HSM bilan o'ralgan kalit: har bir VPN CA zaxira modeli qanday tiklanadi, unda nima bo'lishi kerak va qaysi nosozlikni haqiqatan ham o'tkazib yuborishingiz mumkin.
Buning katta qismini hal qiladigan savol arxivni qanday shifrlashingiz emas. CA xususiy kalitingiz o'z konteyneridan umuman chiqa oladimi degan savol. Agar kalit fayl bo'lsa, butun CA katalogini bitta shifrlangan blokka ko'chirib, bir necha daqiqada tugatishingiz mumkin. Agar u HSM yoki kalitni chiqarib bo'lmaydigan deb belgilaydigan tokenda yashasa, bunday nusxa mavjud emas va rejangiz yetkazib beruvchining o'rash va tiklash tartibi haqidagi rejaga aylanadi. Ikkala model ham ishlaydi, turlicha ishdan chiqadi va siz o'tkazib yubora oladigan nosozlik loyihalashga arziydigan nosozlikdir.
Ikki zaxira modeli qayerda ajraladi
A modeli — katalog nusxasi. OpenSSL uslubidagi CA ish katalogi, bitta sertifikat emas: ca.key yoki cakey.pem, ca.crt, chiqarish ma'lumotlar bazasi, serial va crlnumber hisoblagichlari va openssl.cnf. O'sha katalogni simmetrik shifr bilan muhrlab, natijani ikkinchi tashuvchiga ko'chiring, tiklash esa ochish, tekshirish, imzolash demakdir. Chiqaruvchiga kerak bo'lgan hamma narsa birga sayohat qiladi, jumladan hech kim yozganini eslamaydigan haftalab bekor qilish tarixi.
B modeli — kalitni ushlab turish. Kalit PKCS#11 moduli ichida yaratiladi va chiqarib bo'lmaydigan deb belgilanadi; modul uni zaxira uchun o'rashi mumkin, lekin hech bir jarayon hech qachon xom baytlarni o'qimaydi. U holda zaxirangiz to'g'ri tartibda tiklanishi kerak bo'lgan ikki narsa: faqat o'sha modullar oilasi ocha oladigan o'ralgan kalit blobi va ma'lumotlar bazasi, konfiguratsiya va sertifikatlarning oddiy nusxasi.
| Attribute | Encrypted archive | HSM key backup |
|---|---|---|
| What you store | one encrypted file | wrapped blob plus CA records |
| Who can restore it | anyone holding the passphrase | holder of the module and the blob, often vendor support |
| If a copy leaks | attacker with the passphrase becomes the CA | blob is inert without the matching module |
| What usually breaks it | forgotten passphrase, one damaged copy | replacement module rejects the blob, contract gap |
Taqqoslash hech qachon qaysi model mavhum tarzda kuchliroq degani haqida emas. U sizning jamoangiz tungi soat 2 da haqiqatan hushyor odamlar bilan qaysinisini tiklay olishi haqida. Hech kim ocholmaydigan arxiv va hech kim sinamagan HSM blobi birdek foydasiz. Farq shundaki, arxiv nosozligi parol menejerida ko'rinadi, HSM nosozligi esa qo'llab-quvvatlash shartnomasida yashirinadi.
Har bir CA zaxirasida nima bo'lishi kerak
Ikkala model ham bir xil yozuvlar to'plamiga muhtoj. OpenSSL CA da bu fayllar index.txt — har bir chiqarilgan sertifikat uchun bir qator, holat, muddat, serial va subyektni qamrab oladi, so'ngra index.txt.attr, keyingi chiqariladigan serialni saqlaydigan serial, keyingi CRL raqamini saqlaydigan crlnumber va CA ingiz haqiqatan ishlaydigan dir, policy va default_days bilan openssl.cnf. openssl-ca qo'llanmasi bu hisoblagichlarning har biri nimani boshqarishini tushuntiradi. easy-rsa bir xil ma'lumotni pki/ ostida saqlaydi, vars fayli sertifikat maydonlarini belgilaydi.
Kalit va sertifikat qayta qurib bo'lmaydigan qismlardir. Ma'lumotlar bazasi xotiradan qayta tiklab bo'lmaydigan qismdir. index.txt ni tashlab ketish hali ham yangi sertifikatlarga imzo chekish imkonini beradi va aynan shu tuzoq: mijoza sertifikat bekor qilinganmi deb birinchi marta so'raganda uning yo'qligini bilasiz. CA barmoq izini zaxiradan tashqarida yozib qo'ying, shunda tiklash siz ishonadigan qiymat bilan taqqoslanadi, hozir tiklagan fayl bilan emas.
openssl x509 -in ca.crt -noout -fingerprint -sha256
tar czf ca-state.tar.gz ca.crt ca.key index.txt* serial* crlnumber* openssl.cnf
openssl enc -aes-256-cbc -pbkdf2 -iter 200000 -salt -in ca-state.tar.gz -out ca-state.tar.gz.enc
openssl ca -config openssl.cnf -gencrl -out crl.pem
Chiqaruvchini shoxlamaydigan tiklash sinovlari
Bir xil subyekt va bir xil kalitga ega ikki tirik CA asl nusxaga ishonadigan har bir mijozaga bir xil ko'rinadi. Bir xil raqamli, lekin boshqa mazmunli ikki CRL — mijozlar siz bekor qilgan sertifikatni jim qabul qilish usuli. Tiklashni mijozlaringizga yo'l bo'lmagan xostda yoki bir martalik VM da ishga tushiring va sinov yaratgan CRL ni hech qachon e'lon qilmang.
Faqat arxiv ochilishini isbotlaydigan sinov chiqarish haqida hech narsani isbotlamaydi. Muhim ketma-ketlik: tiklangan ca.crt barmoq izini yozib qo'ygan qiymatingiz bilan solishtiring, serial oxirgi chiqargan sertifikatingiz bildirgan qiymatga mos kelishini tasdiqlang, bir martalik CN uchun bitta sertifikat chiqaring va index.txt bir qator olishini kuzating, so'ngra o'sha sertifikatni bekor qilib, CRL ni qayta yarating.
openssl verify -CAfile ca.crt -CRLfile crl.pem -crl_check client.crt
openssl crl -in crl.pem -noout -lastupdate -nextupdate
HSM bilan o'sha sinov modul orqali o'tadi. Blokni almashtiruvchi qurilmada oching, modul xabar qilgan CA sertifikati yozib qo'ygan barmoq izingizga mos kelishini tasdiqlang va shundan keyingina imzo chekishiga ruxsat bering. Agar modulning o'z obyekt ombori bo'lsa, o'rash kalit obyekti va uning yorlig'ini qamrab olishi kerak, chunki kalitni boshqa yorliq ostida tiklash unga ishora qiluvchi konfiguratsiyani buzadi.
Tanlovni hal qiladigan nosozlik rejimlari
Beshta nosozlik haqiqiy yo'qotishlarning ko'pini tushuntiradi. Sirning mustaqil nusxasisiz unutilgan arxiv parol iborasi arxivni g'ishtga aylantiradi. Bitta diskdagi bitta nusxa o'sha disk bilan o'ladi va nazorat summasi deshifrlash hali ishlayaptimi-yo'qmi hech qachon aytmaydi. Zaxira sanasidan keyin bekor qilingan sertifikatlar tiklanishdan keyin yana amalda ko'rinadi, shuning uchun zaxira oralig'ingiz bekor qilishning ko'r nuqtasidir. Eski serial hisoblagichini tiklash serial raqamlarni qayta ishlatadi va serialga bog'langan kesh va CRL qidiruvlarini chalkashtiradi. O'ralgan blokni rad etadigan almashtiruvchi HSM apparat almashtirishini to'liq qayta chiqarishga aylantiradi.
A modeli birinchi to'rttasini yomon, lekin ko'rinadigan tarzda hal qiladi. B modeli ularni modul yoki yetkazib beruvchi jarayoni ishdan chiqmaguncha yaxshi hal qiladi. Agar kalitlaringiz eksport qilinadigan bo'lsa va jamoa kichik bo'lsa, shifrlangan arxiv halol tanlov bo'lib, ikki tashuvchi va yozma parol iborasi tartibi bilan qo'llab-quvvatlanadi. Agar kalit chiqarib bo'lmaydigan bo'lsa, umuman tanlovingiz yo'q va ish kerak bo'ladigan kundan oldin yetkazib beruvchining tiklash yo'lini isbotlashga o'tadi.
Modelni tanlash va rejalashtirish
Uch shart qarorni hal qiladi. Kalitni yetkazib beruvchi jarayonisiz eksport qilish mumkinmi? Tiklash sizda hali yo'q apparatga tushishi kerakmi? Qo'llab-quvvatlash bilan bahslashayotganda chiqarish qancha tura oladi? Shu uchtasiga javob bering va model hal bo'ladi; undan keyingi hamma narsa rejalashtirish.
Har bir imzo marosimidan keyin va har qanday konfiguratsiya o'zgarishidan oldin zaxira oling, chunki konfiguratsiya holatning bir qismi. Ikki nusxani turli joylarda turli tashuvchilarda saqlang, biri oflayn bo'lsin, deshifrlash sirini esa nusxalardan boshqa ishonch domenida saqlang. Oxirgi muvaffaqiyatli tiklash sanasini zaxira yozuviga yozing. Hech qachon tiklanmagan zaxira gipoteza, nazorat emas.
Chiptani yopishdan oldin ushbu besh bandni tasdiqlang:
- ca.crt barmoq izi zaxiradan tashqarida biror joyda yozilgan.
- index.txt, serial, crlnumber va openssl.cnf barchasi arxiv yoki bloklar to'plami ichida.
- Parol iborasi yoki o'ralgan kalitning saqlanishi hujjatlashtirilgan va arxiv egasidan boshqa birovda.
- Tiklash izolyatsiyalangan xostda bitta chiqarish va bitta bekor qilish bilan sinovdan o'tkazilgan.
- Zaxira oralig'ingiz bildiradigan bekor qilish bo'shlig'i yozma ravishda qabul qilingan yoki qisqartirilgan.