Bu yerda eng katta zararni ikki e'tiqod yetkazadi: o'zi imzolagan VPN sertifikati tunnel shifrlanmagan degani, va VPN mijozi so'ragan har qanday narsani o'rnatish faqat VPNga ta'sir qiladi degani. Ikkalasi ham haqiqiy joriy etish bilan to'qnashganda bardosh bermaydi. O'zi imzolagan sertifikat imzo munosabatini tavsiflaydi, xavfsizlik hukmini emas, va siz qo'shgan ishonch qamrovi u qaysi omborga tushishiga bog'liq. Men yordam xizmati bitta ogohlantirishni jim qilish uchun provayder ildizini Windows mashinasiga import qilganini, so'ng brauzer aloqasiz portal haqida shikoyat qilishni nega to'xtatganini tushuntirib, yarim kun o'tkazganini ko'rganman. Bu savolning ikki yarmi birga tegishli, shuning uchun ularni bitta deb qarang.

Sertifikat ishonch ombori emas

Server taqdim etadigan fayl ochiq kalit, subyekt nomi, chiqaruvchi nomi, amal qilish sanalari va kengaytmalarni olib yuradi. O'zi imzolagan degani — subyekt va chiqaruvchi bir xil shaxs, imzo esa sertifikatning o'z kaliti bilan tekshiriladi. Bu ta'rifda hech narsa aloqa zaif deb aytmaydi, va hech narsa mijoz uni qabul qiladi deb aytmaydi.

Qabul boshqa joydan keladi: mijozni yo'naltiradigan CA fayli, qo'lda solishtiradigan barmoq izi yoki mijoz o'qiydigan omborda allaqachon turgan ildiz. Joriy etish butunlay sog'lom bo'lishi mumkin, ammo uning sertifikati har bir ommaviy sinovdan yiqiladi. openssl verify tizim to'plamiga qarshi noma'lum chiqaruvchini xabar qiladi, va bu xabar nuqson emas, to'g'ri.

OpenVPN ning ca parametri ilovaga cheklangan ishonchning eng aniq holati. Bu fayl mijoz qabul qiladigan langarlarni nomlaydi va bitta xususiy CA yoki kichik joriy etishda serverning o'z o'zi imzolagan sertifikatini o'z ichiga olishi mumkin. 2.6 versiyasi CA faylini tarqatish o'rniga SHA-256 barmoq izini mahkamlash uchun --peer-fingerprint ni ham qabul qiladi. WireGuard undan ham uzoqroq: unda sertifikatlar umuman yo'q, har bir sherik uchun faqat statik ochiq kalit bor, shuning uchun o'zi imzolash savoli unga to'g'ri kelmaydi.

Ishonchni qayerga o'rnatishingiz unga kim merosxo'r bo'lishini belgilaydi

Bir xil sertifikatni uch joyga qo'ying va uch xil portlash radiusini olasiz. Faqat VPN mijozi o'qiydigan to'plam shu mijozga ta'sir qiladi. Operatsion tizim omboridagi ildiz shu omborga murojaat qiladigan har bir dasturga ta'sir qiladi. O'z ishonch bazasiga ega brauzer ikkalasini ham e'tiborsiz qoldirishi mumkin, shuning uchun ishlagandek tuyulgan importdan keyin ham ogohlantirish qolishi mumkin.

Debian yoki Ubuntu da /usr/local/share/ca-certificates/ ichiga fayl tashlash va update-ca-certificates ni ishga tushirish tizim bo'ylab to'plamni o'zgartiradi. Windows da certutil -addstore -f Root mashina omboriga yozadi va ko'tarilgan buyruq satrini talab qiladi, -user qo'shish esa buning o'rniga joriy foydalanuvchi omborini nishonga oladi; ikkalasi bir-birini almashtirmaydi. Firefox o'zining NSS bazasini saqlaydi, shuning uchun OS darajasidagi import u yerda hech qachon ko'rinmasligi mumkin.

Qamrov muhim, chunki hokimiyat nima qila olishiga bog'liq. Chiqaruvchi CA o'zi bilan aloqasi yo'q nomlarga imzo chekishi mumkin, shuning uchun shu omborga ishonadigan hamma o'sha imzolarni qabul qiladi. Bitta mahkamlangan varaq buni qila olmaydi; u aynan bitta sherik shaxsini tasdiqlaydi. Maqsad bitta VPNni ulash bo'lsa, ilovaga cheklangan CA yoki mahkamlangan varaq shunga yetadi, ammo mashina bo'ylab ildiz simptom talab qilganidan ancha katta yon berishdir.

Siz hali ham ochiq CA siz shifrlayapsiz

TLS qo'l berish seans kalitlarini hosil qiladi, sherik sertifikati siz allaqachon ishonadigan narsaga zanjirlanadimi yoki yo'qmi — bundan qat'i nazar. O'zi imzolagan ochiq matn degani emas va trafik parvoz paytida o'qiladi degani ham emas. Bu mijozning kalit o'zi so'ragan serverga tegishli ekaniga oldindan ishonish uchun sababi yo'qligini bildiradi.

Aynan shu bo'shliqda haqiqiy hujumlar yashaydi. Har qanday sertifikatni qabul qilish uchun sozlangan mijoz, o'chirilgan tekshiruv sozlamasi orqali bo'lsin yoki bir marta bosilib unutilgan «baribir ishon» tugmasi orqali bo'lsin, javob bergan har kimga xursandchilik bilan shifrlaydi. Ushlash autentifikatsiya bosqichida, ilova ma'lumotlari harakatlanishidan oldin sodir bo'ladi. Shaxsni tekshirmasdan shifrlash passiv kuzatuvchini tashqarida ushlab turadi va boshqa ko'p narsa qilmaydi.

Chiqaruvchiga ishonish nom tekshiruvini chetlab o'tmaydi

Zanjirni tekshirish, nom mosligi va sertifikat maqsadi alohida qarorlar. Zanjir amal qilishi mumkin, ammo nom noto'g'ri; nom mos kelishi mumkin, ammo sertifikat boshqa rol uchun chiqarilgan. RFC 5280 bu cheklovlarni olib yuruvchi maydonlarni belgilaydi, va mijoz ularni qanchalik qat'iy qo'llashi har bir ilovaning ishi.

OpenVPN ajratishni ko'rinadigan qiladi. verify-x509-name kutilgan subyektni name, name-prefix yoki subject mosligi orqali mahkamlaydi. remote-cert-tls server sherik sertifikati server sertifikati sifatida yaroqli bo'lishini talab qiladi, bu esa chiqaruvchi ishonchli bo'lsa ham faqat mijoz sertifikatini rad etadi. Ikkala sozlamaning hech biri CA faylini yuborish bilan almashtirilmaydi.

Biror narsa qaror qilishdan oldin sertifikatni ko'zdan kechiring:

  • openssl x509 -in server.crt -noout -subject -issuer -dates -ext subjectAltName kim chiqarganini, qaysi nomlar uchun va qachonga qadar ko'rsatadi.
  • openssl verify -CAfile ca.crt server.crt yubormoqchi bo'lgan zanjiringiz varaqni haqiqatan tasdiqlaydimi-yo'qmi tekshiradi.
  • openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -CAfile ca.crt -verify_return_error veb-portal kabi TLS so'nggi nuqtalari uchun ishlaydi; 1194 dagi OpenVPN protokoli oddiy TLS oqimi emas, shuning uchun bu sinov u yerda qo'llanilmaydi.

Muddati o'tgan sana, ulanadigan nom uchun subjectAltName yo'qligi yoki serverAuth ishlatilmagani bo'lgan sertifikat langar qanchalik ehtiyotkorlik bilan o'rnatilganidan qat'i nazar muvaffaqiyatsiz bo'ladi.

Bittasini qabul qilishdan oldin besh tekshiruv

Barmoq izini tuzatmoqchi bo'lgan aloqa bo'lmagan kanal orqali solishtiring: konsol, sizda bor o'rnatuvchi, imzolangan konfiguratsiya fayli. Serverdagi openssl x509 -in server.crt -noout -fingerprint -sha256 va mijoz jurnalida o'sha qiymat bitta obyektga qarab turganingizni bilish uchun yetarli.

Keyin nima o'rnatayotganingizni hal qiling: bitta varaqmi yoki ko'proq zarb qila oladigan hokimiyatmi. So'ng u qayerga ketishini hal qiling va o'sha omborni o'qiydigan ilovalarni nomlang. Olib tashlash yo'lini hali eslab turganda yozib qo'ying, chunki ishon-va-davom-et shu yo'l bilan vaqtinchalik import doimiyga aylanadi.

Nihoyat, o'zgarishni rejalashtiring. Mahkamlangan sertifikat yoki barmoq izi sertifikat aylanganda o'sha ishonchli kanal orqali yangilanishi kerak, va xususiy CA ning o'z chiqarish va bekor qilish hayot sikli bor. Agar xususiy kalit oqib ketsa, o'sha sertifikat nusxasiga qayta ishonish hech narsani tuzatmaydi; shaxsni almashtirish kerak.

Agar ogohlantirish beshta tekshiruvdan o'tib ketsa, foydali savol qaysi tugma uni jim qilishi emas, balki mijoz aslida qaysi omborni o'qishi va o'sha ildiz qayerdan kelgani. Bunga javob bering, va qilmoqchi bo'lgan importingiz refleks emas, qaror bo'lib qoladi.

O'xshash maqolalar