Nega haqiqiy bir martalik kod ham VPN kirishida muvaffaqiyatsiz bo'ladi
Rad etilgan kod odatda so'rov tartibi, ro'yxatdan o'tish yoki vaqt muammosi, noto'g'ri kod emas. Biror narsani qayta ro'yxatdan o'tkazishdan oldin bularni tartib bilan tekshiring.
Siz VPN mijozini ochasiz, parolni yozasiz va autentifikatoringizdan kelgan olti raqam yaroqsiz deb qaytadi — ikki marta, keyin uchinchi marta. Hisobda kechadan beri hech narsa o'zgarmagan, shuning uchun birinchi tuyg'u autentifikatordagi yozuvni o'chirib, qayta skanerlash — odatda bu noto'g'ri tuzatish. Bir martalik kod ikkinchi parol emas: shlyuz uni ma'lum bir qadamda, ma'lum bir ro'yxatdan o'tgan yozuvdan, ma'lum bir oyna ichida so'rashi kerak va rad etishlarning ko'pchiligi raqamlar solishtirilishidan oldin sodir bo'ladi. Ro'yxatdan o'tishga tegishdan oldin qaysi qadamda ekaningizni aniqlang.
So'rovlar tartibi qaysi oqimda ekaningizni ko'rsatadi
Kod bilan bog'liq deyarli har qanday VPN kirishi uch shakldan biriga kiradi. Ikki qadamli shaklda mijoz parolni yuboradi, server chaqiruv chiqaradi va mijoz yana so'raydi. Birlashgan shaklda shlyuz parol va kodni bitta yuborishda xohlaydi — ba'zan biriktirilgan, ba'zan faqat operator hujjatlashtiradigan ajratgichdan keyin. Brauzer shaklida mijozda hech qanday maydon yo'q: kod veb-sahifaga kiritiladi yoki push tasdiqlash uni almashtiradi, ish stoli mijozi esa natijani kutadi.
Noto'g'ri shakl yomon kod kabi ko'rinadi. Yangi kodni faqat parol uchun mo'ljallangan maydonga qo'ying, server uni parolning bir qismi sifatida o'qiydi. Mijoz tomonida OpenVPN 2.4 va undan keyingi versiyalar farqni ko'rinadigan qiladi: AUTH_FAILED,CRV1: bilan javob beradigan server chaqiruvga javob kutadi, shuning uchun profilga static-challenge yoki SCRV1: shaklidagi parol fayli kerak. Faqat auth-user-pass bo'lgan eski profil parolni tasdiqlaydi va keyin to'xtaydi, bu jurnalda OTP xatosi kabi ko'rinadi, garchi hech qanday kod yuborilmagan bo'lsa ham.
WireGuardni istisno sifatida qayd etish o'rinli: u odamlarni emas, kalit juftlarini autentifikatsiya qiladi, shuning uchun kod uchun maydon yo'q. Agar provayder shundayini reklama qilsa, uni tunnel tashqarisidagi narsa qabul qiladi.
Server olti raqam bilan nima qiladi
Vaqtga asoslangan kodlar RFC 6238 ga amal qiladi, u RFC 4226 dagi eski hisoblagichga asoslangan tuzilmani o'raydi: harakatlanuvchi omil ustida HMAC, sukut bo'yicha olti raqamgacha qisqartiriladi. TOTP da harakatlanuvchi omil joriy Unix vaqtining qadamga bo'linishi, operator o'zgartirmagan bo'lsa 30 soniya. Tekshiruvchi sizning raqamlaringizni saqlangan qiymat bilan hech qachon solishtirmaydi; u umumiy urug'dan kutilgan kodni qayta hisoblaydi va odatda qo'shni qadamlarni ham qabul qiladi, shuning uchun sekin aylanish kirishni muvaffaqiyatsiz qilmaydi.
Ikki natija e'tibordan chetda qoladi. Telefonning vaqt mintaqasi ahamiyatsiz, chunki urug' hech qachon mahalliy soatni ko'rmaydi — faqat haqiqiy UTC dan og'ish muhim, va ikki daqiqa oldinda ketayotgan qurilma toza teskari sanashni ko'rsatib turib, har bir kodda muvaffaqiyatsiz bo'ladi. Kod esa dizayni bo'yicha bir martalik: tekshiruvchi o'sha urug' uchun oxirgi qabul qilgan hisoblagich qiymatini eslab qoladi, shuning uchun bir xil raqamlar qayta yuborilsa, o'sha oyna ichida ham rad etiladi. Muddati tugagandan keyin qayta urinadigan mijoz hozir yuborgan kodini yoqib yuborishi mumkin.
Hisoblagichga asoslangan tokenlar har bosishda hisoblagichni siljitadi, shuning uchun kodlar yaratilib, hech qachon yuborilmasa sinxronizatsiyadan chiqadi; odatiy tuzatish — oldinga bir necha qiymatni qabul qiladigan qayta sinxronlash oynasi. Agar operator HOTP ro'yxatdan o'tkazgan bo'lsa, ilovangiz esa TOTP ko'rsatsa, har bir qiymat soat muammosiga o'xshab qoladigan tarzda noto'g'ri. QR kod orqasidagi ta'minot URI turini, raqamlarni, davrni va xeshni nomlaydi.
Noto'g'ri kodga o'xshaydigan muvaffaqiyatsizliklar
Eng ko'p uchraydigan aybdor — ro'yxatdan o'tgan yozuv. Autentifikator ilovalari yozuvlarni chiqaruvchi va hisob bo'yicha belgilaydi, shuning uchun bitta VPN da ikki shaxsga ega bo'lgan odamda yorliqlari bir belgi bilan farq qiladigan ikki yozuv bo'lishi mumkin. Kod uni yaratgan urug' uchun haqiqiy, boshqa hech narsa uchun emas. Telefondagi yorliqni server qayd etadigan foydalanuvchi nomi bilan solishtiring, o'zingiz yozgan deb eslayotganingiz bilan emas.
Ikkinchisi — mos kelmaydigan parametrlar to'plami. Sakkiz raqam, 60 soniyalik davr yoki SHA-256 bilan ro'yxatdan o'tgan urug' olti raqam, 30 soniya va SHA-1 kutayotgan tekshiruvchi rad etadigan kodlar beradi, mijozda esa buni noto'g'ri koddan ajratib bo'lmaydi. Bu QR kod fotosuratidan yozuv qayta qo'shilgan yoki token yozuvi sukut qiymatlari bilan qayta qurilgan ko'chirishlardan keyin paydo bo'ladi.
Uchinchisi kod haqida emas. Shlyuzlar odatda noto'g'ri parol, muddati o'tgan kod va o'chirilgan hisob uchun bitta umumiy autentifikatsiya xatosini qaytaradi, ataylab, hech kim qaysi omil muvaffaqiyatsiz bo'lganini aniqlay olmasligi uchun. Mijoz banneri o'rniga shlyuz yoki RADIUS jurnalini o'qing: hech qachon chiqarilmagan chaqiruv, OTP atributisiz kirishni rad etish va siyosat bo'yicha rad etish ekranda bir xil ko'rinadi va turli keyingi qadamlarga olib boradi.
Buni toraytiradigan qisqa ketma-ketlik
Eng arzon tekshiruvdan boshlang va turmaydigan birinchi qadamda to'xtang.
- Yangi kodni kuting, uni bir marta yuboring va chaqiruv parol qabul qilinishidan oldin yoki keyin paydo bo'lishini qayd eting.
- Autentifikatordagi yorliqni server saqlaydigan foydalanuvchi nomi bilan moslashtiring.
- Profil chaqiruvga umuman javob bera olishini tasdiqlang, yuqoridagi
CRV1holatidagidek. - Qurilma soatini ma'lum vaqt manbai bilan solishtiring; bir necha o'nlab soniyadan ortiq og'ish TOTP ni o'zi buzadi.
- Tokennning TOTP yoki HOTP ekanini va qaysi raqamlar, davr hamda xesh ro'yxatdan o'tganini operatorga so'rang.
Ikki qoida buning yomonlashishiga yo'l qo'ymaydi. Ko'p marta qayta urinmang: ko'p shlyuzlar muvaffaqiyatsizliklarni hisob bo'yicha sanaydi va uni yo qulflaydi yoki javoblarni kechiktira boshlaydi, shuning uchun portlash kichik konfiguratsiya xatosini qo'llab-quvvatlash chiptasiga aylantiradi. Va tokenni diagnostika sifatida qayta ro'yxatdan o'tkazmang, chunki bu eski urug'ni bekor qiladi; agar haqiqiy nuqson mijoz hech qachon yubormagan chaqiruv bo'lsa, endi bitta emas, ikkita o'zgarishni tushuntirishingiz kerak.
Urug' va tiklash kodlarini aylanadan tashqarida saqlang
Olti raqam va ularning orqasidagi sir bir-birining o'rnini bosmaydi. Ta'minot QR kodi yoki Base32 urug'i hisobning har bir kelajak kodini yaratadi, shuning uchun u parol bilan bir toifaga kiradi: ekran suratida emas, chipta izohida emas, va birinchi bo'lib siz bilan bog'langan odam bilan chatda ham emas. Tiklash kodlari — alohida mexanizm: bir martalik, ko'pincha kod so'rovini butunlay chetlab o'tadi, va hisobni sinash uchun bittasini sarflash keyinroq kerak bo'lishi mumkin bo'lgan zaxira yo'lni olib tashlaydi.
Kod kirish sahifasini ishonchli ham qilmaydi: o'xshash domendagi OTP so'rovi haqiqiy kodni yig'ib, uni o'sha oyna ichida qayta o'ynatadi, va qayerda yozayotganingizni hali ham sertifikat aytadi.
Agar ketma-ketlik chaqiruvga javob bera olmaydigan profilga yetib borsa, profilni tuzatib, bitta yangi kod bilan qayta sinab ko'ring. Agar u mos kelmaydigan ro'yxatdan o'tish parametrlariga yetib borsa, kimdir biror narsani skanerlashidan oldin operator token yozuvini o'qishini so'rang. Agar u qulflashga yetib borsa, mijozlarni almashtirish o'rniga tugashini kuting — to'siq hisob holati, ilova emas.