tls-auth xatosi odatda qo'l berishish muammosi sifatida xabar qilinadi, holbuki u hech qachon bunday bo'lmagan. HMAC har qanday TLS ishlovidan oldin boshqaruv paketida tekshiriladi, shuning uchun mos kelmaydigan kalit yoki yo'nalish sertifikat muammosiga o'xshaydigan va ikki qatlam oldin hal qilinadigan xato keltiradi. Konvertni alohida obyekt deb qabul qilish diagnostikani qisqartiradi: maydonlarni o'qing, tekshiruv erta ishga tushishini tasdiqlang, so'ng ikkala tomon kelishishi kerak bo'lgan uchta narsani solishtiring.

Konvertni qurilish tartibida o'qing

Boshqaruv paketi sessiya identifikatori, ixtiyoriy tls-auth HMAC, takrorlash va tasdiqlash ma'lumoti hamda ishonchli xabar identifikatorini olib yuradi, undan keyin xabar turi yuki keladi. Xabar qo'l berishish xabari bo'lsa, yuk TLS shifrlangan matni bo'ladi. Butun aloqa shunday: TLS materiali konvert allaqachon himoya qiladigan xabar ichida harakatlanadi. Qarang OpenVPN tarmoq protokoli ma'lumotnomasi boshqaruv kanali maydonlarini shu tartibda sanab o'tadi.

Ishonchlilik qatlamini kriptografiya bilan chalkashtirish oson. Tasdiqlar, qayta yuborish va xabar identifikatori boshqaruv xabarlari ishonchsiz transport orqali bir marta va tartibda yetib borishi uchun mavjud. Ular autentifikatsiya emas va to'g'ri xabar identifikatori paketni kim yuborgani haqida hech narsani isbotlamaydi.

Bu guruhlashni konseptual saqlang. Bu baytlar tartibi diagrammasi emas va tegni hisoblash uchun yetarli emas, chunki HMAC ga kiradigan maydonlar amalga oshirish, versiya va rejimga bog'liq.

Tekshiruv qo'l berishishdan oldin ishga tushishini ko'rsating

Umumiy kalitga ega qabul qiluvchi HMAC ni tekshirib, soxta paketni darhol tashlab yuborishi mumkin, qo'l berishish holatini ajratmasdan yoki ochiq kalit ishini bajarmasdan. Himoya boshlang'ich qo'l berishish paketlarini ham qamrab oladi, shuning uchun noto'g'ri kalit kech autentifikatsiya xatosi sifatida emas, muvaffaqiyatsiz ulanish sifatida ko'rinadi.

Daemonning batafsilligini oshiring va tun qurilmasi o'rniga boshqaruv kanalini kuzating:

openvpn --config /etc/openvpn/server.conf --verb 6

Siz izlayotgan narsa paket darajasida xabar qilinadigan boshqaruv kanali HMAC tekshiruv xatosi, har qanday TLS ogohlantirishidan oldin. Jurnalda TLS ogohlantirishi konvert qabul qilinganini va xato ichkariga ko'chganini bildiradi, bu boshqa yechimli boshqa tekshiruv.

Yo'nalishni boshqarish ham shu yerda. Statik kalit fayli tls-auth bilan ishlatilganda, ikki tomon qarama-qarshi kalit yo'nalishlarini oladi va protokol bu bo'linishdan ushlangan paket jo'natuvchisiga qaytarib aks ettirilmasligi uchun foydalanadi. Yo'nalishni teskari qilish kalitni bir xil qoldiradi va baribir har bir paket muvaffaqiyatsiz bo'ladi. Bir vaqtda bir tomonni o'zgartiring, so'ng juftlik birga yuklanishi uchun ikkala daemonni qayta ishga tushiring.

Ikkala tomonda kalit, yo'nalish va digestni moslashtiring

Uch qiymat mos kelishi kerak va ulardan faqat bittasi fayl. Statik kalitning mazmuni ikkala tomonda bir xil bo'lishi kerak, yo'nalish qarama-qarshi bo'lishi kerak va HMAC uchun ishlatiladigan digest mos kelishi kerak. Kalit materialiga tegishdan oldin konfiguratsiyani tekshiring, chunki bitta teskari yo'nalish buzilgan fayldan ko'ra ko'proq xatoni tushuntiradi:

grep -E 'tls-auth|tls-crypt|key-direction|auth ' /etc/openvpn/server.conf

Umumiy sirni muharrir emas, vosita bilan yarating va ruxsatlarni qat'iy saqlang:

openvpn --genkey secret /etc/openvpn/ta.key
chmod 600 /etc/openvpn/ta.key

Eski versiyalar kalit yaratish uchun biroz boshqacha parametrlar tartibini qabul qilgan va o'sha versiyalar uchun yozilgan profillar hali ham aylanmoqda. Yaratilgan fayl ikkala holatda ham bir xil turdagi obyekt, shuning uchun tekshiruv ikkala tomonda bir xil baytlar bor-yo'qligi, ularni qaysi imlo yaratgani emas.

tls-auth ni tls-crypt bilan chalkashtirmang. Ikkalasi boshqaruv kanalini himoya qiladi, lekin tls-crypt uni shifrlaydi ham va qo'l berishishni kuzatuvchilardan yashiradi, va yo'nalish bo'linishini o'zining kalit ishlovi bilan almashtiradi. Bittasini ishlatadigan profil ikkinchisiga sozlangan hamkor bilan ishlamaydi va hech qanday digest sozlash bu bo'shliqni yopmaydi.

Tegni faqat haqiqiy formatdan qayta yarating

Baytga aniq qayta yaratish VPN yuritishdan alohida vazifa va u faqat haqiqiy kirishlar bilan ishlaydi: paketni qurgan amalga oshirish va versiya, tanlangan digest, yo'nalish va sessiya identifikatori hamda tasdiqlash massivini o'z ichiga olgan haqiqiy baytlar. Maydonlar ro'yxatining matniy tasviri bu baytlar emas.

Teg uzunligi digestdan kelib chiqadi, shuning uchun qat'iy uzunlik farazi kimdir uni o'zgartirgan lahzada buziladi. Paketni amalga oshirish qilgandek xeshlang, blog yozuvidagi jadval taqdim etgandek emas, va qo'lda chiqarilgan kutish bilan emas, o'sha hamkordan olingan yozuv bilan solishtiring.

Bu mashqni ishlab chiqarish profillaridan uzoq tuting. Tegni qayta yaratishda joylashtirish himoyani yoqishi kerakmi-yo'qmi, buni hech narsa aytmaydi.

Himoyani olib tashlamasdan nomuvofiqlikni qaytaring

Jozibali sinov tls-auth ni o'chirish, ulanish muvaffaqiyatli bo'lganini ko'rish va kalit noto'g'ri bo'lgan degan xulosaga kelishdir. Bu javob sizni himoyadan mahrum qiladi va uch qiymatdan qaysi biri mos kelmaganini o'rgatmaydi. Buning o'rniga server tomonidan tasdiqlangan mos konfiguratsiyani oling va u bilan solishtiring.

O'zgarishni qaytariladigan qilib tayyorlang. Oldingi server konfiguratsiyasi va kalit faylini saqlang, tuzatilgan juftlikni qo'llang, mijoz qo'l berishishni tugatishini tekshiring va shundan keyingina zaxira nusxasini olib tashlang. Agar o'zgarishdan keyin mijozlar muvaffaqiyatsiz bo'lsa, uzilish paytida uchinchi variantni o'ylab topish o'rniga oldingi fayllarni tiklang. Tiklash siz boshlashdan oldin biladigan bitta buyruq bo'lishi kerak.

Nihoyat, o'tgan tekshiruv nimani anglatishini eslang. U hamkorning umumiy kalitga ega ekanini isbotlaydi, uning sertifikati yoki hisobi ruxsat etilganini emas, va u kelishilgan ma'lumotlar kanali shifri haqida hech narsa aytmaydi. Avtorizatsiya va ma'lumotlar himoyasi keyinroq o'rnatiladi, shuning uchun toza konvert tekshiruvi boshlang'ich nuqta, hukm emas.

O'xshash maqolalar