VPN tugmasi sudo talab qiladi: qoidani cheklang, siyosatni tekshiring
Ish stolidagi tugma parolsiz root berishga sabab emas. Tarmoq menejeri buni o‘zi qila oladimi, tekshiring, bitta buyruqni cheklang, so‘ng butun sudo siyosatini tekshiring.
VPN tugmasi administrator uchun ishlaydi, qolgan hamma uchun ishlamaydi, shuning uchun kimdir sudoers fayliga satr qo‘shadi. O‘sha satr odatda hal qilish uchun mo‘ljallangan muammodan uzoqroq yashaydi va ko‘pincha tugmaga kerak bo‘lganidan ko‘proq huquq beradi. Siyosatni tahrirlashdan oldin qo‘llab-quvvatlanadigan ulanish egasi bu ishni allaqachon qila oladimi, tekshiring. Quyidagi uchta shart sudo umuman ishtirok etadimi-yo‘qmi, shuni hal qiladi.
1-shart: qo‘llab-quvvatlanadigan ega buni sudo'siz qila oladi
Ko‘pchilik Linux ish stollarida tarmoq menejeri VPN ulanishlariga allaqachon ega va uning avtorizatsiyasi sudo emas, polkit orqali o‘tadi. Ulanishni ko‘tarishga ruxsat berilgan foydalanuvchi buni hech qanday root qoidasisiz buyruq satridan qila oladi. Tugmaga imtiyoz kerak deb o‘ylashdan oldin menejer nimaga ruxsat berishini tekshiring. Agar javob ha bo‘lsa, sudoers o‘zgarishi mavjud bo‘lmagan muammoni hal qilmoqda.
nmcli connection show
nmcli connection up "Work VPN"
Agar menejer rad etsa, sababini o‘qing: yo‘q polkit qoidasi, boshqa foydalanuvchiga tegishli ulanish yoki foydalanuvchi o‘qiy olmaydigan joyda saqlangan profil. Ularning har biri uchun sudo qoidasidan torroq qo‘llab-quvvatlanadigan yechim bor. Imtiyozni oshirish oxirgi chora, birinchisi emas.
2-shart: qoida bitta bajariladigan faylni va uning argumentlarini nomlaydi
Agar sudo haqiqatan zarur bo‘lsa, qoida aniq buyruqni va iloji bo‘lsa, u ishlatishi mumkin bo‘lgan argumentlarni nomlashi kerak. Foydalanuvchiga o‘rash skriptini ishga tushirishga ruxsat beruvchi qoida faqat o‘sha skriptning huquqlaridek xavfsiz, chunki foydalanuvchi root nima bajarishini tahrirlashi mumkin. Buyruqdan keyin joker belgisi bo‘lgan qoida xuddi shu muammoning qisqaroq shakli.
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
Buyruq zanjiridagi har bir yo‘lni tekshiring: binar fayl, u chaqiradigan skript, u o‘qiydigan konfiguratsiya fayli va ular orasidagi har qanday papka. Agar ulardan birortasini foydalanuvchi yoza olsa, cheklangan qoida amalda cheksiz root hisoblanadi. Argumentlar ham muhim, chunki konfiguratsiya yo‘lini qabul qiladigan buyruqni foydalanuvchi boshqaradigan faylga yo‘naltirish mumkin. Qoidani tugma uchun emas, operatsiya uchun yozing.
Agar buyruq ishlashi uchun foydalanuvchi boshqaradigan fayl kerak bo‘lsa, to‘xtang. Unda dizayn noto‘g‘ri va hech qanday sudoers sintaksisi uni xavfsiz qila olmaydi.
3-shart: butun siyosat tahlil qilinadi, faqat sizning satringiz emas
Faylni qulflaydigan va sintaksisni tekshiradigan muharrir bilan tekshiring va parcha emas, yig‘ilgan siyosatni tekshiring. O‘zi tahlil qilinadigan fayl ham kiritish tartibini buzishi yoki xatti-harakatni o‘zgartiradigan tarzda qoidani takrorlashi mumkin.visudo qo‘llanmasi qulflovchi muharrirni ham, bu yerda ishlatiladigan faqat-tekshiruv rejimini ham hujjatlashtiradi.
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
Tekshiruv muvaffaqiyatsiz bo‘lsa, fayl va satrni xabar qiladi va aynan o‘sha hisobot foydali qismdir. Ma'lum xatoni kuch bilan saqlash o‘rniga muharrir orqali ko‘zlangan o‘zgarishni tuzating, chunki buzilgan siyosat barcha administratorlarni bir vaqtda qulflab qo‘yishi mumkin. Kiritish papkasidagi fayllarga ham qo‘llanma talab qiladigan egalik va rejim kerak, aks holda ular e'tiborsiz qoldiriladi yoki rad etiladi. Sintaksis faqat birinchi darvoza: undan o‘tgach, qoidani yana o‘qing va u aslida nimaga ruxsat berishini so‘rang.
Agar o‘zgarish ishlashi uchun yagona yo‘l sintaksis tekshiruvini o‘chirish bo‘lsa, to‘xtang. Bu siyosat emas, qayta yuklashni kutayotgan uzilish.
Tiklash: hali ishlayotgan sessiyani saqlab qoling
Saqlashdan oldin vakolatli ma'muriy sessiya allaqachon ochiq ekaniga va mashinaga ikkinchi yo‘l borligiga ishonch hosil qiling. sudoers xatosi uni tuzatish qobiliyatingizni olib qo‘yishi mumkin, ish stolidagi tugma esa bu xavfga arzimaydi. Agar sudo allaqachon buzilgan bo‘lsa, o‘zingiznikini o‘ylab topish o‘rniga tizimning hujjatlashtirilgan tiklash yo‘lidan foydalaning.
sudo -n true
id
pkexec kabi muqobillar o‘z o‘rnatilishi va siyosatiga bog‘liq, shuning uchun ular kafolatlangan ikkinchi root so‘rovi emas. Mahalliy avtorizatsiyani VPN sirrini berishdan ham alohida saqlang: sudo qoidasi mavjud bo‘lmagan sir agentini ocha olmaydi va shlyuzning MFA talabini qondirmaydi. Tuzatishdan keyin oddiy hisobni faqat ko‘zlangan amalni bajarish bilan sinab ko‘ring, so‘ng menejerning odatdagi boshqaruvlaridan foydalaning.
Qaysi shart sudo'ni oqlaganini, qoida nimani nomlashini, butun siyosat tahlil qilinishini va aks holda qanday tiklagan bo‘lardingiz, ayta olganingizda qaror tugaydi. Ma'muriy kirishni yo‘qotishga olib keladigan imtiyozli ishga tushirgich yomon bitim va odatda undan qochish mumkin.