ca md too weak: sertifikatı yenidən buraxmaq, yoxsa səviyyəni aşağı salmaq?
Xəta indi müştərinin rədd etdiyi imza həzmini göstərir, zəif parolu deyil. Zənciri yenidən buraxmaq, buraxan tərəfə müraciət etmək və ya siyasəti aşağı salmaq arasında qərar verin.
OpenVPN müştərisi keçən ay işləyirdi, indi isə işə salınarkən ca md too weak, diskdəki profil isə bayt-bayt işləyən həmin profildir. Mesaj sertifikat orqanının sertifikatındakı imzaya aiddir, məlumat şifrinə, auth həzminə və ya hesab paroluna deyil. Üç şərt hansı düzəlişin lazım olduğunu müəyyən edir: yeni identifikasiya materialı, yeni zəncir, yoxsa qəsdən siyasət dəyişikliyi. Onları sıra ilə işləyin və hostdakı hər TLS bağlantısını zəiflətməklə tunelin geri qayıtdığı adi nəticədən qaçın.
Xəta əslində nəyi adlandırır
OpenSSL bu yoxlama xətasını zəncir qurarkən qaldırır: CA kimi çıxış edən sertifikat kitabxananın təhlükəsizlik səviyyəsinin artıq qəbul etmədiyi imza həzmi daşıyırsa. MD5 standart səviyyədə rədd edilir, SHA-1 isə səviyyə qaldırılan kimi rədd edilir. Burada yarpaq sertifikatın həzmi onu imzalayan buraxanın həzmindən az əhəmiyyət daşıyır. Eyni siyasət verildiyi gün tamamilə adi olan kökü də rədd edə bilər.
Buna görə auth və ya data-ciphers dəyişdirmək bu nasazlıq üçün heç nə etmir. Həmin parametrlər handshake-dən sonra paketlərin necə qorunduğunu idarə edir, rədd edilən obyekt isə tunel yaranmazdan əvvəl yoxlanılan identifikasiya sənədidir. Sertifikat etibarlılıq pəncərəsinin içində rahat otura və yenə də kitabxananın qəbul etməyəcəyi imza daşıya bilər.
Yoxlamaları beyninizdə ayrı saxlayın və xəta sirli görünməkdən çıxır. Etibarlılıq tarixləri, açar istifadəsi və imza həzmi müstəqil testlərdir və onlardan məhz biri indicə uğursuz oldu.
Birinci şərt: rədd edilən obyekt kökdür?
Profildəki hər sertifikatı çap edin və subject və issuer sahələrini oxuyun. Özü-imzalanmış kök hər ikisində eyni dəyəri göstərir və onun imza alqoritmi bütün zəncirin dayandığı alqoritmdir. Zəif həzm orada yerləşirsə, onun altındakı hər yarpaq problemi miras alır. Alqoritmi subject-in yanına yazın ki, sonrakı müqayisə yaddaşa deyil, mexaniki yoxlamaya əsaslansın.
Birləşdirilmiş CA faylları çox vaxt bir neçə blok saxlayır, ona görə birincinin günahkar olduğunu fərz etmək yerinə həqiqətən yüklənən bloku müəyyən edin. openssl x509 -in ca.pem -noout -subject -issuer -text əmri hər dəfə bir sertifikatı təsvir edir, yəni paketdə daha çoxu varsa əvvəlcə onu bölmək lazımdır. Çap olunan imza alqoritmini kökün yaradıldığı dövrə uyğun gözlədiyiniz həzmlə müqayisə edin.
Zəif kök altında SHA-256 ilə imzalanmış yarpaq yenə uğursuz olur, çünki zəncir yoxlaması tam yuxarı qalxır. Məhz bu ardıcıllıq növbəti şərti əhəmiyyətli edir.
İkinci şərt: buraxanı siz idarə edirsinizmi?
Kök təşkilatınıza aiddirsə, davamlı düzəliş müasir həzmli yeni kök və yenidən buraxılmış yarpaqlardır və tək profil yeniləməsi kimi verilir. Bu, texniki xidmət pəncərəsi və yeniləməni həmin gün ala bilməyən cihazlar üçün plan tələb edir.
Zənciri üçüncü tərəf buraxıbsa, düzəliş həmin operatora müraciətdir və yeganə faydalı yerli addım köhnə materialdan asılılığı dayandırmaqdır. PEM mətnini redaktə etmək və ya faylı yenidən saxlamaq imzanın əhatə etdiyi heç nəyi dəyişmir.
Bir ara halı adlandırmağa dəyər: cari standartlardan əvvəl yaranmış, lakin başqa sistemlərin etibar etdiyi materialı hələ də imzalayan daxili kök. Onu əvəz etmək hər istehlakçını, o cümlədən köhnə sertifikatı barmaq izi ilə bərkidən cihazları audit etmək deməkdir. Dəyişikliyi planlaşdırmadan əvvəl o istehlakçıları sayın, çünki birini qaçıran kök dəyişməsi başlanğıc xətasını kəsinti ilə dəyişir.
Üçüncü şərt: səviyyəni aşağı salmaq başqa nəyi qəbul edir
Təhlükəsizlik səviyyəsini aşağı salmaq və ya OpenVPN-in köhnə sertifikat profilini seçmək müştərinin köhnə həzmi yenidən qəbul etməsinə səbəb olur. Bu həm də həmin kitabxanadakı digər yoxlamaları, o prosesin açdığı hər bağlantı üçün yumşaldır.
Bu, laboratoriyada və ya dəyişdirmə materialı hazırlanarkən qısa körpü kimi müdafiə oluna bilər, bir şərtlə ki, istisna tək profilə həddənə qədər məhdudlaşsın və bitmə tarixi olsun. Ortaq hostda daimi parametr kimi isə o, oradakı hər TLS müştərisinin nəyə etibar edəcəyini səssizcə genişləndirir.
İstisnanı sahibi və silinmə addımı ilə birlikdə yazın. Sənədləşdirilməmiş səviyyə dəyişikliyi altı ay sonra səhvdən ayırd edilə bilməz və növbəti mühəndis bunun heç vaxt qərar olduğunu bilməyəcək.
Qərar, qayda kimi yazılmış
Buraxanı idarə edirsinizsə və istehlakçılarını sadalaya bilirsinizsə zənciri dəyişdirin. İdarə etmirsinizsə, buraxana eskalasiya edin. Səviyyəni yalnız tarixli, məhdud istisna kimi və dəyişdirmə artıq planlaşdırılmış halda aşağı salın. Qalan hər şey eyni sertifikatı yerində qoyur və riski daha az görünən bir yerə köçürür.
Sonra profili təmiz müştəridən yenidən sınaqdan keçirin, handshake-in tamamlandığını təsdiqləyin və hələ də uğursuz olarsa, rədd mətnini olduğu kimi saxlayın. Dəqiq xəta mesajı növbəti qatın sahibinə verə biləcəyiniz ən ucuz şeydir.