Shaxsiy VPN nomlari ishlamayaptimi? Gumondor — DNS rebinding himoyasi
Shaxsiy makon javoblarini rad etuvchi rezelver ichki nomlarni buzadi, tunnelni emas. Javobni o'qing, istisnoni cheklang, himoyani boshqa joyda saqlang.
Ofis LAN tarmog'ida ichki nom darhol javob beradi. VPN yoqilgan zahoti u ishlashdan to'xtaydi, dastur vaqt tugaganini bildiradi, tunnelning o'zi esa shikoyatsiz trafikni o'tkazmoqda. O'zgargan narsa — rezelver, va bu rezelver shaxsiy manzillar haqida o'z fikriga ega.
Rebinding himoyasi bitta aniq nayrangni to'xtatish uchun mavjud. Ataylab e'lon qilingan shaxsiy nom himoya ishga tushadigan darajada o'xshash ko'rinadi.
Siyosatdan oldin javobni o'qing
Nomni VPN haqiqatan tarqatadigan rezelverdan so'rang, uyda noutbukingiz ishlatadiganidan emas. Javobni kutgan yozuvingiz bilan solishtiring va javob bo'shmi, rad etilganmi yoki hech kim rejalashtirmagan ommaviy manzillarga to'lami — shuni yozib qo'ying.
Alomatlar bir-biriga qatlamlanadi, shuning uchun tashxisni javobning shakli hal qiladi. NXDOMAIN — yo'q yozuv, REFUSED — kirish qoidasi, ichki nom uchun ommaviy manzil — siyosat yoki split-DNS xatosi, mijoz ishlata olmaydigan to'g'ri shaxsiy manzil esa butunlay boshqa muammo. Rad etilgan ulanish yoki tiqilib qolgan so'rov o'z-o'zidan hech narsani isbotlamaydi, shuning uchun bunday chiptalarda birinchi buyruq qayta ishga tushirish emas, qidiruv bo'lishi kerak. Biror narsani o'zgartirishdan oldin javobni yozib qo'ying.
Himoya aslida nimani to'xtatadi
DNS rebinding mijoz nomga allaqachon ishonganidan keyin uning qaysi manzilga yechilishini o'zgartirish orqali ishlaydi. Sahifa hujumchi nazorat qiladigan nomdan yuklanadi, javob shaxsiy manzilga buriladi va brauzer mahalliy tarmoqdagi, u hech qachon to'g'ridan-to'g'ri ulanishni qabul qilmagan narsa bilan gaplashishga aldanadi. Himoya — rezelverdan shaxsiy nomlar makoniga xizmat qilish hech qachon so'ralmagan paytda shaxsiy makonga ishora qiluvchi javoblarni rad etish. Aynan shu assimetriya butun hujumdir.
dnsmasq aynan shu xatti-harakatni har bir domen uchun istisnolar bilan hujjatlashtiradi. O'zining qo'llanmasida rebind-domain-ok ni bunday manzillarni qonuniy qaytarishi mumkin bo'lgan domenlarni nomlash usuli sifatida tavsiflaydi. Buni ko'zda tutilgan tuzatish cheklangan ruxsat, global kalit emas degan ishora sifatida o'qing.
Istisnoni nomlar makoni bilan cheklang
Avval nomlar makonini tuzating, keyin istisnoni. Muvaffaqiyatsiz nom tashkilot nazorat qiladigan domenga tegishli ekanini va yozuv ataylab saqlanayotganini tasdiqlang. Tanish LAN diapazoniga faqat o'xshaydigan kutilmagan manzil istisnoga emas, shubhaga loyiq, shuning uchun biron ruxsat yozishdan oldin zona egasini tekshiring.
# ask the resolver the VPN pushed, and show the full answer
dig +noall +answer db.corp.example @10.40.0.1
dig +short db.corp.example @10.40.0.1
# dnsmasq: what does the running configuration already allow?
grep -R 'rebind' /etc/dnsmasq.d /etc/dnsmasq.conf
So'ng ko'zda tutilgan nomlarni qamrab oluvchi eng tor ruxsatni qo'shing: bitta domen yoki bitta delegatsiya qilingan subdomen, VPN mijozlari so'raydigan rezelver konfiguratsiyasida. O'sha rezelverdagi har bir nom uchun himoyani o'chirish ularning barchasidan bir vaqtda himoyani olib tashlaydi, hech qachon kerak bo'lmagan nomlar ham.
Split DNS ham shu qarorga kiradi. Agar shaxsiy nomlar makoniga faqat ichki rezelver javob berishi kerak bo'lsa, uni o'sha yerda e'lon qiling va ommaviy rezelverlarga oqib ketishini to'xtating, shunda istisna har bir yo'lni emas, bitta yo'lni qamrab oladi.
Resurs va himoyani qayta sinab ko'ring
Yana so'rang, so'ng xizmatga ulanib mijoz nima ko'rayotganini tekshiring. Ishlayotgan sessiya bilan to'g'ri shaxsiy javob istisno kuchga kirganini bildiradi. Tiqilib qolgan sessiya bilan to'g'ri javob keyingi gumondor — marshrut yoki xizmat identifikatori ekanini bildiradi.
# the internal name and the public control should behave differently
dig +short db.corp.example @10.40.0.1
dig +short www.example.com @10.40.0.1
# and the service itself, with the certificate it presents
curl -sS -o /dev/null -w '%{http_code}\n' https://db.corp.example/health
Xuddi shu rezelver orqali ommaviy nomni ham sinab ko'ring. Himoya istisnodan tashqari nomlarda ham to'g'ri ishlashi kerak, agar bu tekshiruv muvaffaqiyatsiz bo'lsa, o'zgarish ko'zda tutilganidan kengroq bo'lgan. Sertifikat tekshiruviga oxirigacha tegmaslik kerak, chunki to'g'ri yechiladigan nom ham xizmat taqdim etadigan sertifikatga mos kelishi shart.
Chiptaga rad etilgan javobni, domenni, rezelverni va siyosat egasini yozib qo'ying. Aynan shu yozuv sirli ichki uzilishni kimdir ko'rib chiqishi mumkin bo'lgan konfiguratsiya o'zgarishiga aylantiradi.