ca md too weak: sertifikayı yeniden mi düzenleyelim, seviyeyi mi düşürelim?
Hata, istemcinin artık reddettiği bir imza özetini adlandırıyor, zayıf bir parolayı değil. Zinciri yeniden düzenleme, verene sorma veya politikayı düşürme arasında karar verin.
OpenVPN istemci geçen ay çalışıyordu, şimdi başlangıçta şu hatayla başarısız oluyor: ca md too weak, ve diskteki profil çalışanla bayt bayt aynı. Mesaj bir sertifika yetkilisinin sertifikasındaki imzayla ilgili, veri şifresiyle, auth özetiyle veya hesap parolasıyla değil. Üç koşul düzeltmenin yeni kimlik malzemesi mi, yeni bir zincir mi yoksa bilinçli bir politika değişikliği mi olduğuna karar verir. Bunları sırayla işleyin, böylece ana makinedeki her TLS bağlantısını zayıflatarak tüneli geri getirme sonucundan kaçınırsınız.
Hata aslında neyi adlandırıyor
OpenSSL bu doğrulama hatasını bir zincir kurarken yükseltir; CA olarak davranan sertifika, kütüphanenin güvenlik seviyesinin artık kabul etmediği bir imza özeti taşıdığında. MD5 varsayılan seviyede reddedilir ve seviye yükseltildiğinde SHA-1 reddedilir. Burada yaprak sertifikadaki özet, onu imzalayan verendeki özetten daha az önemlidir. Aynı politika, verildiği gün tamamen sıradan olan bir kökü de reddedebilir.
Bu yüzden auth veya data-ciphers düzenlemek bu arıza için hiçbir şey yapmaz. O ayarlar el sıkışmasından sonra paketlerin nasıl korunduğunu yönetir; reddedilen nesne ise tünel var olmadan önce incelenen bir kimlik belgesidir. Bir sertifika geçerlilik penceresinin içinde rahatça durabilir ve yine de kütüphanenin kabul etmeyeceği bir imza taşıyabilir.
Denetimleri kafanızda ayrı tutun, hata gizemli görünmeyi bırakır. Geçerlilik tarihleri, anahtar kullanımı ve imza özeti bağımsız testlerdir ve tam olarak biri az önce başarısız oldu.
Birinci koşul: reddedilen nesne kök mü?
Profilden her sertifikayı yazdırın ve subject ile issuer alanlarını okuyun. Kendinden imzalı kök ikisinde de aynı değeri gösterir ve imza algoritması tüm zincirin dayandığı şeydir. Zayıf özet orada oturuyorsa, altındaki her yaprak sorunu miras alır. Sonraki karşılaştırma hafızadan değil mekanik olsun diye algoritmayı subject'in yanına yazın.
Birleştirilmiş CA dosyaları çoğu zaman birkaç blok içerir; bu yüzden ilkinin suçlu olduğunu varsaymak yerine gerçekten yüklenen bloğu belirleyin. Komut openssl x509 -in ca.pem -noout -subject -issuer -text aynı anda bir sertifika tanımlar, yani birden fazla varsa demetin önce bölünmesi gerekir. Yazdırılan imza algoritmasını kökün oluşturulduğu dönemden bekleyeceğiniz özetle karşılaştırın.
Zayıf bir kökün altında SHA-256 ile imzalanmış bir yaprak yine başarısız olur, çünkü zincir denetimi en tepeye kadar çıkar. Sıralama budur ve bir sonraki koşulu önemli kılar.
İkinci koşul: vereni siz mi kontrol ediyorsunuz?
Kök kuruluşunuza aitse, kalıcı düzeltme modern bir özete sahip yeni bir kök ve yeniden düzenlenmiş yapraklardır; tek bir profil güncellemesi olarak teslim edilir. Bunun bedeli bir bakım penceresi ve güncellemeyi aynı gün alamayan cihazlar için bir plandır.
Zinciri üçüncü bir taraf düzenlediyse, düzeltme o operatöre bir taleptir ve yerel olarak yapılabilecek tek yararlı şey eski malzemeye güvenmeyi bırakmaktır. PEM metnini düzenlemek veya dosyayı yeniden kaydetmek imzanın kapsadığı hiçbir şeyi değiştirmez.
Bir ara durum adlandırılmayı hak ediyor: bugünkü varsayılanlardan daha eski ama başka sistemlerin güvendiği malzemeyi hâlâ imzalayan bir iç kök. Onu değiştirmek her tüketicinin denetlenmesi anlamına gelir; eski sertifikayı parmak iziyle sabitleyen cihazlar dahil. Değişikliği planlamadan önce bu tüketicileri sayın, çünkü birini atlayan bir kök değişimi başlangıç hatasını bir kesintiyle değişir.
Üçüncü koşul: seviyeyi düşürmek başka neyi kabul ediyor
Güvenlik seviyesini düşürmek veya OpenVPN'in eski sertifika profilini seçmek, istemcinin eski özeti yeniden kabul etmesini sağlar. Aynı zamanda o sürecin kurduğu her bağlantı için aynı kütüphanedeki diğer denetimleri de gevşetir.
Bu bir laboratuvarda ya da yedek malzeme hazırlanırken kısa bir köprü olarak savunulabilir; yeter ki istisna tek bir profille sınırlı olsun ve bir bitiş tarihi taşısın. Paylaşılan bir ana makinede kalıcı ayar olarak, oradaki her TLS istemcisinin neye güveneceğini sessizce genişletir.
İstisnayı bir sahibi ve kaldırma adımıyla birlikte yazın. Belgesiz bir seviye değişikliği altı ay sonra bir hatadan ayırt edilemez ve sonraki mühendis bunun bir zamanlar karar olduğunu bilmez.
Karar, bir kural olarak yazıldığında
Vereni kontrol ediyorsanız ve tüketicilerini sayabiliyorsanız zinciri değiştirin. Kontrol etmiyorsanız verene başvurun. Seviyeyi yalnızca tarihli ve sınırlı bir istisna olarak, yedeği zaten planlanmışken düşürün. Başka her şey aynı sertifikayı yerinde bırakır ve riski daha az görünür bir yere taşır.
Sonra profili temiz bir istemciden yeniden test edin, el sıkışmanın tamamlandığını doğrulayın ve hâlâ başarısızsa reddin tam metnini saklayın. Kesin hata mesajı, bir sonraki katmanın sahibine verebileceğiniz en ucuz şeydir.