VPN müştəriniz sertifikata güvənməzdən əvvəl nələri yoxlayır
Sertifikat xəbərdarlığını müştərinizin yoxladığı dörd qapıdan keçirin: CA etimadı, zəncir qurulması, həmkar adı və təyinatı, və ləğv siyasəti.
VPN müştəriniz sertifikatın yoxlanıla bilmədiyini bildirir və dialoq bununla bitir. Fayl yerindədir, server işləyir və eyni profil keçən ay başqa bir noutbukda işləmişdi. Bu bir sətirlik xəbərdarlığın altında müştəri həmkar sertifikatını dörd qapıdan keçirdi: konfiqurasiya etdiyiniz sertifikat orqanı imza yoluna zəmanət verir, həmin yol orqana çatır, həmkar adı sizin istədiyiniz addır və sertifikat hazırda bu təyinat üçün istifadə oluna bilər. Bağlanmış qapını tapın və düzəliş adətən bir fayldır; bu addımı atsanız, bütün günü paketləri yenidən idxal edəcəksiniz.
Profili redaktə etməzdən əvvəl dialoqu oxuyun
Sertifikat xətaları quraşdırdığınız VPN məhsulu deyil, altdakı kitabxana tərəfindən ifadə olunur, ona görə də dəqiq mətn ilk sübutunuzdur. «Lokal emitent sertifikatı alına bilmir» mesajı yolu və ya etimad lövbərini göstərir. «Sertifikatın müddəti bitib və ya hələ qüvvədə deyil» mesajı vaxtı göstərir. «Sertifikat təyinatı dəstəklənmir» mesajı genişlənmiş açar istifadəsini göstərir. Ad uyğunsuzluğu hansı adı istədiyini sizə deyir. Dördünün heç biri müştərini yenidən quraşdırmaqla düzəlmir.
Hər hansı dəyişiklik etməzdən əvvəl jurnal səviyyəsini artırın. OpenVPN onu --verb 4 ilə işə saldığınızda yoxlama xətasını əl sıxma ətrafında bildirir, strongSwan isə öz kimlik və zəncir qərarlarını charon jurnalına yazır. Sonra hansı sertifikatı yoxladığınızı təsdiqləyin, çünki insanlar adətən diskdəki faylı sınaqdan keçirirlər, halbuki profil köhnə nüsxəni daxil edir. Profil PEM bloklarını daxil etdikdə, sınaqdan keçirilən sertifikat məhz daxil edilmiş olandır.
Sertifikat orqanı icazələri deyil, kimlikləri imzalayır
Orqan bir ad və imza açarı saxlayır. O, öz siyasəti çərçivəsində açıq açarı həmin ada bağlayan sertifikatlar verir və onlara etibarlılıq pəncərəsi ilə istifadə məhdudiyyətləri əlavə edir. Müştəriniz emitenti tanımaq üçün yalnız orqan sertifikatına ehtiyac duyur; imza açarına heç vaxt ehtiyac duymur və həmin açarı müştərilərə göndərmək onlara yerləşdirmənin etibar etdiyi istənilən kimliyi yaratmaq imkanı verərdi.
Bir orqana güvənmək onun imzaladığı hər sertifikatı namizəd edir, doğru həmkarı deyil. Eyni daxili CA-dan olan veb server sertifikatı da namizəddir. Ad və təyinat qapılarının mövcud olmasının səbəbi budur və buna görə kompromis edilmiş CA açarı hər hansı tək serverdən daha vacibdir: o, orqanın buraxdığı hər kimliyə çatır. Müştəri sertifikatlarını hər cihaz üçün ayrıca verin ki, itirilmiş noutbuk bütün yerləşdirmə üzrə açar yeniləməsi deyil, bir ləğv olsun.
Müştərinin qurmağa çalışdığı yolu yenidən qurun
Yol həmkar sertifikatından başlayır, sıfır və ya daha çox aralıq sertifikatdan keçir və etimad anbarınızdakı bir kökə çatır. Çatışmayan aralıq sertifikat ən çox rast gəlinən zəncir nasazlığıdır və müştəri tərəfindən etibarsız kökdən heç fərqlənmir. Əvvəlcə yarpağı oxuyun, sonra OpenSSL-in yolu göndərməyi planlaşdırdığınız materialdan qurmasına icazə verin.
openssl x509 -in server.crt -noout -subject -issuer -dates
openssl verify -CAfile root.crt -untrusted intermediate.crt server.crt
openssl verify -show_chain -CAfile root.crt -untrusted intermediate.crt server.crt
Çıxış statusu sıfır bu fayllardan yolun qurulduğunu bildirir; nasazlıq çata bilmədiyi sertifikatın adını çəkir. Əgər openssl verify uğur qazanır, müştəri isə yenə imtina edirsə, fərq serverin həqiqətən göndərdiyində və ya profilin yüklədiyi etimad faylındadır. OpenVPN-də aralıq sertifikatlar server sertifikatı faylı ilə birlikdə gedə və ya --extra-certs ilə ayrıca verilə bilər və eyni subyekt adı altında yazılmış iki kökü saxlayan paket müştərilərinizdən birini səhv budağa yönəldəcək.
Ad və təyinat ayrı qapılardır
Zəncir qurulması heç vaxt adın sizə aid olub-olmadığını soruşmur. OpenVPN bunu yalnız profil --verify-x509-name təyin etdikdə yoxlayır və yalnız ümumi adı uyğunlaşdırmaq kimi köhnə vərdiş, kimlikləri subjectAltName-də yaşayan sertifikatlarda pozulur. IKEv2 yerləşdirmələri konfiqurasiya edilmiş kimliyi SAN qeydləri ilə və ya fərqləndirici adla uyğunlaşdırır, müştəridən asılı olaraq, və wildcard ya da %any dəyəri, sahib olduğunuzu düşündüyünüz müqayisəni səssizcə söndürür.
Sonra vaxt və təyinat gəlir. Saatı bir neçə saat irəli qaçan noutbuk hələ qüvvədə olmayan sertifikatı rədd edir və müddəti bitmiş aralıq sertifikat yarpaq qüvvədə olsa da yolu sıradan çıxarır. Təyinat nasazlıqları genişlənmiş açar istifadəsində serverAuth olmayan və ya əl sıxma imzasına icazə verməyən keyUsage olan sertifikatdan gəlir; OpenSSL bunu dəstəklənməyən sertifikat təyinatı kimi bildirir. Düzgün şablondan yenidən buraxın; o mesajda yoxlamanı söndürməyə əsas verən heç nə yoxdur.
Ləğv yalnız kimsə onu konfiqurasiya edərsə işləyir
CRL və ya OCSP cavabı avtomatik olaraq nəzərə alınmır. OpenVPN serverində müştəri sertifikatları yalnız --crl-verify bir siyahıya işarə etdikdə həmin siyahı ilə yoxlanılır. Server sertifikatının müştəri tərəfindən yoxlanması tətbiqdən asılıdır və çox vaxt yoxdur. strongSwan həmkar üçün CRL-ə baxmazdan əvvəl öz ləğv plagininə və siyasətinə ehtiyac duyur.
Bu, sonda alacağınız bileti izah edir: ləğv edilmiş müştəri sertifikatı hələ də qoşulur və hamı ləğvin pozulduğu qənaətinə gəlir. Heç nə yoxlamırdı. CRL-i dərc edin və yeniləyin, ya da müştəri sertifikatlarını kifayət qədər qısa ömürlü saxlayın ki, köhnəlmiş ləğv qısa müddət əhəmiyyət daşısın, və ləğv yolunu hadisə zamanı lazım olmazdan əvvəl laboratoriya sertifikatında məşq edin.
Yoxlamanı açıq saxlayan təmir sırası
Fayllara toxunmazdan əvvəl simptoma görə sıralayın, çünki cədvəlin hər sətri sizi başqa obyektə yönəldir.
| Client says | Most likely gate | First check |
|---|---|---|
| unable to get local issuer certificate | trust anchor or missing intermediate | your own openssl verify against the files the profile loads |
| expired or not yet valid | validity window | leaf and intermediate dates against the device clock |
| unsupported certificate purpose | extended key usage | serverAuth present, keyUsage allows the handshake |
| name mismatch | peer identity | subjectAltName entries versus the profile name |
Siyahını bir keçiddə işləyin: profilin yüklədiyi faylı təsdiqləyin, yolu özünüz qurun, serverin aralıq sertifikatı göndərdiyini yoxlayın, saatı müqayisə edin, SAN-ı oxuyun, EKU-nu oxuyun, sonra yenidən qoşulun və eyni jurnal sətrinin yox olmasını izləyin. Əgər cihaza ümumiyyətlə CA vermək mümkün deyilsə, bərkitmə dürüst alternativdir, çünki OpenVPN 2.6 --peer-fingerprint qəbul edir və yoxlamanı silmək əvəzinə etimadı bir açarla daraldır. RFC 5280 bu sahələrin hər birinin nə demək olduğu üçün istinaddır.