OpenVPN mahalliy mashinada shaxsiy kalit parolini so‘raydi, shuning uchun ishlaydigan kirish fayli unga hech qachon javob bermaydi. Xizmatda yozish uchun terminal yo‘q va ishga tushish yo osilib qoladi, yo sababni emas, kiritmani nomlaydigan jurnal yozuvi bilan muvaffaqiyatsiz bo‘ladi. Bu yerda ikkita sir bor va har biriga unit qayta ishga tushirilishidan oldin o‘zining o‘qiladigan manbasi kerak. Quyidagi yo‘l ularni ajratadi, so‘ngra har bir faylni haqiqatan ochadigan shaxsni tekshiradi.

Ikki so‘rovni farqlang

Kalit paroli mahalliy shaxsiy kalitni shifrdan chiqaradi; hisob ma’lumotlari sessiyani serverga autentifikatsiya qiladi. Ular turli joylardan keladi, turli paytlarda muvaffaqiyatsiz bo‘ladi va turli xabarlar beradi. Ularni aralashtirish odamlarni parolni tiklash izlashga yuboradi, holbuki hisob umuman ishtirok etmagan. Qaysi sir yetishmayotgani haqidagi yagona ishonchli belgi so‘z birikmasi bo‘lgani uchun har qanday parametrni o‘zgartirishdan oldin so‘rov matnini o‘qing.

Community OpenVPN 2.x da askpass kalit parolini birinchi satrida saqlaydigan faylni ko‘rsatadi, auth-user-pass esa bir satrda foydalanuvchi nomi, keyingi satrda parol bo‘lgan faylni ko‘rsatadi. Hech bir fayl boshqa parametrni qondira olmaydi. Ish stoli ilovasi yoki NetworkManager profili ikkalasini o‘zining sir omborida saqlashi mumkin, uni buyruq satri mijozi hech qachon o‘qimaydi, shuning uchun har qanday yo‘lni yozishdan oldin qaysi mijozni sozlayotganingizni qayd eting.

Ikkala parametrni o‘qiladigan fayllarga qarating

Ikkala kiritma kerak bo‘lgan profil oxir-oqibat uchta fayl havolasiga ega bo‘ladi: shifrlangan kalit, uni ochadigan parol va kirish juftligi. Ularni CA va shaxs tekshiruvlariga tegmasdan qo‘shing, chunki ular server kimligini belgilaydi va bu muammoning qismi emas. Agar joylashtirish hisob ma’lumotlarini umuman ishlatmasa, auth-user-pass qo‘shish hech kim bera olmaydigan kiritma yaratadi.

key /etc/openvpn/client/office.key
askpass /etc/openvpn/client/office-key.pass
auth-user-pass /etc/openvpn/client/office-login.auth

Argumenti yo‘q parametrlar yo‘lli parametrlardan boshqacha ishlaydi va xizmatda bu farq muhim. Argumenti yo‘q askpass hali ham konsoldan o‘qiydi, faqat foydalanuvchi nomi bo‘lgan auth-user-pass fayli esa hali ham parol so‘rovini kutishda qoldiradi. Mijoz dæmonga aylangach terminaldan kiritma so‘ray olmaydi, shuning uchun shunday sozlangan xizmat ko‘tarilmaydi.

Mutlaq yo‘llar ish katalogi savolini olib tashlaydi, ammo ruxsat bermaydi. Keyin egalik, rejim va o‘tish keladi va uchtasi ham jarayon ishlayotgan hisobga nisbatan tekshiriladi.

Profildan oldin unit sozlamasini o‘qing

Nusxa qaysi sozlamani yuklashini unit hal qiladi, siz tahrirlayotgan fayl emas. Uning buyruq satrini va barcha drop-inlarni o‘qing, so‘ngra ish katalogi bo‘ylab haqiqatan ishlatiladigan profilga yeting. Boshqa .ovpn fayliga qo‘shilgan parol havolasi bu nusxa uchun hech narsani o‘zgartirmaydi.

Uchta faqat-o‘qish buyrug‘i buning ko‘p qismiga javob beradi. Birinchisi unit va barcha drop-inlarni, ikkinchisi jarayonni bog‘laydigan shaxs va sandbox sozlamalarini, uchinchisi esa oxirgi ishga tushish aslida nimadan shikoyat qilganini chop etadi. Xostda mavjud nusxa nomidan foydalaning:

systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p WorkingDirectory -p ProtectHome
journalctl -u [email protected] -b

ProtectHome va profilning o‘z user, group hamda chroot parametrlariga e’tibor bering. Uy katalogi ostidagi fayl shellingizda o‘qiladigan, uy kataloglari yashirilganda esa xizmat ichida ko‘rinmas bo‘lishi mumkin. systemd ishga tushadigan hisob har doim kalitni oxirida ochadigan hisob emas.

Ishlash vaqtidagi shaxs ikkala faylni ocha olishini isbotlang

Rejimni o‘qish yetarli emas, chunki yo‘ldagi har bir katalog bir xil shaxs uchun o‘tish mumkin bo‘lishi kerak. Yo‘lni komponentma-komponent bosib o‘ting, so‘ngra jarayon ishlatadigan hisob sifatida ochishni sinab ko‘ring. root egaligidagi va 600 rejimli fayl faqat jarayon hali root bo‘lganda ishlaydi, ko‘plab profillar qiladigan imtiyozlarni pasaytirishdan keyin bu to‘g‘ri emas. Ikki buyruq o‘tish va ochishni qamrab oladi:

namei -l /etc/openvpn/client/office-key.pass
sudo -u openvpn test -r /etc/openvpn/client/office-key.pass && echo readable

Birinchi buyruq har bir komponentning rejimini chop etadi va hisob o‘ta olmaydigan joyda muvaffaqiyatsiz bo‘ladi; ikkinchisi yagona muhim savolga javob beradi, ya’ni ishlash vaqtidagi shaxs faylni o‘qish uchun ocha oladimi. Ikkisi ham fayl mazmunini chop etmaydi va fayl parol saqlaganda asosiy gap shunda. Kirish fayli uchun ham sinovni takrorlang, chunki ikkisi ko‘pincha turli egalik bilan saqlanadi.

Agar jarayon chroot yoki cheklangan namespace ishlatsa, o‘sha sinovni o‘sha ko‘rinish ichidan bajaring, aks holda javob noto‘g‘ri fayl tizimini tasvirlaydi. Yashirin uy katalogi ostida saqlangan parol unit tashqarisida o‘tib, ichida muvaffaqiyatsiz bo‘ladigan sinovning odatiy namunasidir.

Birinchi ishga tushishni, so‘ngra qayta ulanishni tekshiring

Nusxani bir marta ishga tushiring va oxirgi emas, birinchi muvaffaqiyatsizlikni o‘qing. Yetishmayotgan kiritma fayli, kalitni shifrdan chiqarishning muvaffaqiyatsizligi va serverdan AUTH_FAILED uch xil hodisa bo‘lib, uch xil tuzatishga ega. Ruxsat haqidagi ogohlantirishni tuzatish kalit ochilganini hech narsa bilan isbotlamaydi.

Jurnal satri uchtadan qaysi biri ekanini aytadi. Tuzatish qaysi kiritma muvaffaqiyatsiz bo‘lganidan kelib chiqadi:

What the journal showsWhich input failedWhere to look
A path that cannot be openedThe file the profile namesAskpass or login path, and the unit's working directory
A key decryption errorThe key passphraseFirst line of the askpass file, and read access for the runtime identity
AUTH_FAILED from the serverThe account credentialsLogin file contents, and whether the account is still valid

So‘ngra sizga haqiqatan kerak bo‘lgan hayot sikli ni sinang: yuklanish paytida ishga tushish va qo‘llab-quvvatlanadigan har qanday qayta ulanish, faqat shellingizdan qo‘lda ishga tushirish emas. auth-nocache bilan kiritmalar birinchi ishlatishdan keyin tashlab yuboriladi, shuning uchun keyingi qayta ulanish hali ham o‘qiladigan manba talab qiladi. Ish stoliga kirishda ochiladigan kalit halqasi birov kirishidan oldin ishga tushgan xizmat uchun mavjud emas va qo‘lda sinov o‘tib, qayta yuklash muvaffaqiyatsiz bo‘lishining odatiy sababi shu. Agar birinchi ishga tushish muvaffaqiyatli bo‘lib, keyingi qayta ulanish muvaffaqiyatsiz bo‘lsa, ruxsatlarni yana o‘zgartirishdan oldin qayta ulanish hodisasi uchun jurnalni o‘qing.

Parolni kalit yonida saqlash shifrlash beradigan foydani kamaytiradi, shuning uchun o‘sha fayl va uning zaxira nusxalarini cheklang. Kalit parolini olib tashlashni yetishmayotgan kiritmani tuzatish emas, alohida hisob ma’lumotlari qarori deb qarang. Inson tasdig‘iga yoki interaktiv MFAga bog‘liq joylashtirish o‘zining qo‘llab-quvvatlanadigan agenti yoki boshqaruv integratsiyasini talab qiladi; doimiy saqlangan bir martalik kod teng muqobil emas.

O'xshash maqolalar