Ikki fayl, ikki direktiva va ikkalasini ham sozlaydigan narsa nomi bilan atash odati. Shunday qilib dh.pem tls-auth qatoriga tushadi va mijoz kutilmagan kalit formati haqidagi xabar bilan muvaffaqiyatsizlikka uchraydi. Sizning oldingizdagi qaror qaysi fayl kuchliroq degani emas. Bu — joylashtirishga qaysi rol haqiqatan kerak, va uch shart buni hal qiladi: TLS stekingiz qaysi kalit almashinuvini kelishadi, boshqaruv kanali autentifikatsiyasini xohlaysizmi va material maxfiy qolishi kerakmi.

Ularga tartib bilan javob bering, fayl haqidagi savol o'z-o'zidan javob topadi. Ularni o'tkazib yuborsangiz, direktiva nomlari bir-birini almashtira oladigandek ko'rina boshlaydi, xato aynan shu holatdan kelib chiqadi.

Fayl nomidan oldin yorliqni o'qing

Faylning birinchi satri nomidan ko'proq ma'lumot beradi, chunki nom — insoniy konvensiya, yorliqni esa asbob yaratadi. Diffie-Hellman parametrlari BEGIN DH PARAMETERS PEM yorlig'ini olib yuradi. OpenVPN statik kaliti butunlay boshqa tuzilma, o'z sarlavhasi va o'n oltilik yuki bor.

Nomni o'zgartirish hech narsani aylantirmaydi. ta.key nomli parametr fayli hali ham parametrlar, dh.pem nomli statik kalit esa hali ham statik kalit; tahlilchi mazmunni o'qiydi va nomuvofiqlikni rad etadi. Profilni tahrirlashdan oldin tekshiring:

head -n 1 dh.pem
head -n 1 ta.key

Qaysi fayl kerakligini belgilaydigan uch shart

Birinchi shart — almashinuv. Chekli maydonning Diffie-Hellman qo'l berishishi guruhni talab qiladi, dh direktivasi esa server unga parametrlarni nomlaydigan joy. Elliptik egri chiziqdagi qo'l berishish bu faylni umuman talab qilmaydi, chunki egri chiziqning o'zi parametrlar to'plami. Agar serveringiz faqat ECDHE to'plamlari bilan kelishsa, DH fayli qo'shimcha kuch emas, o'lik yuk.

Ikkinchi shart — boshqaruv kanali autentifikatsiyasi, o'z materialiga ega alohida xususiyat. tls-auth fayli ikkala tomon ham saqlaydigan umumiy statik kalit bo'lib, boshqaruv kanali paketlarini imzolash uchun ishlatiladi, shunda autentifikatsiyadan o'tmagan tomon qo'l berishishni ham yakunlay olmaydi. Chekli maydon DH ishlatsangiz ham, ishlatmasangiz ham u mavjud va guruh parametrlariga aloqasi yo'q.

Uchinchi shart — maxfiylik va tarqatish. DH parametrlarini sessiyani zaiflashtirmasdan e'lon qilish mumkin, chunki maxfiy qiymatlar har bir qo'l berishish uchun yaratiladi va tomonlarni hech qachon tark etmaydi. Statik kalitni e'lon qilish mumkin emas: u ikki uchida bir xil baytlar, o'z-o'zidan aylanmaydi va unga ega bo'lgan har kim haqiqiy boshqaruv kanali imzolarini yaratishi mumkin. Bu ikki javob butunlay boshqacha muomala qoidalariga olib keladi, shuning uchun bitta fayl omborxonada turishi mumkin, ikkinchisi esa yo'q.

Har bir rol uchun to'g'ri material yarating

Direktiva kutayotgan formatni yaratadigan asbobdan foydalaning, ular orasida aylantirish o'rniga. OpenVPN 2.6 dagi umumiy kalit uchun generatorning tiplashtirilgan shakli maqsadni aniq ko'rsatadi.

openvpn --genkey tls-auth ta.key

Bu buyruq yangi maxfiy material yaratadi; u mavjud kalitni tuzatmaydi va tekshirmaydi, qayta ishga tushirish esa boshqa tomonlarda yo'q boshqa kalit beradi. Hosil bo'lgan faylni kerakli tomonlarga har qanday umumiy sir uchun ishlatadigan kanal orqali ko'chiring va yo'nalish konvensiyasini izchil saqlang: tls-auth bilan bir tomon key-direction 0, ikkinchisi key-direction 1 ishlatadi.

DH parametrlari kerak bo'lganda kalit generatoridan emas, parametr yaratishdan olinadi va natija ochiq bo'lsa ham ularning kelib chiqishi muhim. Noma'lum manbadan olingan guruh ochiq bo'lgani uchun ishonchli bo'lib qolmaydi; u hali ham tomonlaringiz kelishadigan va hajmi yoki tuzilishi bilan zaiflashtirilmagan guruh bo'lishi kerak.

dh none nimani anglatadi va nimani anglatmaydi

dh none tor ma'noli haqiqiy direktiva: hech qanday chekli maydon parametr fayli yuklanmaydi, chunki qo'l berishish elliptik egri chiziq Diffie-Hellman-dan foydalanadi. U biror narsani zaiflashtirish ma'nosida «DH qadamini o'tkazib yubor» qisqartmasi emas va OpenVPN-ga boshqa faylni o'rinbosar sifatida qabul qilishni aslo aytmaydi.

Noto'g'ri o'qishdan ikki xato kelib chiqadi. Birinchisi — dh none tls-auth ehtiyojini yo'q qiladi deb o'ylash, holbuki ikkalasi turli narsalarni boshqaradi. Ikkinchisi — faqat egri chiziq konfiguratsiyasi yonida eski dh qatorini saqlab, keyin server aslida qaysi faylni ishlatayotganini o'ylash; direktiva mavjud bo'lsa, fayl o'qiladi va u yerdagi buzilgan yo'l kelishiladigan almashinuvga aloqasi bo'lmagan sabab bilan ishga tushishni muvaffaqiyatsiz qiladi.

Agar noto'g'ri fayl allaqachon joylashtirilgan bo'lsa

Profil egasidan ko'zda tutilgan sirni tiklang va buni qilayotganda sertifikat tekshiruviga tegmaslik kerak. Muvaffaqiyatsizlik — format nomuvofiqligi, ishonch muvaffaqiyatsizligi emas, xatoni chetlab o'tish uchun tekshiruvni o'chirish esa ishga tushish muammosini jim muammo bilan almashtiradi.

Keyin odamlar birlashtirishga moyil bo'lgan ikki hodisani ajrating. DH parametr faylini e'lon qilish deyarli zararsiz, chunki parametrlar dizayni bo'yicha ochiq edi. tls-auth kalitini fosh qilish boshqa hodisa: kalit uni saqlagan har bir tomon uchun boshqaruv kanali paketlarini autentifikatsiya qiladi, shuning uchun almashtirish bitta xostda emas, butun joylashtirish bo'ylab muvofiqlashtirilishi kerak.

Besh daqiqalik tekshiruv qaysi holatda ekaningizni hal qiladi: har bir faylning birinchi satrini o'qing, unga havola qiladigan direktivani tasdiqlang va faylning tarqatilishi material talabiga mos kelishini tasdiqlang. Bu ishlaydigan PKI-ni qaytadan yaratishdan kichikroq ish va uch shart ham shu narsaga ishora qilib turgan.

O'xshash maqolalar