Certbot muvaffaqiyatli yangilanish haqida xabar beradi, diskdagi fayllar yangi sanalarga ega, va mijozlar hali ham eski identifikatorga duch keladi. SoftEther o'zining SSL server sertifikatini o'zining server darajasidagi konfiguratsiyasida saqlaydi, shuning uchun diskdagi yangi fayl barg va uning kaliti import qilinmaguncha hech narsani o'zgartirmaydi. Quyidagi ketma-ketlik bitta qo'lda import, har bir yangilanishdan keyin ishlaydigan o'ram va tinglovchi aslida nimani taqdim etishini o'qiydigan tekshiruvni qamrab oladi. Har bir qadam keyingi yangilanishdan keyin taqqoslashingiz mumkin bo'lgan dalillarni qoldiradi.

Yangilangan fayl serverning identifikatorini o'zgartirmaydi

Berish va joylashtirish alohida nosozlik usullariga ega alohida hodisalardir. ACME mijozi fayllarni nasl katalogiga yozadi va muvaffaqiyatni qayd etadi; SoftEther esa konfiguratsiyasiga oxirgi marta yuklangan sertifikatdan foydalanishda davom etadi. Shuning uchun nol chiqish holati fayllarni tavsiflaydi, xizmatni emas, va hech kim qaramaguncha ikkisi farq qilishi mumkin. Importni joylashtirish qadami, yangilanishni uning kirishi deb biling.

Bu farq chalkash yarim nosozlikni ham tushuntiradi: eski sertifikat muddati tugaguncha ishlaydi, shuning uchun boshida hech narsa buzilgandek ko'rinmaydi. Muddati tugaganda barcha mijozlar bir vaqtda ishlamay qoladi, bu esa o'tkazib yuborilgan joylashtirish qadami emas, uzilish kabi ko'rinadi. Har bir yangilanishdan keyin taqdim etilgan identifikatorni tekshirish o'sha hayratni odatiy kuzatuvga aylantiradi.

Tinglovchiga mos sinovni tanlang

Sertifikat mijozlar tekshiradigan xostni nomlashi kerak, shuning uchun ichki yorliq yoki manzil o'rniga ommaviy DNS nomidan foydalaning. HTTP-01 sinovga 80 portda bir zumda javob berishni talab qiladi, bu vaqtinchalik tinglovchi bo'lib, hech qachon SoftEtherning o'z portini ko'chirish uchun sabab emas. DNS-01 nazoratni yozuv orqali isbotlaydi va kiruvchi HTTPga umuman muhtoj emas.

Nazoratsiz yangilanish bir zonaga cheklangan hisob ma'lumotlari bilan avtomatlashtirilgan DNS integratsiyasini anglatadi, har ikki oyda qo'lda yoziladigan TXT yozuvini emas. Joker belgi sinov turini o'zgartiradi, o'sha avtomatlashtirishga bo'lgan ehtiyojni emas. Buni birinchi sertifikat paydo bo'lishidan oldin hal qiling, chunki sinov turini keyinroq o'zgartirish mijoz konfiguratsiyasi va tarmoq himoyasiga birga tegishni bildiradi.

Shu yerda bo'lganingizda artefaktlarni tartibda saqlang. Barg va oraliq sertifikatlar alohida fayllar va bitta birlashtirilgan zanjir fayli sifatida keladi, shaxsiy kalit yana alohida, import esa o'ziga mos kalit bilan zanjirni talab qiladi, yolg'iz ommaviy sertifikatni emas.

Zanjirni server darajasida import qiling

Sertifikatga tegishdan oldin server konfiguratsiyasining zaxira nusxasini oling va boshqaruv interfeysiga hali ham yetib borishingizni tasdiqlang. Virtual Hub administratori sifatida emas, server administratori sifatida ulaning, chunki sertifikat server obyektiga tegishli. Keyin zanjir va kalitni mutlaq yo'l bilan, buyruqni bajarayotgan hisob o'qiy oladigan fayllardan yuklang. Yo'llar mutlaq ekanini unutmang, chunki buyruq ularni vpncmdni ishga tushirgan jarayonning ish katalogidan hal qiladi:

ServerCertSet /LOADCERT:/etc/letsencrypt/live/vpn.example.com/fullchain.pem /LOADKEY:/etc/letsencrypt/live/vpn.example.com/privkey.pem

Muvaffaqiyatni taxmin qilish o'rniga buyruq chiqishini o'qing, so'ngra bergan faylingizga ishonish o'rniga zanjirni qayta o'qing. Butun PEM to'plamini import qiladigan buildlar va faqat birinchi sertifikatni oladigan buildlar orasidagi chegara bir joyda hujjatlashtirilmagan, shuning uchun oldingizdagi build uchun tekshiruv hal qiladi. Tinglovchi taqdim etadigan sertifikatlarni sanang; oraliqlarsiz barg faqat birinchi blokni sarflagan importerning imzosidir.

Import qilingan kalitni faqat serverni ishga tushiruvchi hisob uchun o'qish mumkin qilib saqlang, boshqaruv parolini shell tarixidan tashqarida saqlang. Bu birinchi importda parolni buyruq argumenti sifatida berish o'rniga so'rovda yozing. Bu ikki odat hech narsaga turmaydi va sertifikat joylashtirishning himoya qilishi kerak bo'lgan narsani oshkor qilishining eng keng tarqalgan yo'lini olib tashlaydi. Buni birinchi importdan oldin qiling, keyin emas.

Joylashtirishni ulang, yangilanishni emas

Qo'lda import ishlagach, aynan o'sha qadamlarni kichik o'ramga soling va muvaffaqiyatli yangilanishdan keyin uni ACME mijozidan chaqiring. Certbot ilgak uchun RENEWED_LINEAGE va RENEWED_DOMAINS ni o'rnatadi, shuning uchun o'ram bir nechta sertifikatni boshqaradigan mashinada bitta sertifikat ustida ishlashi mumkin. Xostdagi har bir yangilanishga munosabat bildirish o'rniga nasl bo'yicha filtrlang. O'ram serverning imtiyozlari bilan ishlaydigan joylashtirish kodi, shuning uchun uni o'sha joydagi har qanday boshqa skript kabi ko'rib chiqing.

certbot renew --deploy-hook /usr/local/sbin/softether-deploy.sh

Nazoratsiz ishlaydigan ilgak o'zining himoyalangan hisob ma'lumotlari omboriga va odamga yetib boradigan nosozlik signaliga muhtoj. Agar berish muvaffaqiyatli bo'lib, import muvaffaqiyatsiz bo'lsa, boshqa sertifikat so'rash o'rniga importni qayta urinib ko'ring, chunki ikkinchi so'rov joylashtirish nuqsonini yangi fayl ortiga yashiradi. Certbotning yangilanish hujjati hech narsani yangilamaydigan ishga tushirish odatiy natija ekanini aniq aytadi, shuning uchun ikkisini ilgak ajratadi.

Taqdim etilgan zanjirni fayl bilan taqqoslang

Diskni emas, tinglovchini o'qing. Mijozlar ishlatadigan server nomi bilan mijozga qaragan portga ulaning, so'ngra barmoq izini va yetkazilgan zanjirni ilgak o'rnatgan nasl bilan taqqoslang. Ikki buyruq buni qamrab oladi, birinchisi oraliq sertifikatlar umuman keladimi-yo'qmi ham ko'rsatadi:

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | grep -c 'BEGIN CERTIFICATE'
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -fingerprint -sha256

Keyin yangi mijoz ulanishini yarating, chunki importdan oldin o'rnatilgan sessiyalar avvalgi identifikatorga qarshi autentifikatsiya qilingan va yangisi haqida hech narsani isbotlamaydi. Agar mijozlar eski bargni pin qilsa, ommaviy zanjir haqiqiy bo'lsa ham ularga muvofiqlashtirilgan yangilanish kerak, va bu ish yangilanish bilan bir xil runbookka tegishli. Xizmat oldidagi teskari proksi yaxshi sertifikat taqdim etishi mumkin, vaholanki VPN tinglovchisi hali eskisini ushlab turadi, shuning uchun tekshiruv mijozlar haqiqatda yetib boradigan portni nomlashi kerak. Barmoq izini yangilanish sanasi yoniga yozib qo'ying, keyingi taqqoslash xotira amali emas, tekshiruv bo'lsin.

O'xshash maqolalar