Server sertifikatını yoxlayırsınız, saatda hələ aylar görürsünüz, amma müştəri bağlantını yenə də bitmə mesajı ilə rədd edir. Oxuduğunuz tarix yarpağa aiddir və şikayət yolda daha dərin bir şeyə aid ola bilər. Yoxlama bir zəncir boyunca gedir və bu gedişin seçdiyi hər hansı sertifikat öz etibarlılıq pəncərəsində uğursuz ola bilər. Hər hansı bir şeyi yeniləməzdən əvvəl hansının uğursuz olduğunu oxuyun.

Dərinlik uğursuz olan sertifikatı adlandırır

OpenSSL diaqnostikasında dərinlik 0 hədəf sertifikatdır, dərinlik 1 isə onu imzalayan emitentdir; daha böyük rəqəmlər etibar lövbərinə doğru davam edir. 1-ci dərinlikdə bildirilən bitmə müddəti yarpaqdakı cari notAfter ilə ziddiyyət təşkil etmir, ona görə görünən sertifikatı yenidən yoxlamaq xətanı heç vaxt izah etməyəcək.

Uğursuz sertifikatın barmaq izini subyekti ilə birlikdə qeyd edin, çünki müxtəlif sertifikatlar eyni CA adını daşıya bilər. Çarpaz imzalama məhz bu vəziyyəti yaradır: eyni orqan bir neçə dəfə, fərqli etibarlılıq tarixləri ilə görünür və yoxlayıcı gözləmədiyiniz olanı seçdi. Tanış etiket identifikator deyil və barmaq izi eyni adı paylaşan iki obyekti fərqləndirən şeydir.

Birdən çox sertifikat rolu olan məhsullara da diqqət yetirin. OpenVPN Access Server-də veb interfeysləri qoruyan sertifikatlar VPN bağlantıları üçün istifadə olunanlardan ayrıdır, ona görə admin səhifəsini açan brauzer tunelin yoluna dair heç nə sübut etmir.

Etibar girişləri zəncir namizədləri ilə eyni deyil

Yoxlayıcıya iki girişi ayrıca və açıq şəkildə verin. Etibar faylı qəbul etdiyiniz lövbərləri saxlayır; etibarsız paket yolu qurmaq üçün təklif olunan aralıq sertifikatları saxlayır. Onları qarışdırmaq insanların təsadüfən aralıq sertifikatı kökə yüksəltməsi və sonra eyni xətanın niyə maşınlar arasında onları təqib etdiyinə təəccüblənməsidir.

$ openssl verify -verbose -show_chain -purpose sslserver \
    -CAfile trusted-roots.pem -no-CApath -no-CAstore \
    -untrusted intermediates.pem server.pem

Standart yolu və anbarı -no-CApath -no-CAstore ilə söndürmək testi vicdanlı saxlayır: nəticə sonra adlandırdığınız fayllardan asılıdır, iş stansiyasının təsadüfən etibar etdiyindən deyil. OpenSSL yoxlama arayışı bu seçimləri və onların yaratdığı diaqnostikanı sənədləşdirir.

-show_chain yoxlama uğurlu olduqda qurulmuş zənciri çap edir, bu da yolun nəzərdə tutduğunuz yol olduğunu təsdiqləmək üçün faydalıdır. Uğursuz olduqda bildirilən dərinliyi və subyekti saxlayın; bu iki sahə növbəti oxucuya hansı sertifikatı yoxlamalı olduğunu deyir.

Bunun etmədiyi şey hər müştərinin siyasətini təkrar istehsal etməkdir. Pin, məqsəd məhdudiyyəti və ya müştəriyə xas şəxsiyyət yoxlaması müştəridə yaşayır, bu əmrdə deyil. Serverdə yoxlama keçdiyi halda bağlantı hələ də uğursuz olduqda yoxlanılmalı olan parametrlər bunlardır. İki diaqnozu ayrı saxlayın, əks halda pin xətasını qovarkən sağlam sertifikatı yeniləyəcəksiniz.

Yoxlama nəyi sübut edir və nəyi kənarda qoyur

Bu, təqdim etdiyiniz etibar faylına qarşı yol və məqsəd yoxlamasıdır. HTTPS ad yoxlaması üçün gözlənilən host adını uyğun seçimlə əlavə edin; VPN bağlantısı üçün müştərinin konfiqurasiya edilmiş şəxsiyyət yoxlamalarını saxlayın və həmin müştərinin həqiqətən oxuduğu etibar materialından istifadə edin.

Serverin göndərdiyi şey namizədlər toplusudur, müştərinizin sonda quracağı yol deyil. Lokal etibar və kitabxananın qurma qaydaları nəticəni birlikdə formalaşdırır, buna görə eyni cavab bir maşında doğrulanıb digərində uğursuz ola bilər. Eyni qiymətləndirməni fərz etməzdən əvvəl uğursuz müştərinin idarə olunan etibar anbarını və TLS tətbiqini işləyən müştərininki ilə müqayisə edin. Oradakı fərq «yalnız bu noutbuk uğursuz olur» hesabatlarının çoxunu izah edir.

Hər sertifikatın pəncərəsini bir-bir yox, dəst kimi görmək üçün onları belə çap edin:

$ openssl x509 -in server.pem -noout -subject -dates
$ openssl crl2pkcs7 -nocrl -certfile intermediates.pem \
    | openssl pkcs7 -print_certs -noout

İkinci əmr hər faylı əl ilə deşifrə etmədən subyektləri və emitentləri sadalayır, yarpaq hələ yaxşı göründüyü halda tarixi keçmiş aralıq sertifikatı belə aşkar edirsiniz.

Yolu yoxlamanı zəiflətmədən təmir edin

Vaxtı keçmiş aralıq və ya köhnəlmiş çarpaz imzalanmış sertifikat təqdim olunduqda, emitentin hazırda dəstəklənən zəncirini alın və xidmətin sənədləşdirilmiş sertifikat iş axını ilə yerləşdirin. Müştəridə nəzərdə tutulan idarə olunan lövbər çatışmırsa, onun idarə olunan etibar konfiqurasiyasını və ya müştəri proqramını yeniləyin. Mesajı susdurmaq üçün paketdəki hər sertifikatı kök kimi qeyd etmək qısa yoluna müqavimət göstərin.

Kök emalı bir qeydə layiqdir, çünki xülasələr onu tez-tez şişirdir. RFC 5280 lövbəri prospektiv yoldan kənarda duran giriş kimi qəbul edir, OpenSSL isə öz kök CA sertifikatını əhatə edən etibarlılıq yoxlamalarını sənədləşdirir. Hər iki ifadə öz sistemləri üçün doğrudur; bir kitabxananın kök bitmə davranışını hər müştəriyə ümumiləşdirmək inamlı səhv cavablar yaradır.

Dəyişiklikdən sonra təsirlənən müştəridə yeni autentifikasiya məcbur edin və konkret bitmə mesajının yox olduğunu təsdiqləyin. Yarpağı yalnız yarpağın özü yararsız olduqda yeniləyin. Vaxt yoxlamalarını söndürmək və ya tarixi çarpaz sertifikatı bərpa etmək etibarlı cari yol yaratmır; sadəcə növbəti uğursuzluğu gecikdirir.

Əlaqəli məqalələr