Eyni ca.crt fayl adı, fərqli sertifikat: nəyi müqayisə etmək lazımdır
İki profil fərqli məzmunlu ca.crt daşıya bilər. Prosesin yüklədiyinin barmaq izini götürün, sonra onun nəzərdə tutduğunuz etimad lövbəri olduğunu yoxlayın.
İki profil də ca.crt adlı fayl daşıyır, bir tunel qalxır, digəri isə zəncir xətası ilə uğursuz olur. İki faylı yan-yana açmaq bunu nadir hallarda həll edir, doğrulamanı söndürmək isə səhv istiqamətdə həll edir. Xətanın əslində soruşduğu sual daha dardır: hər proses hansı sertifikatı öz etimad lövbəri kimi yükləyir və ikisi eyni obyektdirmi? Əvvəlcə buna cavab verin, sonra diaqnozun qalan hissəsinin istiqaməti olar. Fayl adı qablaşdırma etiketidir, profildə yazılan yol da səlahiyyətli deyil, ona görə hər şey prosesin həqiqətən oxuduğundan asılıdır.
Müştərinin həqiqətən yüklədiyi sertifikatı tapın
OpenVPN səlahiyyəti iki formada qəbul edir və forma hansı baytların vacib olduğunu müəyyən edir. Profil ca ilə xarici fayla işarə edə bilər və ya sertifikatı profilin öz içindəki <ca> blokuna yerləşdirə bilər. Hər ikisi olduqda, yerləşdirilmiş blok qalib gəlir və profilin yanındakı fayl heç vaxt açılmır.
Uğursuz profili oxuyun və hər şeyi müqayisə etməzdən əvvəl hansı formadan istifadə etdiyini tapın. Qonşu qovluqdan və ya digər profilin gəldiyi paketdən götürülmüş surət bu prosesin nəyə etimad etdiyi barədə sizə heç nə demir. Eyni şey konfiqurasiyadakı yol üçün də keçərlidir: o, müştərinin başladıldığı yerə nisbətən həll olunur, bu da həmişə baxdığınız qovluq deyil. Profili oxuyun, qovluğu yox.
Sertifikatlar məzmunları ilə müəyyən edilir: açıq açar, subyekt və verən, etibarlılıq pəncərəsi və bütün bunların üzərindəki imza. Eyni baytlara malik iki fayl nə adlanırsa adlansın eyni sertifikatdır, eyni ada malik iki fayl isə əlaqəsiz səlahiyyətlər ola bilər. Ad qablaşdırma etiketidir, kimlik deyil.
Hər iki surətin barmaq izini openssl ilə götürün
Barmaq izi sertifikatın DER kodlaşdırması üzərində hash-dır, imzanın əhatə etdiyi forma budur, ona görə sətir sonluqları və başlıq mətni ona təsir edə bilməz. Hər fayl üçün onu hesablayın və iki nöqtə ilə ayrılmış iki hex sətri alırsınız, ya uyğun gəlir, ya da yox. Müqayisə sualına cavab vermək üçün sertifikatda başqa heç nə oxunmalı deyil.
openssl x509 -in /etc/openvpn/office/ca.crt -noout -fingerprint -sha256
openssl x509 -in ~/profiles/lab-ca.pem -noout -fingerprint -sha256
openssl proqramını profilin özünə yönəltmək cazibədardır, amma o, faylda ilk görünən sertifikat blokunu oxuyur və profil adətən <cert> blokunu <ca> blokundan əvvəl daşıyır. Səlahiyyət blokunu çıxarın, sonra çıxarılmış faylın barmaq izini götürün, çünki müştərinin həqiqətən istifadə edəcəyi surət budur.
sed -n '/^<ca>$/,/^<\/ca>$/p' office.ovpn | sed '1d;$d' > /tmp/office-ca.pem
openssl x509 -in /tmp/office-ca.pem -noout -fingerprint -sha256
Eyni barmaq izləri etimad materialının eyni olduğunu və zəncir xətasının başqa səbəbi olduğunu bildirir, bu isə başqa bir araşdırmadır. Fərqli barmaq izləri fərqli sertifikatlar deməkdir və növbəti bölmə buradan başlayır.
Hücuma fərz etməzdən əvvəl uyğunsuzluğu oxuyun
Fərqli barmaq izləri fərqli sertifikatlar deməkdir və başqa heç nə. Yenidən buraxılış, rotasiya, adı dəyişdirilmiş səlahiyyət və ya köhnəlmiş paket hamısı tamamilə qanuni tarixçələri olan fərqli fayllar yaradır. Hansının yerləşdirməyə aid olduğu operator və ya yerləşdirmə qeydi üçün sualdır, faylın dəyişdirilmə vaxtı üçün deyil. Arxivlər vaxt damğalarını surət edir, ona görə daha yeni fayl avtomatik olaraq düzgün lövbər deyil.
Özünü imzalayan kök normaldır, ona görə birini tapmaq problemin sübutu deyil. Yoxlayıcının işi server sertifikatından ona verilən lövbərə qədər yol qurmaqdır və zəncir xətası adətən həmin yolun tamamlana bilmədiyini bildirir.
Uğursuz profilin lövbərinin yerləşdirmənin hələ də buraxdığı səlahiyyət olub-olmadığını yoxlayın. Barmaq izi yerləşdirmə qeydində heç nəyə uyğun gəlmirsə, profil sadəcə köhnəlmişdir və müştəri tərəfindəki heç bir sazlama bunu düzəltməyəcək.
Doğrulamanı söndürmədən etimadı bərpa edin
Qısamüddətli həll doğrulamanı söndürmək və ya zəncirdəki hər sertifikatı lövbər kimi əlavə etməkdir. Hər ikisi mesajı yox edir və hər ikisi müştərinin bundan sonra hansı serverləri qəbul edəcəyini dəyişir. Doğrulamanı yenidən açın, nəzərdə tutulan lövbəri quraşdırın və yenidən sınaqdan keçirin.
Zəncir indi qurulursa, amma fərqli xəta görünürsə, bu irəliləyişdir: ad doğrulaması, etibarlılıq tarixləri və ləğvetmə ayrı mesajları olan ayrı yoxlamalardır. Barmaq izi cütünü və orijinal xəta mətnini biletdə birlikdə saxlayın ki, növbəti şəxs hansı lövbərin yükləndiyini və hansının gözlənildiyini görsün. Bir cüt barmaq izi təhvil qeydinə yapışdırmaq üçün kifayət qədər kiçikdir və növbəti hal o zaman bir günortadan əvəzinə beş dəqiqə çəkir.
Düzgün səlahiyyəti profili çatdıran eyni autentifikasiyalı kanaldan alın. Subyekti tanış göründüyü üçün sertifikatı serverdən çəkmək başqa bir hərəkətdir və müştərinin nəyə etimad edəcəyini səssizcə genişləndirir.