Ubuntu yangilangandan so‘ng OpenVPN nega ulanishni to‘xtatdi?
Ubuntu 22.04 va 22.10 OpenSSL siyosatini, standart shifr kelishuvini va paket standartlarini o‘zgartirdi. Profilni tahrirlashdan oldin muvaffaqiyatsiz bosqichni o‘qing.
O‘tgan hafta ishlagan VPN profillari Ubuntu nashri yangilangandan so‘ng buziladi, jurnal esa yangilanishni kamdan-kam eslatadi. U nomlaydigan narsa — muvaffaqiyatsiz bo‘lgan qatlam: TLS qo‘l siqish, ma’lumot kanali uchun kelishilgan shifr, o‘rnatilgan paket yoki dastur ishga tushganda yuklaydigan OpenSSL nusxasi. Har bir qatlamning o‘z xato shakli va o‘z tuzatishi bor, shuning uchun tasniflash birinchi ish, tahrirlash esa ikkinchi ish. Jurnal uni nomlamaguncha profilni begunoh deb hisoblang.
Qaysi qatlam muvaffaqiyatsiz bo‘ldi: qo‘l siqish, shifr, paket yoki kutubxona
Profilga tegishdan oldin mijoz jurnalini o‘qing. Chiqishdagi eng erta xato qatlamni aniqlaydi; undan keyin chop etilganlarning barchasi odatda o‘sha birinchi muvaffaqiyatsizlikning natijasi. Mijoz umuman ishga tushmasa, VPN jurnali ochish uchun noto‘g‘ri fayldir.
Sertifikatlar va imzolar haqidagi shikoyatlar yoki kalit uzunligi haqidagi xabar boshqaruv kanalidan va uni tartibga soluvchi kutubxona siyosatidan keladi. Ammo DEPRECATED OPTION bilan boshlanadigan ogohlantirish ma’lumot kanali kelishuviga tegishli.
Bunday satr Unrecognized option uchinchi toifa: yangi dastur eskisi toqat qilgan direktivani endi qabul qilmaydi, shuning uchun kutubxonani yumshatish emas, profilni qayta yozish kerak. Paket nosozliklari yana boshqacha ko‘rinadi, chunki ular biron tunnel kodi ishlashidan oldin sodir bo‘ladi. Yo‘q dastur, yuklanmaydigan plagin yoki noto‘g‘ri kod nomiga ishora qiluvchi ombor — barchasi shu shaklni beradi. To‘rt belgi, qarash uchun to‘rt joy va tuzatishlar o‘rtasida deyarli hech qanday kesishuv yo‘q.
Qo‘l siqish muvaffaqiyatsiz bo‘lsa, TLS siyosati sertifikatni rad etadi
Ubuntu 22.04 tizimni OpenSSL 3 ga o‘tkazdi va bu tarmoqdagi standart xavfsizlik darajasi sertifikat imzolari va kalit o‘lchamlariga 20.04 dagidan qat’iyroq qaraydi. Eski hazm bilan imzolangan CA sertifikati yoki joriy chegaradan past kalit endi qo‘l siqish paytida muvaffaqiyatsiz bo‘ladi. Hali hech narsa autentifikatsiya qilinmaganligi uchun xato noto‘g‘ri parol yoki o‘lik server kabi o‘qiladi.
Tor tuzatish shifr satrini faqat shu ulanishga bog‘laydi. Ish stoli muharririda profilni oching, kengaytirilgan sozlamalarga o‘ting va DEFAULT:@SECLEVEL=0 ni TLS shifr maydoniga qo‘ying. NetworkManager kalit fayli [vpn] ostida xuddi shu qiymatni oladi:
[vpn]
tls-cipher=DEFAULT:@SECLEVEL=0NetworkManager ni qayta ishga tushiring va qayta ulanib ko‘ring, chunki demon tahlil qilingan profillarni keshlaydi va aks holda o‘zida bor nusxani ishlatishda davom etadi. Satrni saqlashdan oldin nima qilishini biling: bu sozlama shifr nomi emas, bir necha sertifikat va kalit parametrlari bo‘yicha chegara, shuning uchun uni pasaytirish bitta profil qabul qiladigan doiirani kengaytiradi. Qaysi server buni talab qilganini yozib qo‘ying va operator joriy materialni qayta chiqargach sozlamadan voz keching. Ammo /etc/ssl/openssl.cnf ni o‘zgartirish o‘sha faylni o‘qiydigan har bir dastur uchun bir xil chegaraga yetadi, bu esa VPN dan ancha uzoq.
OpenVPN 2.6 shifrning kelishuv uchun ro‘yxatga olinishini talab qiladi
Ubuntu 22.10 OpenVPN 2.6 ni olib keldi va o‘sha nashrda --cipher ma’lumot kanalini o‘zi tanlashni to‘xtatadi. Shifr kelishilgan data-ciphers ro‘yxatida ham bo‘lishi kerak, aks holda mijoz eskirganlik haqida ogohlantirish chiqaradi va keyin tunnelni ko‘tara olmaydi.
O‘sha davrning NetworkManager plagini hali ham faqat eski direktivani yozardi. Bu tafsilot tashxisni bo‘ladi, chunki qo‘lda tuzatilgan profil qobiqdan ulanib, ish stoli ilovasidan baribir muvaffaqiyatsiz bo‘lishi mumkin. Ro‘yxatni ulanish fayliga [vpn] ostida qo‘shing:
data-ciphers=AES-256-CBCServer e’lon qilgan qiymatdan foydalaning, eslab qolganingizdan emas; AES-256-GCM taklif qiluvchi server faqat CBC ni nomlaydigan mijoz ro‘yxati bilan kelishmaydi. Menejerni qayta ishga tushiring va qayta ulanib ko‘ring, so‘ng qobiqdan urinishni takrorlang va shifrni kelishuv hamda zaxira uchun aniq ko‘rsating:
sudo openvpn --config client.ovpn --data-ciphers AES-256-CBC --data-ciphers-fallback AES-256-CBCAgar o‘sha buyruq tunnelni ko‘tarsa, server, sertifikatlar va hisob ma’lumotlari butun, qolgan yagona nuqson — menejerning saqlangan parametri. keysize direktivasi haqidagi ogohlantirish ham xuddi shu tozalashga tegishli: uni izohga aylantiring va asl faylni profil yonida saqlang.
Paket va plagin nuqsonlari VPN nuqsonlariga o‘xshaydi
Yangilanishdan keyingi har bir nosozlik kriptografik emas. Nashr ishlatmaydigan kod nomi ostida qo‘shilgan OpenVPN ombori hech qachon o‘rnatilmaydigan paket beradi, shuning uchun lsb_release -a nima xabar berishini qo‘shgan ro‘yxat faylingiz bilan solishtiring. Yo‘q universe komponenti yoki xavfsizlik cho‘ntagi umuman topilmaydigan paket beradi. Ikkala holatda ham profil tegilmagan, tunnel esa imkonsiz qoladi.
VPN jurnalidan oldin paket menejerining xatosini o‘qing. Mijoz hech qachon o‘rnatilmagan bo‘lsa, qancha profil tahrirlansa ham qo‘l siqish bo‘lmaydi.
So‘rashni to‘xtatgan ikki faktorli profillar — o‘sha hikoyaning plagin versiyasi. Sinov autentifikatsiya plaginidan keladi va uni olib tashlagan yoki almashtirgan yangilanish profilni butun qoldirib, so‘rov yo‘qoladi. Ulanish ishlashi uchun ikkinchi faktorni o‘chirish o‘rniga qo‘llab-quvvatlanadigan plaginini qayta o‘rnating.
Sotuvchi kutubxonasi siyosat xatosi orqasiga yashirinishi mumkin
Bitta andoza e’tiborga loyiq, chunki u har qanday siyosat tuzatishini yengadi. Apparat sotuvchisining konfiguratsiya vositasi o‘z OpenSSL kutubxonalarini o‘rnatib, ularni yuklovchi qidiruv yo‘lida tizim nusxalaridan oldin qo‘yishi mumkin. Shunda mijoz hech kim yangilamagan kutubxonaga qarshi ishga tushadi va ishga tushish nosozligi rad etilgan sertifikatga aynan o‘xshaydi.
VPN paketini qayta o‘rnatish qaysi kutubxona birinchi topilishini o‘zgartirmaydi va TLS darajasini pasaytirish tizimdan hech qachon kelmagan kutubxonaga yetib bormaydi. Yuklovchidan dastur aslida qaysi kripto obyektlarini hal qilishini so‘rang:
ldd /usr/sbin/openvpn | grep -i -E 'ssl|crypto'Sotuvchi nusxasini olib tashlang yoki qayta yo‘naltiring, so‘ng o‘sha tekshiruvni yana bir marta bajaring. Kutilgan versiya profilga qaytishdan oldin ishlatilayotgan versiya bo‘lishi kerak.
Eski mijozni qulflash vaqt sotib oladi, yechim emas
Oldingi mijoz versiyasini ushlab turish qulflash davom etar ekan tunnelni tiklaydi. U shu paketning xavfsizlik yangilanishlarini ham muzlatadi va keyingi yangilanishga xuddi shu buzilishni rejalashtiradi, shuning uchun buni yechim emas, sanasi bor vaqtinchalik chora deb qarang.
Agar baribir qulflasangiz, nazoratsiz yangilanish qulfni bekor qila olmasligi uchun paketni aniq ushlab turing, sabab va qayta ko‘rib chiqish sanasini yozing va provayderning keyingi profil nashri uchun eslatma qo‘ying. Kuzatishga arziydigan shart — joriy shifrni kelishadigan server profili; u paydo bo‘lgach, qulfning hech qanday asosi qolmaydi. Aksincha, qayd etilmagan qulf yarim yildan keyin hech kim tushuntira olmaydigan uzilishga aylanadi, chunki uni qo‘llagan odam ketgan va fayl hech narsani qayd etmaydi.
Keyingi safar VPN nashr yangilanishidan keyin o‘lsa, beshta savolni tartib bilan bering: qaysi qatlam birinchi xatoni berdi, TLS siyosati sertifikatni rad etdimi, shifr ikki yo‘nalishda ham kelishiladimi, paket va uning plagini haqiqatan o‘rnatildimi, va jarayon qaysi kutubxonani yuklaydi. Beshtasi ham toza qaytgandan keyingina versiyani pasaytirish mantiqiy.