Ikki savol VPN shaxsiy kaliti qayerda yashashini hal qiladi: kalit materialini xostdan nusxalash mumkinmi va jarayon undan klaviaturada hech kim yo'q paytda foydalana oladimi. Omborning marketing yorlig'i ikkalasiga ham javob bermaydi. Qayta ishga tushirishdan keyin qaytishi kerak bo'lgan tunnel demoni nazoratsiz foydalanishni talab qiladi, bu esa inson kiritadigan PINga bog'langan hamma narsani istisno qiladi.

Nusxalash va foydalanish o'rtasida tanlang

Nusxalash va foydalanish turlicha muvaffaqiyatsizlikka uchraydi, shuning uchun ularni bitta emas, ikkita talab deb qabul qiling. Kalit baytlarini o'qiy oladigan hujumchi identifikatorni boshqa xostga olib ketadi va asl mashina buni sezmaydi. Baytlarni o'qiy olmaydigan, lekin imzolash jarayoniga yeta oladigan hujumchi bu ruxsat davom etguncha autentifikatsiyadan o'taveradi.

Fayldagi kalit osonlikcha nusxalanadi, shuning uchun uni zaxiralash va tiklash ham eng oson. Dasturiy kalit ombori chegarani emas, API ni o'zgartiradi: provayder o'zining eksport chaqiruvlarini rad etadi, lekin kalitni o'rnatgan o'sha administrator kontekstining materialga boshqa yo'llari odatda bor. Dasturiy provayderda eksport qilinmaydigan bo'lish qo'llab-quvvatlanadigan operatsiyalar haqidagi bayonot, apparat devorining isboti emas. Buni tasodifiy nusxalashga qarshi sekinlashtiruvchi deb qarang, sessiyangizni allaqachon ushlab turgan kimsaga qarshi himoya deb emas.

TPM yoki smart-karta imzolash operatsiyasini apparat ichida bajaradi va faqat natijani qaytaradi. Bu nusxalash yo'lini yopadi, foydalanish yo'lini esa imzo so'ray oladigan hamma narsaga ochiq qoldiradi.

Omborni tunnel demoniga moslashtiring

Demon buni xavfsizlik siyosatidan ko'proq cheklaydi. WireGuard fayldan yoki wg set kiritishidan base64 shaxsiy kalit oladi va sertifikat omboriga yo'li yo'q, shuning uchun TPM qo'llab-quvvatlaydigan interfeys kaliti gapga kirmaydi. OpenSSL 3 ga qarshi qurilgan OpenVPN kalitni provayder URI orqali yuklashi mumkin, strongSwan esa PKCS#11 qo'llab-quvvatlashi yonida TPM plaginini yetkazib beradi, lekin ikkalasi ham paketingiz qanday kompilyatsiya qilinganiga bog'liq.

Tanlangan omborga yeta olmaydigan demon apparat chegarasini bezakka aylantiradi. Kimdir kalitni bir marta eksport qiladi, faylda qoldiradi va loyihaning qolgan qismi o'sha nusxada jimgina ishlaydi.

Yangilash moslashuvning ikkinchi yarmi va aynan shu yerda loyihalarning ko'pchiligi buziladi. Birinchi ro'yxatdan o'tishda ishlaydigan, lekin har qayta chiqarish uchun konsolga kirishni talab qiladigan ombor sertifikat noqulay soatda tugaganda birinchi marta chetlab o'tiladi. Joriy kalitning hali oylari bor paytda qayta chiqarish yo'lini sinab ko'ring.

Kalitni ko'chirishdan oldin inventarizatsiya qiling

Kalit nima ekanini, u qayerda yashashini o'zgartirishdan oldin yozib qo'ying, chunki subject alternative names yo'qotadigan migratsiya tunnelni marshrutlash xatosi kabi o'qiladigan tarzda buzadi. Sertifikatni chiqaring, shaxsiy kalit demon kutgan joyda o'qilishini tasdiqlang va juftlik haqiqatan mos kelishini tekshiring.

openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256

Oxirgi ikki xulosa bir xil bo'lishi kerak. Aks holda demon o'rnatishni tugatadi va keyin har bir urinishda haqiqiy sababga yaqin bo'lmagan sertifikat yoki imzo xatosi bilan muvaffaqiyatsizlikka uchraydi. WireGuard ekvivalenti qisqaroq, chunki ochiq kalit to'g'ridan-to'g'ri shaxsiydan olinadi: wg pubkey < /etc/wireguard/wg0.key serveringiz allaqachon saqlagan sherik kalitini chiqarishi kerak.

Ruxsatlar o'sha inventarga tegishli. stat -c '%a %U:%G' /etc/wireguard/wg0.key 600 root:root qaytarishi kerak va guruh yoki dunyo uchun o'qiladigan har qanday narsa kalit siz hech qachon o'ylamagan jarayonlarga allaqachon ochiq bo'lganini bildiradi.

Omborni va foydalanish yo'lini tekshiring

Tekshiruvning uch qismi bor va uchinchisi o'tkazib yuboriladi. Kalit tanlangan omborda borligini tasdiqlang, demon o'sha kalitni yuklaganini, qolgan nusxani emas, tasdiqlang va keyin eksport artefakti yo'q bo'lganda hali ham ishga tushishini tasdiqlang.

certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts

Windowsda birinchi buyruq shaxsiy omborni sanab, har bir yozuv yonida kalit provayderini chiqaradi va o'sha yerda apparat bilan himoyalanganga o'xshab ko'ringan, lekin dasturiy provayderda o'tirgan sertifikat paydo bo'ladi. Ikkinchisi platforma kriptoprovayderi saqlaydigan kalitlarni sanaydi, shuning uchun sertifikati mavjud bo'lganda o'sha yerda yo'q VPN identifikatori shaxsiy yarmining boshqa joyda yashashini bildiradi. Linux darvozasida ipsec listcerts strongSwan nima yuklaganini, TPM plaginidan kelgan kalitlarni ham qo'shib xabar qiladi. Yozuvlar soniga ishonish o'rniga barmoq izlarini yoki ochiq kalit xeshlarini inventar bilan solishtiring.

Salbiy test loyihani isbotlaydigan testdir. Eksport qilingan kalitni demonning konfiguratsiya papkasidan tashqariga ko'chiring, xizmatni qayta ishga tushiring va jurnalda qanday identifikator taqdim etishini o'qing. Baribir ko'tariladigan tunnel omborni ishlatadi; muvaffaqiyatsiz ishga tushish loyiha haqiqatan nusxada ishlaganini bildiradi.

Yangilash va qaytarishni yozing

Qaytarish ikki oila o'rtasida keskin farq qiladi va bu farq loyiha yozuviga tegishli, insident qo'ng'irog'iga emas. Fayldagi kalitni shifrlab zaxiralash va tiklash mumkin, shuning uchun muvaffaqiyatsiz migratsiya qaytariladi. Eksport qilinmaydigan kalitni umuman zaxiralash mumkin emas, bu qurilma o'lganda qayta chiqarish va qayta ro'yxatdan o'tishni yagona tiklash yo'liga aylantiradi.

Muddat tugashini uzilishga aylanishidan oldin tekshiring: openssl x509 -in vpn.crt -noout -checkend 2592000 sertifikat o'ttiz kun ichida tugaganda nolga teng bo'lmagan kod bilan chiqadi, shuning uchun monitoring tekshiruviga to'g'ridan-to'g'ri kiradi. Bu satrni haftalik ishga tushirish hech kim rejalashtirmagan yangilanishni ushlaydi.

O'chirish serverda bo'ladi: sherikni o'chiring yoki seriya raqamini bekor qiling, keyin tunnel muvaffaqiyatsizligini tasdiqlang, chunki keshlangan sessiyasi bor mijoz yarim bajarilgan bekor qilishni bir muddat yashirishi mumkin. Bekor qilish faqat CA ma'lumotlar bazasiga emas, kontsentratorning CRL yoki OCSP yo'liga ham yetishi kerak. Sertifikat ommaviy hujjat va RFC 5280 profili uning qanday tekshirilishini qamrab oladi; bu tekshiruvning hech bir qismi rotatsiyadan oldin nusxalangan shaxsiy kalitni himoya qilmaydi.

Qarorni bir joyga yozing: qaysi ombor kalitni saqlaydi, qaysi jarayon undan foydalana oladi, kim uni qayta chiqara oladi va qaytarish nima. Auditorlar so'raydigan paragraf o'sha va xodimlar almashinuvidan omon qoladigan narsa o'sha.

O'xshash maqolalar