Ikki profil ham ca.crt nomli faylni olib keladi, bir tunnel ko’tariladi, ikkinchisi zanjir xatosi bilan muvaffaqiyatsiz tugaydi. Ikki faylni yonma-yon ochish buni kamdan-kam hal qiladi, tekshiruvni o’chirish esa uni noto’g’ri yo’nalishda hal qiladi. Xato aslida so’rayotgan savol torroq: har bir jarayon qaysi sertifikatni o’zining ishonch langari sifatida yuklaydi va ikkisi bir xil obyektmi? Avval shunga javob bering, diagnostikaning qolgan qismi yo’nalish oladi. Fayl nomi qadoqlash yorlig’i, profilda yozilgan yo’l ham vakolatli emas, shuning uchun hammasi jarayon aslida nimani o’qishiga bog’liq.

Mijoz aslida yuklaydigan sertifikatni toping

OpenVPN vakolatni ikki shaklda qabul qiladi va shakl qaysi baytlar muhimligini belgilaydi. Profil ca bilan tashqi faylga ishora qilishi yoki sertifikatni profilning o’zidagi <ca> blokiga joylashtirishi mumkin. Ikkisi ham bo’lsa, joylashtirilgan blok g’olib chiqadi va profil yonidagi fayl hech qachon ochilmaydi.

Muvaffaqiyatsiz profilni o’qing va biror narsani solishtirishdan oldin u qaysi shakldan foydalanishini aniqlang. Qo’shni katalogdan yoki boshqa profil kelgan paketdan olingan nusxa bu jarayon nimaga ishonishi haqida sizga hech narsa aytmaydi. Xuddi shu konfiguratsiyadagi yo’lga ham tegishli: u mijoz ishga tushirilgan joyga nisbatan hal qilinadi, bu esa har doim siz ko’rib turgan katalog emas. Profilni o’qing, papkani emas.

Sertifikatlar tarkibi bilan aniqlanadi: ochiq kalit, subyekt va chiqaruvchi, amal qilish oynasi va bularning barchasi ustidagi imzo. Bir xil baytli ikki fayl qanday nomlansa ham bir xil sertifikat, bir xil nomli ikki fayl esa bog’liq bo’lmagan vakolatlar bo’lishi mumkin. Nom qadoqlash yorlig’i, shaxsiyat emas.

Ikki nusxaning barmoq izini openssl bilan oling

Barmoq izi sertifikatning DER kodlashi ustidagi xesh, imzo qamrab oladigan shakl, shuning uchun satr oxirlari va sarlavha matni unga ta'sir qila olmaydi. Har bir fayl uchun uni hisoblang va ikki nuqta bilan ajratilgan ikki o’n oltilik satrga ega bo’lasiz, ular mos keladi yoki yo’q. Taqqoslash savoliga javob berish uchun sertifikatda boshqa hech narsa o’qish shart emas.

openssl x509 -in /etc/openvpn/office/ca.crt -noout -fingerprint -sha256
openssl x509 -in ~/profiles/lab-ca.pem -noout -fingerprint -sha256

openssl ni profilning o’ziga yo’naltirish jozibali, lekin u faylda birinchi uchraydigan sertifikat blokini o’qiydi, profil esa odatda <cert> blokini <ca> dan oldin olib yuradi. Vakolat blokini ajratib oling, so’ng ajratib olingan faylning barmoq izini oling, chunki mijoz aslida ishlatadigan nusxa shu.

sed -n '/^<ca>$/,/^<\/ca>$/p' office.ovpn | sed '1d;$d' > /tmp/office-ca.pem
openssl x509 -in /tmp/office-ca.pem -noout -fingerprint -sha256

Bir xil barmoq izlari ishonch materiali bir xil va zanjir xatosining boshqa sababi bor degani, bu boshqa tekshiruv. Turli barmoq izlari turli sertifikatlar degani va keyingi bo’lim shundan boshlanadi.

Hujumni taxmin qilishdan oldin nomuvofiqlikni o’qing

Turli barmoq izlari turli sertifikatlar va boshqa hech narsa degani emas. Qayta chiqarish, rotatsiya, nomi o’zgartirilgan vakolat yoki eskirgan to’plam barchasi to’liq qonuniy tarixlarga ega turli fayllar hosil qiladi. Qaysi biri joylashtirishga tegishli ekani operatorga yoki joylashtirish yozuviga beriladigan savol, fayl o’zgargan vaqtga emas. Arxivlar vaqt belgilarini nusxalaydi, shuning uchun yangiroq fayl avtomatik ravishda to’g’ri langar emas.

O’zini imzolovchi ildiz odatiy, shuning uchun uni topish muammoning isboti emas. Tekshiruvchining vazifasi server sertifikatidan unga berilgan langargacha yo’l qurish, zanjir xatosi esa odatda bu yo’lni tugatib bo’lmaganini bildiradi.

Muvaffaqiyatsiz profilning langari joylashtirish hali ham chiqaradigan vakolat ekanini tekshiring. Agar barmoq izi joylashtirish yozuvidagi hech narsaga mos kelmasa, profil shunchaki eskirgan va mijoz tomonidagi hech qanday sozlash buni tuzatmaydi.

Tekshiruvni o’chirmasdan ishonchni tiklang

Qisqa muddatli yechim tekshiruvni o’chirish yoki zanjirdagi har bir sertifikatni langar sifatida qo’shish. Ikkisi ham xabarni yo’q qiladi va ikkisi ham mijoz bundan buyon qaysi serverlarni qabul qilishini o’zgartiradi. Tekshiruvni qayta yoqing, ko’zlangan langarni o’rnating va qayta sinab ko’ring.

Agar zanjir endi qurilsa, lekin boshqa xato paydo bo’lsa, bu taraqqiyot: nom tekshiruvi, amal qilish sanalari va bekor qilish alohida xabarlar bilan alohida tekshiruvlar. Barmoq izlari jufti va asl xato matnini chiptada birga saqlang, shunda keyingi odam qaysi langar yuklanganini va qaysi biri kutilganini ko’radi. Bir juft barmoq izi topshirish eslatmasiga yopishtirish uchun yetarlicha kichik, keyingi hodisa esa o’shanda tushdan keyin o’rniga besh daqiqa oladi.

To’g’ri vakolatni profilni yetkazgan o’sha autentifikatsiyalangan kanal orqali oling. Subyekti tanish ko’ringani uchun serverdan sertifikat tortib olish boshqa harakat va u mijoz ishonadigan narsa doirasini jimgina kengaytiradi.

O'xshash maqolalar