Yanlış VPN sertifikasını mı iptal ettiniz? Kurtarma seçenekleri ve sınırlar
CA'ya dokunmadan önce vereni, seri numarasını ve neden kodunu belirleyin. Kalıcı iptal, sertifika askıya alma ve kabul duraklatması üç onarımdır.
Birisi CA konsolunda bir sertifikayı iptal etti ve artık bir kullanıcı bağlanamıyor. İlk dürtü geri almayı aramaktır ve çoğu PKI'de bu yoktur: iptal, bir seri numarası hakkında beyan edilmiş bir gerçektir ve desteklenen geri dönüş yolu yeni bir sertifikadır, tersine çevrilmiş bir kayıt değil. Aşağıdaki kontrolleri sırayla yapın, çünkü hangi onarıma izin verildiği neden koduna ve anahtarın hiç açığa çıkıp çıkmadığına bağlıdır.
Kişiyi değil sertifikayı tanımlayın
Yaygın adlar tekrar eder. Geçen çeyrekte yeniden kaydolan bir kullanıcının aynı CN ve farklı seri numaralarına sahip iki sertifikası olabilir ve birini iptal etmek diğerini çalışır bırakır. Önce tam nesneyi belirleyin:
openssl x509 -in client.crt -noout -serial -issuer -subject -dates
openssl crl -in ca.crl -noout -text | head -40
Seri numarasını, vereni, iptal tarihini ve CRL'de kayıtlı nedeni yazın. Ardından o seri numarasını hangi cihazların sunduğunu doğrulayın, çünkü iptal edilmiş bir sertifika hâlâ bir dizüstü bilgisayarda, bir telefonda ve yedek bir yönlendiricide kurulu olabilir ve yalnızca birine ulaşan bir değiştirme ikinci bir olaya yol açar.
Hızlı bir davranış kontrolü hiçbir şeyi değiştirmeden durumu doğrular:
openssl verify -crl_check -CAfile ca.crt -CRLfile ca.crl client.crt
Sertifikayı iptal edilmiş olarak bildirirse CRL ile istemci aynı fikirdedir; temiz doğrulanırsa elinizdeki istemci iptal edilen değildir ve arama sürer.
CA'nın askıya alma mı yoksa kalıcı iptal mi kullandığını kontrol edin
RFC 5280 certificateHold'yi geçici bir durum, removeFromCRL'ü ise onu serbest bırakan sinyal olarak tanımlar. Bu yaşam döngüsü gerçektir, ancak genel bir geri alma düğmesi değildir. Neden kodunu okumak, verenin serbest bırakmayı hiç desteklemeyi amaçlayıp amaçlamadığını söyler.
Tuzak, geçici bir niyetin geçici bir kayıt anlamına geldiğini varsaymaktır. CA kaydı keyCompromise veya cessationOfOperation taşıyorsa, düğmeye basan kişinin niyeti ne olursa olsun sertifika kalıcı olarak iptal edilmiştir. Tersine, askıya alma serbest bırakmasını uygulamayan bir CA'da certificateHold ile işaretlenmiş kayıt pratikte kalıcıdır, çünkü hiçbir şey serbest bırakmayı asla yayımlamayacaktır.
OpenSSL tabanlı CA'lar sınırı gösterir. ca komutu certificateHold ve removeFromCRL dahil olmak üzere -crl_reason değerlerini kabul eder, ancak delta CRL üretmez — OpenSSL CA belgeleri CRL çıktısı için bu sınırı belirtir. Seri numarasını yalnızca atlayan tam bir CRL, "bu kayıt serbest bırakıldı" diyen bir deltadan farklı bir yayımlama modelidir, bu nedenle OpenSSL tabanlı bir VPN CA'ya removeFromCRL yapıştırmak standartlarla tanımlanan serbest bırakmayı üretmez.
Anahtar açığa çıkmış olabilirse değiştirin
İptal edilmiş bir sertifika, bu anahtara artık güvenilemeyebileceğinin beyanıdır. İptal özünde doğruysa — dizüstü bilgisayar kayboldu, anahtar paylaşılan bir diske kopyalandı, özel anahtar bir bilete yapıştırıldı — aynı sertifikayı geri yüklemek, amaçlandığı gibi çalışan bir güvenlik kararını tersine çevirir.
Kayıt süreciyle yeni bir anahtar çifti verin, yeni profili dağıtın ve eski seri numarasını tüm ömrü boyunca iptal edilmiş bırakın. Kimliği seri numarasına veya parmak izine sabitleyen her şeyi güncelleyin; kabul listeleri, cihaz envanterleri ve belirli bir sertifika bekleyen izleme dahil.
Eskisini geri yüklemenin kolaylık argümanı gerçektir, ancak açıkça yanıtlanmalıdır, sessizce değil. "Kullanıcının bugün erişime ihtiyacı var" vermeyi hızlandırmak için bir nedendir, hesabını veremeyeceğiniz bir anahtarın iptalini geri almak için değil.
Yönetsel bir hataysa kontrollü olarak değiştirin
İptal yalnızca yanlışsa ve anahtar hiç açığa çıkmamışsa, onarım hâlâ düzenleme değil kontrollü bir değiştirmedir. Verenin desteklenen sürecini kullanın, seri numarasını ve verme geçmişini bozulmadan koruyun ve iki cazip kısayoldan kaçının: index.txt içindeki durum karakterini R'ten tekrar V'e çevirmek ve yeni sertifikanın seri numarasını yeniden kullanabilmesi için verme satırını silmek.
OpenSSL CA'da veritabanı sekmeyle ayrılmıştır ve yanlış okunması kolaydır, bu da elle düzenlemeyi cazip kılar:
awk -F'\t' '$1=="R" {print $4, $3, $6}' index.txt
Okuyun, yazmayın. Dosyayı düzenlemek bir sonraki CRL'yi herhangi bir denetim izi olmadan değiştirir ve orijinal satırı hâlâ tutan herhangi bir ikinci CA örneği veya yedek daha sonra onunla çelişecektir.
Değiştirmeyi verdikten sonra normal mekanizmayla yeni bir CRL yayımlayın ve istemcilerin onu almasına izin verin. Bir CRL'yi kaldırmak, ömrünü sıfıra indirmek veya istemci profilinde iptal denetimini devre dışı bırakmak, CA'nın şimdiye kadar yayımladığı diğer her iptali zayıflatarak bir kullanıcıyı düzeltir.
Yeni bir kabulü doğrulayın ve kaydı saklayın
Yeni bir bağlantıyla test edin, zaten açık olan oturumla değil. Canlı bir tünel yeni bir el sıkışmanın yaptığı kabul kontrollerini yeniden çalıştırmayabilir ve CRL önbellekleri istemcinin yenilenene kadar bağlanmaya devam edebileceği anlamına gelir. Bağlantıyı kesin, yeniden bağlanın ve sunucu günlüğünde hangi seri numarasının kabul edildiğini doğrulayın.
Ne olduğunu hâlâ tazeyken kaydedin: hangi seri numarası iptal edildi, kim tarafından, hangi nedenle, hangi değiştirme verildi ve CRL ne zaman yeniden yayımlandı. O kayıt bir sonraki iptal incelemesini mümkün kılar ve hatanın gizlenmek yerine ele alındığının kanıtıdır.
Gelecekteki kısa askıya almalar için, dağıtımda varsa bir kabul duraklatma mekanizması kullanın — kimlik katmanında devre dışı bırakılmış hesap, kaldırılmış grup üyeliği, alıkonulmuş istemci profili. Bu, geçici bir ilke kararını verilmiş sertifikanın hâlâ güvenilir olup olmadığı sorusundan ayırır ve ilk seferde kaybedilen ayrım tam olarak buydu.