SSTP mijoz serverni faqat TLS tekshiruvi muvaffaqiyatli bo'lgandan keyin qabul qiladi va bu tekshiruv nom, zanjir va maqsadni taqqoslaydi. Nom ulanish profilidan olinadi, tasodifan ping qila oladigan manzildan emas. Uchtadan biri to'g'ri kelmasa, mijoz sertifikat muammosi haqida xabar beradi va kirish so'roviga hech qachon yetib bormaydi.

Nima tekshirilishini profil nomi belgilaydi

SSTP TLS'ni TCP 443 ustida ishga tushiradi, shuning uchun mijoz har qanday boshqa TLS mijozi kabi harakat qiladi: xost nomini profildan oladi, o'sha nomni so'raydi va sertifikatni u bilan taqqoslaydi. Profilga IP manzil yozsangiz, taqqoslash IP manzillar taqqoslashiga aylanadi, buni ko'pchilik server sertifikatlari qanoatlantirmaydi.

Shuning uchun brauzer sinovi muvaffaqiyatli bo'lishi mumkin, ammo VPN muvaffaqiyatsiz bo'ladi, chunki brauzer profildan boshqa nom ishlatgan. Xuddi shu bo'linish split-horizon DNS VPN xost nomini ichki manzilga hal qilganda, brauzer esa ommaviy manzilga yetganda ham ko'rinadi. Avval profilni hujjatlashtirilgan xost nomiga moslang, keyin sertifikatlarni taqqoslang. Bundan oldin o'zgartirgan boshqa har qanday narsa taxmin.

Server sertifikatida nima bo'lishi kerak

Zamonaviy mijozlar sub'ektning muqobil nomlar kengaytmasi bilan taqqoslaydi, shuning uchun xost nomi u yerda DNS yozuvi sifatida bo'lishi kerak. Faqat umumiy nom bugungi tekshiruv steklari uchun yetarli emas, va joker belgisi bitta yorliqni qamrab oladi, siz o'ylab topgan har qanday subdomenni emas. Uch sertifikat chegarani ko'rsatadi: to'g'ri nom noto'g'ri maqsad bilan shaxsni tasdiqlaydi va keyin maqsad tekshiruvida muvaffaqiyatsiz bo'ladi, to'g'ri nom va maqsad yetishmayotgan oraliq sertifikat bilan zanjirda muvaffaqiyatsiz bo'ladi, va faqat umumiy nomda mavjud bo'lgan nom o'sha ikkisidan birortasi muhim bo'lishidan oldin muvaffaqiyatsiz bo'ladi.

Sertifikatga server autentifikatsiyasi maqsadi ham kerak: Microsoft'ning SSTP spetsifikatsiyasida da tilga olingan kengaytirilgan kalit foydalanish qiymati, ya'ni obyekt identifikatori 1.3.6.1.5.5.7.3.1 bo'lgan serverAuth. Kalit foydalanishi va amaldagi zanjir to'plamni to'ldiradi. Serverda mavjud, to'g'ri nom uchun berilgan, ammo faqat mijoz autentifikatsiyasi uchun bo'lgan sertifikat ham muvaffaqiyatsiz bo'ladi.

Hisobga kirish ma'lumotlaridan oldin zanjir va soatni tekshiring

Vaqt va ishonch nosozliklari nom mos kelmasligi kabi ko'rinadigan natija beradi va ikkalasini ham parol muammosidan arzonroq aniqlash mumkin. Serverning soatini va mijozning soatini tekshirib, so'ng zanjirni mijoz ko'radigan tarzda o'qing:

# from the client, or any host that runs openssl
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -ext subjectAltName
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -verify_return_error </dev/null
# on the Windows server that holds the SSTP listener
w32tm /query /status

Birinchi buyruq nomni, amallik oynasini va mijoz taqqoslaydigan muqobil nomlarni chiqaradi. Ikkinchisi taqdim etilgan zanjir bilan tekshiruv xatolarini xabar qiladi va yetishmayotgan oraliq sertifikat aynan o'sha yerda ko'rinadi. Windows'da vaqt xizmati so'rovi soat tuzatilayotganini yoki shunchaki surilib ketganini aytadi.

Ichki CA yana bir shart qo'shadi: mijoz o'sha CA'ga ishonishi kerak. Tashkilot ildizini uning tasdiqlangan tarqatish kanali orqali o'rnating, almashtirish sertifikatini taklif qiluvchi sahifadan emas, chunki bu qaror butun ishonch modelining kichik ko'rinishidir.

Serverni tekshirish va foydalanuvchini autentifikatsiya qilish turli nosozliklarga ega ketma-ket bosqichlardir. Sertifikat xatosi mijoz serverga hech qachon ishonmaganini bildiradi, rad etilgan parol esa u ishonganini va ma'lumotlar noto'g'ri bo'lganini bildiradi. Parol so'roviga yetish uchun sertifikat tekshiruvini o'chirish kafolatni tuzatish o'rniga olib tashlaydi. Yo'lning qolgan qismi ishlashini isbotlash uchun zanjirga allaqachon ishonadigan mijozdan xuddi shu xost nomi va portni sinab ko'ring va joylashtirilgan profilni tegmasdan qoldiring.

Nom yoki sertifikatni tuzatib, qayta sinab ko'ring

Tuzatishni uch shart belgilaydi. Profil nomi noto'g'ri bo'lsa, profilni tuzating yoki yetishmayotgan nomni sertifikatga qo'shing. Zanjir to'liq bo'lmasa, oraliq sertifikatni serverga o'rnating. Maqsad noto'g'ri bo'lsa, atrofini yamash o'rniga qayta chiqaring.

O'zgartirishdan keyin qo'llab-quvvatlanadigan mijoz bilan qayta ulanib, kirish so'rovi paydo bo'lganini, so'ng tunnel ko'tarilganini tasdiqlang. Chiptada ishlatilgan xost nomi, chiqaruvchi va amal qilish muddati tugash sanasini yozib qo'ying. Aynan shu yozuv keyingi yangilanishni yana bir uzilish emas, rejalashtirilgan ishga aylantiradi va keyingi odamga uch shartdan qaysi biri haqiqatan buzilganini ko'rsatadi.

O'xshash maqolalar