MFA so'rovini tugatasiz, tunnel ko'tariladi va terminalni yopish ulanishni ham olib ketadi. Bu nazorat muammosi, autentifikatsiya emas, va OpenConnect'da uni hal qiladigan kalit allaqachon bor. Yechim — mijozning ishga tushishi tugagach, interaktiv qism haqiqatan tugagach, fonga tarmoqlanishiga ruxsat berish. Quyida tekshiruvlar ketma-ketligi: ularni tartib bilan bajaring va darvozangizga mos kelmaydigan birinchisida to'xtang.

Darvozaning kirishda nima talab qilishini tasdiqlang

Buyruq yozishdan oldin joylashtirish talab qiladigan hisob ma'lumotlari yo'lini yozib oling. Faqat sertifikat, parol va token, hamda SAML provayderi orqali brauzer aylanishi turlicha ishlaydi, fon rejimi ularning hech birini o'tkazib yubora olmaydi. Bu parametr ishga tushishdan keyin nima bo'lishini o'zgartiradi, uning davomida emas.

Vasvasa qiluvchi yechim so'rovni avtomatlashtirishdir. Parol so'rovini tanigan paytda qat'iy javob yozadigan qobiq darvoza bir martalik kod so'ragan paytda buziladi va boshqa hisoblar o'qiy oladigan faylda hisob ma'lumotlarini qoldiradi. Agar sessiyani inson tasdiqlashi kerak bo'lsa, insonni jarayonda ushlab turing.

Birinchi sessiyani oldingi planda ishga tushiring va chiqishni o'qing

Bir marta odatdagidek ulanib, butun qo'l berishish chop etilsin. Ishlatilgan protokol, sertifikat yoki token yo'li, server bergan tunnel manzili va ulanish qabul qilinishidan oldingi har bir ogohlantirishni yozib oling. O'sha yozuv sizning tayanch chizig'ingiz va keyin mijoz muammosini darvoza o'zgarishidan ajratishning yagona arzon yo'li. Uni terminal buferidan tashqarida saqlang.

Keyin o'sha chaqiruvni fon rejimi va qo'shilgan PID fayli bilan takrorlang, masalan openconnect --background --pid-file /run/openconnect.pid vpn.example.net, darvozangiz talab qiladigan protokol va autentifikatsiya parametrlarini o'sha satrda saqlab. OpenConnect qo'llanmasi bu parametrni ishga tushish tugagach fonda davom ettirish deb ta'riflaydi va shuning uchun interaktiv bosqich birinchi tugashi kerak.

Ishlayotgan jarayonni topish va to'xtatish mumkin qiling

PID fayli faqat tirik jarayonga mos kelganda dalil bo'ladi. Uni xizmat hisobi egalik qiladigan katalogga qo'ying va signal yuborishdan oldin yozilgan raqamni jarayonlar jadvali bilan solishtiring. Qayta ishga tushirish va halokatlar faylni qoldiradi, eskirgan fayl esa tunnel hali ishlab turganda to'xtatish skripti muvaffaqiyat haqida xabar berishining odatiy sababidir. Tekshiruvni to'xtatish tartibining qismi deb biling, ixtiyoriy qadam emas.

Tasdiqlangan PID'ga signal yuboring, so'ng chiqish holatiga ishonish o'rniga tunnel interfeysi haqiqatan yo'qolganini tasdiqlang. Agar mijoz interfeysni sozlash uchun yuqori huquqlar talab qilsa, signal uni yuborishga ruxsat berilgan hisobdan kelishi kerak.

Fon rejimini nazoratchi ostiga qatlamang

systemd va shunga o'xshash nazoratchilar o'zlari ishga tushirgan jarayonga egalik qilishni kutadilar, shuning uchun uzoqqa tarmoqlanadigan mijoz ularni chalg'itadi. Nazoratchi ishga tushiruvchining chiqishini ko'radi, ammo haqiqiy ulanish davom etadi, shuning uchun qayta ishga tushirish mantiqi, holat hisoboti va to'xtatish muddatlari endi to'g'ri bo'lmagan narsani tasvirlaydi. Birlikni qo'llab-quvvatlanadigan oldingi plan tuzilishida yozing va daemon ishini nazoratchiga qoldiring.

--background odam boshlab keyin ketadigan sessiyalar uchun saqlang. Agar talab kimdir kirishidan oldin mavjud bo'lgan tunnel bo'lsa, yetishmayotgan qism tasdiqlangan interaktiv bo'lmagan shaxs va uni yangilash rejasidir, va hech bir buyruq satri bayrog'i ikkalasini ham bermaydi. Bayroqni yuklash skriptiga qo'shish birinchi muddati o'tgan hisob ma'lumotlarida jimgina muvaffaqiyatsiz bo'ladigan tunnel yaratadi.

Sessiya cookie'sini hisob ma'lumoti deb biling

OpenConnect --authenticate orqali alohida autentifikatsiya bosqichini hujjatlashtiradi va olingan materialni --cookie-on-stdin bilan qaytarish mumkin. Bu juftlik integratsiya ishi uchun, va u ishlab chiqargan narsa uni yaratgan parol kabi nozik.

Qiymatni shell tarixidan, jurnallardan va ochgan har qanday bilettdan uzoqda tuting. Topshirish skripti cookie bilan birga mijoz olgan tasdiqlangan oxirgi nuqta ma'lumotlarini ham saqlashi kerak; agar ularni yo'qotsangiz, keyingi ishga tushirish siz hech qachon tasdiqlamagan xostga ulanib qolishi mumkin, bu esa shunchaki muvaffaqiyatsiz bo'lgan ulanishdan yomonroq.

Terminalni yopishdan oldin ro'yxatni tugating

To'rt narsa to'g'ri bo'lishi kerak: interaktiv kirish oldingi planda tugadi, PID fayli siz tasdiqlagan jarayonni ko'rsatadi, nazoratchi masalasi bir tomonga hal qilindi va cookie'ning oddiy matn fayli bo'lmagan saqlash rejasi bor. To'rttasi ham to'g'ri bo'lsa, terminaldan uzoqlashish xavfsiz va tunnel ishlashda davom etadi.

Agar ulardan biri muvaffaqiyatsiz bo'lsa, boshqalarga tegishdan oldin o'sha bandni tuzating, chunki qolgan tekshiruvlar uni qoplamaydi. Birinchi ishga tushirishning oldingi plan yozuvini ham saqlang: keyingi safar tunnel ogohlantirishsiz yiqilganda, o'sha tayanch chiziq darvoza tomonidagi o'zgarishni mijoz tomonidagidan ajratadi.

O'xshash maqolalar