Bitta mijozning kirishini to'xtatib turish va uni butunlay olib tashlash, ulardan birini qaytarishga urinmaguningizcha bir xil ish bo'lib ko'rinadi. Sertifikatni bekor qilish server yakuniy deb hisoblaydigan yozuvni yozadi, va uni qaytarish emitentning ma'lumotlar bazasini qo'lda tahrirlashni bildiradi. Ishlab turgan tunnelni tashlab yuborish ishonchda hech narsani o'zgartirmaydigan boshqaruv buyrug'i. Dastakni kalit hali ham ishonchli ekanini so'rab tanlang, so'rov qanchalik shoshilinch ko'rinishini so'rab emas.

Ishonch: bekor qilingan va to'xtatilgan bir narsa

Pudratchi bir haftaga to'xtatiladi va birinchi javob bekor qilish bo'ladi, chunki bekor qilish nimanidir o'chirishga o'xshaydi. U tartibli ko'rinadi, o'n soniya oladi, va orqaga qaytishning yagona yo'li sifatida ma'lumotlar bazasini tahrirlashni qoldiradi. Bu javob tushunarli va u eshikni yopishdan ko'ra pasportni yoqishga yaqinroq. To'xtatilgan qurilma va fosh bo'lgan kalit har xil muomalani talab qiladi, va ulardan faqat bittasini arzon qaytarish mumkin.

Farq odamda emas, ishonchnomada. To'g'ri qo'lda bo'lgan kalitni hech qanday ishonch yo'qotmasdan to'xtatib, davom ettirish mumkin. Nusxasi olingan bo'lishi mumkin bo'lgan kalitni hech qachon tiklamaslik kerak, chunki tiklash nusxa yo'q deb da'vo qiladi.

Ikkala tizimdan biriga tegishdan oldin javobni yozib qo'ying. Kalit fosh bo'lganmi-yo'qmi ayta olmasangiz, ehtiyotkor javob almashtirishdir.

Ishlab turgan sessiyani boshqaruv interfeysi bilan tashlang

OpenVPN sessiyalarni sanab chiqadigan va ulardan birini umumiy nom bo'yicha o'ldiradigan boshqaruv interfeysini taqdim etadi. Uni localhost da yoqing, ommaviy interfeysdan uzoq tuting, va sessiya hozir yo'qolishi kerak bo'lsa o'ldirish buyrug'ini yuboring. Buyruq faqat o'sha tunnelni yopadi, va qolgan har bir mijoz ishlashda davom etadi.

Bu faol muammoga javob, to'xtatib turish siyosati emas. Xuddi shu profil bir daqiqada qayta ulanadi, chunki uning ishonchnomasida hech narsa o'zgarmagan. Sessiya ketishi kerak, ammo uzoq muddatli qaror hali qabul qilinayotganda foydalaning.

O'ldirishdan oldin sessiya ulanganini tasdiqlang, hech qachon ulanmagan mijozni izlamaslik uchun. Quyidagi holat buyrug'i hozir nima ulanganini chop etadi.

printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506

Agar o'ldirish bunday mijoz yo'qligini xabar qilsa, sertifikatdagi umumiy nom siz tergan satr emas. Profil faylining nomi o'rniga holat chiqishini o'qing.

CRL aslida nimani nazorat qiladi

Server sertifikatda saqlangan bekor qilish bayrog'iga murojaat qilmaydi. U crl-verify da nomlangan sertifikatlarni bekor qilish ro'yxatini har bir yangi ulanishda o'qiydi va seriya raqami o'sha ro'yxatda bo'lgan sertifikatni rad etadi. Bundan ikkita oqibat kelib chiqadi, va ikkisi ham operatsion ahamiyatga ega. Fayl server o'z imtiyozlarini topshiradigan hisob uchun o'qiladigan bo'lishi kerak, va allaqachon ulangan mijoz qayta ulanmaguncha ishlashda davom etadi.

Ikkinchi oqibat hodisalar paytida odamlarni hayratda qoldiradi. Sertifikatni bekor qilish hozir uni ishlatayotgan tunnelni yopmaydi. Agar sessiya darhol tugashi kerak bo'lsa, bekor qilishni boshqaruv o'ldirishi bilan bog'lang, va ikkala amalni qo'llanmada alohida qadam deb hisoblang.

Oxirgi nusxalangan faylning vaqt belgisiga ishonish o'rniga, server aslida nimani talab qilishini ko'rish uchun ro'yxatni ko'zdan kechiring. Muhim qism seriya raqamlari soni.

openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pem

Yozuvsiz ro'yxat va to'g'ri yozuvli ro'yxat katalog ro'yxatida bir xil ko'rinadi, shuning uchun seriya raqamlari sonini chop etish arziydi. Ruxsatlar satri ham shunchalik muhim, chunki demon o'qiy olmaydigan fayl rad etilgan mijozga o'xshash nosozlikni keltirib chiqaradi.

Yozuvni tiklash, ehtiyotkorlik bilan

Sertifikatni tiklash berish ma'lumotlar bazasidagi yozuvni teskari aylantirish va yangi ro'yxat e'lon qilishni bildiradi. easy-rsa 3 o'sha bazani PKI katalogi ostida index.txt sifatida saqlaydi, eski tartiblar esa boshqa usuldan foydalangan. Satr holat harfi va amal qilish muddati bilan boshlanadi. Bekor qilingan satr seriya raqami, sertifikat fayli nomi va farqlovchi nom bilan davom etishdan oldin bekor qilish uchun vaqt belgisini kiritadi. Satrni joyiga qaytarish o'sha vaqt belgisini o'chirish va harfni teskari aylantirish, qolganini tegmasdan qoldirish demakdir.

Avval fayldan zaxira nusxa oling, va tahrirni matn muharririda terish o'rniga skript sifatida bajaring. Satrda qancha maydon borligini o'zgartiruvchi terish xatosi keyin qo'shilgan har bir sertifikat uchun berishni buzadi. Shuning uchun o'zgarishni avtomatlashtirish va faylni tegishdan oldin nusxalash kerak.

Xuddi shu nomning ikkinchi bekor qilinishi ham ko'p hollarda muvaffaqiyatsiz bo'ladi, chunki birinchi ishga tushirish o'sha sertifikat va uning kalitini asbob kutgan kataloglardan tashqariga ko'chirgan. Shunda asbob bekor qilish so'ralgan narsani topa olmaydi, va xato xabari sababini har doim aniq aytmaydi.

cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crl

Yangi ro'yxatni e'lon qiling, uning egaligini tuzating, va serverni uni o'qishga majbur qiling. Ko'p o'rnatishlarda qayta yuklash yetarli, lekin tasdiq yangi ulanishdan kelishi kerak, chunki mavjud sessiya hech narsani qayta tekshirmagan.

Ish qaysi dastakka loyiqligini tekshiring

Butun qo'llanmani hal qiladigan bitta savolni bering: shaxsiy kalit hali ham faqat bo'lishi kerak bo'lgan joydami. Agar shunday bo'lsa, sessiyani o'ldirish va hujjatlashtirilgan tanaffus ishni qoplaydi va doimiy yozuv qoldirmaydi. Agar unday bo'lmasa, yagona xavfsiz javob yangi kalit, eski sertifikat esa bekor qilingan holda qoladi.

So'ngra natijani konfiguratsiya farqi bilan emas, ulanish urinishi bilan tekshiring. Farq siz nima niyat qilganingizni aytadi, ulanish esa server nimani talab qilishini aytadi.

openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506

Tiklangan mijoz ulanib holat chiqishida ko'rinsa, yozuv tahriri ishladi. Bekor qilingan mijoz rad etilib, jurnal CRL ni nomlasa, bekor qilish ishladi. Ular orasidagi har qanday narsa ruxsat yoki qayta yuklash muammosi, va keyingi so'rov kelishidan oldin uni tuzatish arziydi.

O'xshash maqolalar