Özel CA yedeği: şifrelenmiş arşiv veya HSM anahtar yedeği
Şifrelenmiş arşiv veya HSM ile sarılmış anahtar: her VPN CA yedekleme modelinin nasıl geri yüklendiği, ne içermesi gerektiği ve gerçekten hangi arızayı atlatabileceğiniz.
Bunun çoğunu belirleyen soru, arşivi nasıl şifrelediğiniz değildir. Soru, CA özel anahtarınızın kabından hiç çıkıp çıkamayacağıdır. Anahtar bir dosyaysa, tüm CA dizinini tek bir şifreli bloğa kopyalayıp dakikalar içinde bitirebilirsiniz. Anahtar bir HSM'de veya anahtarı dışa aktarılamaz olarak işaretleyen bir belirteçte yaşıyorsa, o kopya yoktur ve planınız satıcının sarma ve geri yükleme prosedürüne dair bir plana dönüşür. İki model de çalışır, farklı biçimlerde başarısız olur ve atlatabileceğiniz arıza, etrafında tasarım yapmaya değer olandır.
İki yedekleme modelinin ayrıldığı yer
Model A dizin kopyasıdır. OpenSSL tarzı bir CA bir çalışma dizinidir, tek bir sertifika değil: ca.key veya cakey.pem, ca.crt, verme veritabanı, serial ve crlnumber sayaçları ve openssl.cnf. O dizini simetrik bir şifreyle mühürleyin, sonucu ikinci bir ortama taşıyın ve geri yükleme açmak, doğrulamak, imzalamak demektir. Vericinin ihtiyaç duyduğu her şey birlikte seyahat eder, kimsenin yazdığını hatırlamadığı haftalarca iptal geçmişi dahil.
Model B anahtar muhafazasıdır. Anahtar bir PKCS#11 modülünün içinde üretilir ve dışa aktarılamaz olarak işaretlenir; modül onu yedek için sarabilir, ancak hiçbir süreç ham baytları asla okumaz. Yedeğiniz o zaman doğru sırayla geri yüklenmesi gereken iki eserdir: yalnızca o modül ailesinin açabileceği sarılı bir anahtar bloğu ve veritabanının, yapılandırmanın ve sertifikaların düz bir kopyası.
| 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 |
Karşılaştırma hiçbir zaman hangi modelin soyut olarak daha güçlü olduğuyla ilgili değildir. Gece saat 2'de gerçekten uyanık olan insanlarla ekibinizin hangisini geri yükleyebileceğiyle ilgilidir. Kimsenin çözemediği bir arşiv ile kimsenin test etmediği bir HSM bloğu eşit derecede işe yaramaz. Fark şudur: arşiv arızası bir parola yöneticisinde ortaya çıkar, HSM arızası ise bir destek sözleşmesinde saklanır.
Her CA yedeğinin içermesi gerekenler
İki model de aynı kayıt kümesine ihtiyaç duyar. Bir OpenSSL CA'sında bu dosyalar, verilen her sertifika için durum, son kullanma, serial ve konuyu kapsayan bir satır içeren index.txt, ardından index.txt.attr, verilecek sonraki serialı tutan serial, sonraki CRL numarasını tutan crlnumber ve CA'nızın gerçekten çalıştığı dir, policy ve default_days değerlerini içeren openssl.cnf'tir. openssl-ca kılavuzu bu sayaçlardan her birinin neyi denetlediğini açıklar. easy-rsa aynı verileri pki/ altında tutar ve bir vars dosyası sertifikanın alanlarını belirler.
Anahtar ve sertifika yeniden inşa edemeyeceğiniz parçalardır. Veritabanı bellekten yeniden kuramayacağınız parçadır. index.txt'yi atlamak yine de yeni sertifikalar imzalamanıza izin verir ve asıl tuzak da budur: eksik olduğunu, bir müşteri ilk kez bir sertifikanın iptal edilip edilmediğini sorduğunda öğrenirsiniz. CA'nın parmak izini yedeğin dışına kaydedin, böylece bir geri yükleme güvendiğiniz bir değerle karşılaştırılır, az önce geri yüklediğiniz dosyayla değil.
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
Yayıncıyı çatallamayan geri yükleme testleri
Aynı konuya ve aynı anahtara sahip iki canlı CA, orijinale güvenen her müşteriye aynı görünür. Aynı numarayı taşıyan ama içeriği farklı iki CRL, müşterilerin iptal ettiğiniz bir sertifikayı sessizce kabul etme yoludur. Geri yüklemeyi müşterilerinize yolu olmayan bir sunucuda veya tek kullanımlık bir VM'de çalıştırın ve testin ürettiği CRL'yi asla yayımlamayın.
Yalnızca arşivin açıldığını kanıtlayan bir test, verme hakkında hiçbir şey kanıtlamaz. Önemli olan sıra: geri yüklenen ca.crt'nin parmak izini kaydettiğiniz değerle karşılaştırın, serialın son verdiğiniz sertifikanın ima ettiğiyle eşleştiğini doğrulayın, tek kullanımlık bir CN için bir sertifika verin ve index.txt'nin bir satır kazandığını izleyin, ardından o sertifikayı iptal edin ve CRL'yi yeniden üretin.
openssl verify -CAfile ca.crt -CRLfile crl.pem -crl_check client.crt
openssl crl -in crl.pem -noout -lastupdate -nextupdate
HSM ile aynı test modülden geçer. Bloğu yedek cihaza açın, modülün bildirdiği CA sertifikasının kayıtlı parmak izinizle eşleştiğini doğrulayın ve ancak ondan sonra imzalamasına izin verin. Modülün kendi nesne deposu varsa sarma, anahtar nesnesini ve etiketini kapsamalıdır, çünkü anahtarı başka bir etiket altında geri yüklemek ona işaret eden yapılandırmayı bozar.
Seçimi belirleyen arıza modları
Beş arıza gerçek kayıpların çoğunu açıklar. Sırrın bağımsız bir kopyası olmadan unutulan arşiv parolası arşivi bir tuğlaya çevirir. Tek bir diskteki tek kopya o diskle birlikte ölür ve bir sağlama toplamı şifre çözmenin hâlâ çalışıp çalışmadığını asla söylemez. Yedek tarihinden sonra iptal edilen sertifikalar geri yüklemeden sonra yeniden geçerli görünür, yani yedekleme aralığınız aynı zamanda iptal kör noktanızdır. Daha eski bir serial sayacını geri yüklemek serial numaralarını yeniden kullanır ve seriala bağlı önbellekleri ve CRL aramalarını karıştırır. Sarılı bloğu reddeden bir yedek HSM, donanım değişimini tam yeniden vermeye dönüştürür.
Model A ilk dördü kötü ama görünür biçimde ele alır. Model B onları modül veya satıcı süreci başarısız olana kadar iyi ele alır. Anahtarlarınız dışa aktarılabilirse ve ekip küçükse, şifrelenmiş arşiv dürüst seçimdir; iki ortam ve yazılı bir parola prosedürüyle desteklenir. Anahtar dışa aktarılamazsa hiç seçeneğiniz yoktur ve iş, ihtiyaç duyacağınız günden önce satıcının geri yükleme yolunu kanıtlamaya kayar.
Modeli seçmek ve planlamak
Üç koşul kararı verir. Anahtar satıcı süreci olmadan dışa aktarılabilir mi? Bir geri yükleme henüz sahip olmadığınız donanıma mı inmeli? Destekle tartışırken verme ne kadar durabilir? Bu üçünü yanıtlayın ve model belirlenir; sonrası tamamen planlamadır.
Her imza töreninden sonra ve her yapılandırma değişikliğinden önce yedek alın, çünkü yapılandırma durumun parçasıdır. İki kopyayı farklı ortamlarda farklı yerlerde tutun, biri çevrimdışı olsun, şifre çözme sırrını kopyalardan farklı bir güven alanında tutun. Son başarılı geri yükleme tarihini yedek kaydına yazın. Hiç geri yüklenmemiş bir yedek bir hipotezdir, kontrol değil.
Bileti kapatmadan önce şu beş noktayı doğrulayın:
- ca.crt'nin parmak izi yedeğin dışında bir yere kaydedilmiş.
- index.txt, serial, crlnumber ve openssl.cnf hepsi arşivin veya blob kümesinin içinde.
- Parolanın veya sarılı anahtarın saklanması belgelenmiş ve arşivin sahibi dışında birinde.
- Bir geri yükleme, izole bir sunucuda bir verme ve bir iptalle test edilmiş.
- Yedekleme aralığınızın ima ettiği iptal boşluğu yazılı olarak kabul edilmiş veya kısaltılmış.