Burada ən çox ziyanı iki inanc vurur: özü imzalanmış VPN sertifikatının tunelin şifrələnmədiyi anlamına gəldiyi və VPN müştərisinin istədiyi hər şeyin quraşdırılmasının yalnız VPN-ə təsir etdiyi. Heç biri real yerləşdirmə ilə təmasda yaşamır. Özü imzalanmış sertifikat imza münasibətini təsvir edir, təhlükəsizlik hökmünü yox, və əlavə etdiyiniz etibarın çatımı onun hansı anbara düşdüyündən asılıdır. Bir yardım masasının bir xəbərdarlığı susdurmaq üçün provayder kökünü Windows maşınına idxal etdiyini, sonra brauzerin əlaqəsiz portaldan şikayət etməyi niyə dayandırdığını izah etməklə bir günorta keçirdiyini görmüşəm. Bu sualın iki yarısı bir yerə aiddir, ona görə onları bir kimi qəbul edin.

Sertifikat etibar anbarı deyil

Serverin təqdim etdiyi fayl açıq açar, subyekt adı, emitent adı, etibarlılıq tarixləri və uzantılar daşıyır. Özü imzalanmış o deməkdir ki, subyekt və emitent eyni varlıqdır və imza sertifikatın öz açarı ilə təsdiqlənir. Bu tərifdə heç nə bağlantının zəif olduğunu demir, heç nə müştərinin onu qəbul edəcəyini demir.

Qəbul başqa yerdən gəlir: müştərini yönəltdiyiniz CA faylı, əl ilə müqayisə etdiyiniz barmaq izi və ya müştərinin oxuduğu anbarda artıq duran kök. Yerləşdirmə tam sağlam ola bilər, halbuki sertifikatı hər açıq testdən keçməz. Sistem paketinə qarşı openssl verify naməlum emitent bildirəcək və bu bildiriş qüsur deyil, düzgündür.

OpenVPN-in ca seçimi tətbiqə bağlanmış etibarın ən aydın halıdır. O fayl müştərinin qəbul edəcəyi ankerləri adlandırır və bir özəl CA və ya kiçik yerləşdirmədə serverin öz imzalanmış sertifikatını saxlaya bilər. 2.6 versiyası CA faylı paylamaq əvəzinə SHA-256 barmaq izini bərkitmək üçün --peer-fingerprint seçimini də qəbul edir. WireGuard daha da kənarda dayanır: orada heç sertifikat yoxdur, hər peer üçün yalnız statik açıq açar var, ona görə özü imzalanmış sualı ona uyğun gəlmir.

Etibarı hara quraşdırdığınız onu kimin miras alacağını müəyyən edir

Eyni sertifikatı üç yerə qoyun və üç fərqli partlayış radiusu alın. Yalnız VPN müştərisinin oxuduğu paket o müştəriyə təsir edir. Əməliyyat sistemi anbarındakı kök həmin anbara müraciət edən hər proqrama təsir edir. Öz etibar verilənlər bazası olan brauzer hər ikisini görməzə də bilər, buna görə işlədiyi görünən idxaldan sonra da xəbərdarlıq qala bilər.

Debian və ya Ubuntu-da /usr/local/share/ca-certificates/ içinə fayl atmaq və update-ca-certificates işə salmaq sistem miqyaslı paketi dəyişir. Windows-da certutil -addstore -f Root maşın anbarına yazır və yüksəldilmiş əmr sətri tələb edir, -user əlavə etmək isə cari istifadəçinin anbarını hədəfləyir; ikisi bir-birini əvəz etmir. Firefox öz NSS verilənlər bazasını saxlayır, ona görə ƏS səviyyəsində idxal orada heç görünməyə bilər.

Əhatə vacibdir, çünki səlahiyyətli orqanın nə edə bildiyindən asılıdır. Emitent CA əlaqəsi olmayan adlara imza ata bilər, ona görə həmin anbara etibar edən hər şey o imzaları qəbul edəcək. Tək bərkidilmiş yarpaq bunu edə bilməz; o, dəqiq bir peer kimliyini təsdiqləyir. Məqsəd bir VPN-in qoşulmasını təmin etməkdirsə, tətbiqə bağlı CA və ya bərkidilmiş yarpaq buna çatır, maşın miqyaslı kök isə simptomun tələb etdiyindən qat-qat böyük güzəştdir.

Açıq CA olmadan da şifrələyirsiniz

TLS əl sıxması sessiya açarlarını çıxarır, peer sertifikatının artıq etibar etdiyiniz bir şeyə zəncirlənməsindən asılı olmayaraq. Özü imzalanmış açıq mətn demək deyil və trafikin uçuşda oxuna bilən olması demək deyil. Demək istədiyi odur ki, müştərinin açarın soruşduğu serverə aid olduğuna əvvəlcədən inanmaq üçün heç bir səbəbi yoxdur.

Həqiqi hücumlar o boşluqda yaşayır. Hər sertifikatı qəbul etmək üçün konfiqurasiya edilmiş müştəri, istər söndürülmüş yoxlama parametri ilə, istərsə bir dəfə basılıb unudulmuş “yenə də etibar et” düyməsi ilə, cavab verən hər kəsə məmnuniyyətlə şifrələyəcək. Müdaxilə autentifikasiya addımında, tətbiq məlumatları hərəkət etməzdən əvvəl baş verir. Kimlik yoxlaması olmayan şifrələmə passiv müşahidəçini bayırda saxlayır və az başqa şey edir.

Emitentə etibar ad yoxlamasını atlamır

Zəncirin yoxlanması, ad uyğunluğu və sertifikatın təyinatı ayrı qərarlardır. Zəncir etibarlı ola bilər, ad isə səhv; ad uyğun gələ bilər, sertifikat isə başqa rol üçün verilib. RFC 5280 bu məhdudiyyətləri daşıyan sahələri müəyyən edir və müştərinin onları nə qədər sərt tətbiq etməsi hər tətbiq üçün ayrı məsələdir.

OpenVPN ayrılığı görünən edir. verify-x509-name gözlənilən subyekti name, name-prefix və ya subject uyğunluğu ilə bərkidir. remote-cert-tls server peer sertifikatının server sertifikatı kimi istifadə oluna bilməsini tələb edir və bu, yalnız müştəri sertifikatını emitent etibar edilsə belə rədd edir. Heç bir parametr CA faylı göndərməklə əvəz olunmur.

Qərar verməzdən əvvəl sertifikata baxın:

  • openssl x509 -in server.crt -noout -subject -issuer -dates -ext subjectAltName onu kimin, hansı adlar üçün və nə vaxta qədər verdiyini göstərir.
  • openssl verify -CAfile ca.crt server.crt göndərməyi planlaşdırdığınız zəncirin yarpağı həqiqətən təsdiqlədiyini yoxlayır.
  • openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -CAfile ca.crt -verify_return_error veb portal kimi TLS son nöqtələri üçün işləyir; 1194 portundakı OpenVPN protokolu adi TLS axını deyil, ona görə həmin test orada tətbiq olunmur.

Vaxtı keçmiş tarixli, qoşulduğunuz ad üçün subjectAltName olmayan və ya serverAuth istifadəsi çatışmayan sertifikat ankerin nə qədər diqqətlə quraşdırıldığından asılı olmayaraq uğursuz olur.

Birini qəbul etməzdən əvvəl beş yoxlama

Barmaq izini düzəltməyə çalışdığınız bağlantı olmayan kanal üzərindən müqayisə edin: konsol, artıq malik olduğunuz quraşdırıcı, imzalanmış konfiqurasiya faylı. Serverdəki openssl x509 -in server.crt -noout -fingerprint -sha256 və müştəri jurnalındakı eyni dəyər bir obyektə baxdığınızı bilmək üçün kifayətdir.

Sonra nə quraşdırdığınıza qərar verin: bir yarpaq, yoxsa daha çox zərb edə bilən bir orqan. Sonra onun hara getdiyini qərarlaşdırın və həmin anbarı oxuyan tətbiqləri adlandırın. Silmə yolunu hələ yadınızdaykən yazın, çünki etibar-et-və-keç müvəqqəti idxalın daimi olmasının yoludur.

Nəhayət, dəyişikliyi planlaşdırın. Bərkidilmiş sertifikat və ya barmaq izi sertifikat döndükdə həmin etibarlı kanal vasitəsilə yenilənməlidir və özəl CA-nın öz verilmə və ləğvetmə həyat dövrü var. Özəl açar sızarsa, eyni sertifikatın surətini yenidən etibar etmək heç nəyi düzəltmir; kimlik dəyişdirilməlidir.

Xəbərdarlıq bütün beş yoxlamadan sağ çıxırsa, faydalı sual onu hansı düymənin susdurduğu deyil, müştərinin həqiqətən hansı anbarı oxuduğu və o kökün haradan gəldiyidir. Buna cavab verin və etmək üzrə olduğunuz idxal refleks deyil, qərar olacaq.

Əlaqəli məqalələr