Uni o’zgartirishdan oldin: SSH kaliti va OpenVPN sertifikati
authorized_keys satri, OpenSSH sertifikati va X.509 sertifikati turli obyektlardir. Biror narsani o’zgartirishdan oldin qaysi biri sizda borligini tekshiring.
Import sertifikat xatosi bilan tugaydi, shuning uchun ko’rinib turgan qadam o’zgartirishdek tuyuladi. Bu instinkt odamlarni fayl kengaytmasi o’zgaradigan, rad javobi esa aynan o’sha bo’lib qoladigan yo’lga boshlaydi. authorized_keys ichidagi ssh-ed25519 satri va OpenVPN mijoz sertifikati alohida hisob ma’lumotlari obyektlari bo’lib, ularning beruvchilari, kodlashlari va bekor qilish yo’llari har xil. Bu tekshiruvlarni tartib bilan o’tkazsangiz, o’zgartirish umuman yordam bera oladimi-yo’qmi, bir daqiqada bilib olasiz.
Aslida sizda qaysi obyekt bor?
Odamlar kalit deb ataydigan besh narsa bor va ulardan faqat bittasi TLS profili talab qiladigan narsadir. SSH ochiq kaliti — tur prefiksi va base64 yuki bo’lgan bitta matn satri. OpenSSH sertifikati — o’sha kalitga imzo, principals va parametrlar qo’shilgani bo’lib, uni ssh-keygen o’zining kichik CA si sifatida ishlab chiqaradi. X.509 sertifikati butunlay boshqa tuzilma: u subyekt, amal qilish oynasi, kengaytmalar va sertifikat organining imzosini olib yuradi. Maxfiy kalit — sirli yarmi, chiqarilgan paket esa odatda bitta faylda sertifikat, uning zanjiri va maxfiy kalitdir.
Birinchi sinov bitta buyruqqa tushadi. openssl ni faylga qarating va sertifikat tuzilmasini tahlil qilishni so’rang:
openssl x509 -in client.crt -noout -subject -issuer
Agar bu yuklab bo’lmadi yoki PEM xatosi bilan tugasa, fayl qanday nom berganingizdan qat’i nazar X.509 sertifikati emas. Nomni o’zgartirish ichkaridagi ASN.1 ni qayta yozmaydi, ochiq kalit satrini PEM sarlavha matniga o’rash ham buni qilmaydi.
Profil umuman sertifikat so’raydimi?
Mijoz sertifikatlari bir nechta autentifikatsiya usullaridan biri, ishlaydigan ko’plab TLS profillari esa hech qachon bittasini so’ramaydi. Server foydalanuvchilarni plagin, foydalanuvchi nomi va parol yoki token backend orqali autentifikatsiya qilishi mumkin, shu bilan birga mijozdan serverning shaxsini tekshirishni talab qiladi. Agar profilda mijoz sertifikati direktivasi bo’lmasa, hech qachon sertifikat so’ralmaydi va hech qanday o’zgartirish darvozani uni so’rashga majburlamaydi.
Eski statik kalit konfiguratsiyalari uchinchi holat. Ular TLS qo’l siqishidan oldin paydo bo’lgan va oldindan bo’lishilgan maxfiy faylni kutadi, shuning uchun o’sha maydonga ochiq kalitni yopishtirish ham ishlamaydi. Hisob ma’lumotlari noto’g’ri deb qaror qilishdan oldin profil aslida nima talab qilishini o’qing.
Qayta kodlash nima qila oladi va nima qila olmaydi
Maxfiy kalitlarning haqiqatan qonuniy muqobil konteynerlari bor. O’sha RSA yoki EC kalitini an’anaviy PEM, PKCS#8 yoki PKCS#12 paketi ichida yozish mumkin, va vositalar ular orasida mamnuniyat bilan o’zgartiradi. Ochiq kalitlarning ham hikoyasi o’xshash: ssh-keygen SSH kalitining RFC 4716 shaklini chiqara oladi, OpenSSH esa o’zining sertifikat formatini ham tushunadi. Bularning barchasi tasvirlash, tasvirlash esa ishonch emas.
O’zgartirish qila olmaydigan narsa — sizning kalitingizni hech qachon ko’rmagan sertifikat organidan imzo yaratish. Sertifikat — beruvchining ma’lum bir ochiq kalit ma’lum bir subyektga ma’lum bir maqsad uchun tegishli ekani haqidagi bayonoti. Qayta kodlash kalit baytlarini saqlaydi va bayonotni yo’q qoldiradi, shuning uchun darvozaning o’z ishonch ombori bilan solishtiradigan hech narsasi qolmaydi.
Ko’p urinishlar jimgina muvaffaqiyatsiz bo’ladigan qadam shu: fayl endi .crt bilan tugaydi, mijoz uni shikoyatsiz o’qiydi, qo’l siqish esa baribir uziladi, chunki qarshi tomon ishonchli beruvchigacha zanjir qura olmaydi.
Sertifikat organi rasmga qayerda kiradi
Haqiqiy ro’yxatga olish siz nazorat qiladigan kalit juftligi va operator kutgan subyektni olib yuruvchi sertifikat imzolash so’rovi bilan boshlanadi. Operator huquqni tekshiradi, so’rovni CA kaliti bilan imzolaydi va chiqarilgan sertifikatni mijoz taqdim etishi kerak bo’lgan har qanday oraliq zanjir bilan qaytaradi. Keyin mijozga uni imzolagan CA sertifikati kerak, chunki aynan u o’zi gaplashayotgan serverning shu joylashtirishga tegishli ekanini tasdiqlash imkonini beradi.
Oxirgi faylni unutish oson, almashtirish esa imkonsiz. CA ning imzolash kaliti hech qachon mijoz konfiguratsiyasiga tegishli emas va hech qanday mahalliy o’zgartirish siz olishingiz kerak bo’lgan zanjirni yaratmaydi.
SSH kalitini qayta ishlatish sizga qancha turadi
Aytaylik, o’zgartirish haqiqatan maqbul narsa yaratdi. Bitta kalit juftligini SSH kirish va VPN autentifikatsiyasi uchun qayta ishlatish baribir ikkita mustaqil xavfsizlik qarorini bog’laydi. authorized_keys yozuvini olib tashlash SSH kirishlarini to’xtatadi va o’sha ochiq kalit uchun VPN CA allaqachon chiqargan sertifikatga hech narsa qilmaydi. VPN tomoni o’z mexanizmi bilan bekor qilinadi, ya’ni sertifikatlarni bekor qilish ro’yxati yoki operatorning ro’yxatga olish yozuvi orqali.
Shuning uchun tekshiruv ro’yxati hiyla bilan emas, to’xtash sharti bilan tugaydi. Agar openssl faylni sertifikat sifatida tahlil qilmasa, o’zgartirishni to’xtating va nima borligini aytib bering: SSH kaliti, SSH sertifikati, X.509 sertifikati, maxfiy kalit yoki paket. Agar profil mijoz sertifikatini so’ramasa, to’xtang va server qaysi autentifikatsiya usulini kutayotganini so’rang. Ikkala javob ham X.509 ga ishora qilgandagina ro’yxatga olish keyingi qadam bo’ladi va birinchi gapda to’g’ri ot bo’lsa, bu suhbat ancha tez kechadi.