OpenVPN ning script-security darajalari 0 dan 3 gacha va har biri nima ochadi
Har bir script-security darajasi profil nimalarni bajara olishini kengaytiradi: avval administrator yordamchilari, keyin foydalanuvchi skriptlari, so'ng muhitdagi parollar. Direktivlarni o'qing.
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.
| Level | What OpenVPN may execute | What it exposes |
|---|---|---|
| 0 | No external programs at all | Interface and route setup must not depend on helpers |
| 1 (default) | Built-in helpers such as ip, ifconfig, route or netsh | Privileged commands the platform already ships |
| 2 | Built-in helpers plus user-defined scripts | Whatever the named script does with the client's privileges |
| 3 | Everything above, plus passwords in environment variables | Credentials 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.ovpnBir 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.