Profilni ish stoli mijozi muhitiga import qiling va birinchi xato ko'pincha mijoz rioya qilishdan bosh tortadigan satr bo'ladi: u ishga tushirmaydigan skript ilgagi yoki juda ruxsat beruvchi deb hisoblaydigan script-security qiymati. Raqamni ko'tarish muloqot oynasini yo'q qiladi. Lekin u shu profilning mashinangizda nimalarni bajarishiga ruxsatni ham kengaytiradi, bu esa faqat ogohlantirishni yopish uchun berish g'alati. Importni direktivgacha kuzatib boring va qaror konkret bo'ladi.

Import muloqot oynasidan direktivgacha

Profil direktivlar bilan matnli fayl va mijoz ularni hech qanday tunnel paydo bo'lishidan oldin o'qiydi. up, down yoki tls-verify kabi direktiv OpenVPN ma'lum bir paytda ishga tushirishi kerak bo'lgan tashqi dasturni nomlaydi. OpenVPN uni ishga tushirishga tayyormi yoki yo'qmi — script-security deb nomlangan alohida sozlama va profil odatda uni ham belgilaydi.

Shuning uchun ogohlantirish kriptografiya yoki sertifikatlar haqida emas. U konfiguratsiya fayli mijozdan xostda biror narsani bajarishni so'rashi va mijozning joriy ruxsat darajasi bu so'rovga yo'l qo'yishini tekshirishi haqida.

Bu bosqichda ikki xil nosozlik bir xil ko'rinadi. Mijoz bermaydigan darajani so'ragan profil rad etishni keltirib chiqaradi. Mijoz beradigan darajani so'ragan, ammo skript yo'q profil esa buning o'rniga bajarish paytida nosozlik keltirib chiqaradi va ikkalasi qo'llab-quvvatlash mavzularida aralashtiriladi. Biri ruxsat masalasi, ikkinchisi qadoqlash masalasi.

Har bir daraja aslida nima ochadi

0-daraja tashqi dastur chaqiruvlarini butunlay taqiqlaydi, bu interfeysini yordamsiz o'zi sozlaydigan mijoz uchun izchil va operatsion tizimga murojaat qiladigan mijoz uchun izchil emas. 1-daraja, standart, interfeys va marshrut sozlash uchun kerak bo'ladigan ichki bajariluvchi fayllarga ruxsat beradi. Ikkala daraja ham foydalanuvchi taqdim etgan hech narsani ishga tushirmaydi.

LevelWhat OpenVPN may executeWhat it exposes
0No external programs at allInterface and route setup must not depend on helpers
1 (default)Built-in helpers such as ip, ifconfig, route or netshPrivileged commands the platform already ships
2Built-in helpers plus user-defined scriptsWhatever the named script does with the client's privileges
3Everything above, plus passwords in environment variablesCredentials visible to child processes and their logs

2-daraja qiziqarli chegara, chunki u foydalanuvchi belgilagan skriptlarni qabul qiladi. Shu paytdan boshlab mijozning imtiyozlari siz hech qachon o'qimagan bo'lishingiz mumkin bo'lgan kodga tatbiq etiladi, siz tanlamagan paytlarda chaqiriladi, ulanish tafsilotlarini o'z ichiga olgan muhitda ishlaydi. 3-daraja yanada ilgarilab, parollarni muhit o'zgaruvchilari orqali uzatishga ruxsat beradi, shuning uchun qo'llanma uni potentsial xavfli deb ta'riflaydi.

Bu raqamlarning hech biri kuch sozlamasi emas. 3-darajadagi profil 1-darajalikdan yaxshiroq shifrlashga ega emas; u shunchaki kattaroq bajarish yuzasiga ega va tunnel bir xil.

Profil nimaga loyiqligini hal qiling

Skript qaysi darajaga muhtojligini so'rashdan oldin u nima uchun kerakligini so'rang. DNS sozlamalarini itarib yuboradigan yoki ulanishdan keyin marshrutni tuzatadigan ilgak biror narsani ishga tushirish uchun qonuniy sabab. Vaqtinchalik papkada notanish binar faylni chaqiradigan ilgak to'xtash uchun sabab.

Skript yo'li skriptning o'zi kabi muhim. Nisbiy yo'l mijoz ishlatadigan papkaga nisbatan hal qilinadi va yozish mumkin bo'lgan papka bir martalik importni doimiy bajarish joyiga aylantiradi. Foydalanuvchi o'zgartira olmaydigan papkadagi mutlaq yo'llar afzal ko'riladigan shakl.

Skriptlar mijoz muhitini ham meros oladi, u yerda hisob ma'lumotlari va ulanish metama'lumotlari yashaydi. Aynan shu meros 3-darajani o'z muhitini jurnalga yozadigan skript bilan birga xavfli qiladi va shuning uchun skriptlar yoqilgan mijozning diagnostik nusxasi chiptaga yopishtirilishidan oldin ikkinchi qarashga loyiq. Bo'lishishdan oldin muhitni tozalang.

grep -nE 'script-security|^up |^down |tls-verify' client.ovpn

Bir narsani o'zgartiring, keyin yechilishni ham kuzating

Agar profilga skript chindan ham kerak bo'lsa, faqat darajani va faqat shu profil uchun o'zgartiring. Mijozni oldingi planda batafsil chiqish bilan ishga tushiring, shunda skriptning o'z xatolari ko'rinadi, xizmat menejeri ularni yutib yubormaydi.

openvpn --config client.ovpn --script-security 2 --verb 3
ip route show default

Faqat ulanishni emas, butun hayot tsiklini sinang. Muvaffaqiyatsiz o'chirish ilgagi marshrutlarni o'lik tunnelga qaratib qoldiradi, bu esa ulangan ko'rinadigan, ammo hech qayerga yetmaydigan mashina yaratadi. O'zgarishni tugallangan deb e'lon qilishdan oldin bir marta qayta ulanib, bir marta uzib qo'ying va har biridan keyin marshrutlash jadvalini tekshiring.

Asl profilning nusxasini saqlang. Agar platforma mijozi bir xil skript modelini joriy qilmasa, import muvaffaqiyatli bo'lgunga qadar direktivlarni o'chirish tunnelga kerak bo'lgan DNS yoki marshrut integratsiyasini olib tashlashi mumkin va natijada olingan ulanish mukammal autentifikatsiyadan o'tadi, ammo hech narsani hal qilmaydi.

Yozib qo'yiladigan qaror tor: qaysi skript, qaysi yo'lda, qaysi darajada ruxsat berilgan, qaysi profil uchun. Profildagi qolgan hamma narsa o'zgarmaydi va bu sharhlovchi tekshira oladigan jumla.

O'xshash maqolalar