Emrat privatë të VPN nuk funksionojnë? Dyshohet mbrojtja nga rebinding i DNS
Një zgjidhës që refuzon përgjigjet e hapësirës private prish emrat e brendshëm, jo tunelin. Lexo përgjigjen, kufizo përjashtimin, mbaj mbrojtjen diku tjetër.
Në LAN-in e zyrës emri i brendshëm përgjigjet menjëherë. Sapo VPN-ja është aktive ai ndalon së punuari, aplikacioni raporton një afat të skaduar dhe vetë tuneli transporton trafik pa ankesa. Ajo që ndryshoi është zgjidhësi, dhe ky zgjidhës ka një mendim për adresat private.
Mbrojtja nga rebinding ekziston për të ndaluar një mashtrim të caktuar. Një emër privat i publikuar qëllimisht duket mjaft i ngjashëm që mbrojtja të aktivizohet.
Lexo përgjigjen para politikës
Pyet emrin te zgjidhësi që VPN-ja shpërndan në të vërtetë, jo te ai që laptopi yt përdor në shtëpi. Krahaso përgjigjen me rekordin që pret dhe shëno nëse përgjigja është bosh, e refuzuar ose plot me adresa publike që askush nuk i planifikoi.
Simptomat mbivendosen, prandaj forma e përgjigjes vendos diagnozën. NXDOMAIN është një rekord që mungon, REFUSED është një rregull aksesi, një adresë publike për një emër të brendshëm është gabim politike ose split-DNS, dhe një adresë private e saktë që klienti nuk mund ta përdorë është një problem krejt tjetër. Një lidhje e refuzuar ose një kërkesë e bllokuar nuk provon asgjë më vete, prandaj komanda e parë në bileta të tilla duhet të jetë një kërkim dhe jo një rinisje. Shkruaje përgjigjen para se të ndryshosh çfarëdo.
Çfarë ndalon në të vërtetë mbrojtja
Rebinding i DNS funksionon duke ndryshuar atë në çfarë zgjidhet një emër pasi klienti tashmë i është besuar atij. Një faqe ngarkohet nga një emër i kontrolluar nga sulmuesi, përgjigja kthehet në një adresë private dhe shfletuesi mashtrohet të flasë me diçka në rrjetin lokal me të cilën nuk do të kishte pranuar kurrë një lidhje të drejtpërdrejtë. Mbrojtja është të refuzosh përgjigjet që tregojnë në hapësirën private kur zgjidhësi nuk është kërkuar kurrë të shërbejë një hapësirë emrash private. Ajo asimetri është i gjithë sulmi.
dnsmasq dokumenton saktësisht këtë sjellje, bashkë me përjashtime për domen. Në manualin e vet e përshkruan rebind-domain-ok si mënyrën për të emërtuar domenet që mund të kthejnë ligjërisht adresa të tilla. Lexoje këtë si sinjal që rregullimi i synuar është një leje e kufizuar, jo një çelës global.
Kufizo përjashtimin te hapësira e emrave
Rregullo fillimisht hapësirën e emrave, pastaj përjashtimin. Konfirmo që emri që dështon i përket një domeni që organizata kontrollon dhe që rekordi mbahet qëllimisht. Një adresë e papritur që vetëm i ngjan një intervali të njohur LAN meriton dyshim, jo përjashtim, prandaj kontrollo pronarin e zonës përpara se të shkruash çfarëdo leje.
# 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
Pastaj shto lejen më të ngushtë që mbulon emrat e synuar: një domen, ose një nëndomen i deleguar, në konfigurimin e zgjidhësit që pyesin klientët e VPN. Fikja e mbrojtjes për çdo emër në atë zgjidhës heq mbrojtjen për të gjithë njëherësh, përfshirë emrat që nuk iu desh kurrë.
Split DNS bën pjesë në të njëjtin vendim. Nëse hapësira e emrave private duhet të përgjigjet vetëm në zgjidhësin e brendshëm, publikoje atje dhe ndalo rrjedhjen e saj te zgjidhësit publikë, që përjashtimi të mbulojë një rrugë në vend të çdo rruge.
Ritesto burimin dhe mbrojtjen
Pyet përsëri, pastaj lidhu me shërbimin dhe kontrollo çfarë sheh klienti. Një përgjigje private e saktë me një sesion funksional do të thotë që përjashtimi hyri në fuqi. Një përgjigje e saktë me një sesion të bllokuar do të thotë që i dyshuari i radhës është rruga ose identiteti i shërbimit.
# 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
Testo gjithashtu një emër publik përmes të njëjtit zgjidhës. Mbrojtja duhet të vazhdojë të sillet saktë për emrat jashtë përjashtimit, dhe nëse ai test dështon ndryshimi ishte më i gjerë se sa synohej. Mos e prek validimin e certifikatave gjatë gjithë kohës, sepse një emër që zgjidhet saktë duhet gjithsesi të përputhet me certifikatën që paraqet shërbimi.
Shkruaj në biletë përgjigjen e refuzuar, domenin, zgjidhësin dhe kush e zotëron politikën. Është pikërisht ai rekord që e kthen një ndërprerje të brendshme misterioze në një ndryshim konfigurimi që dikush mund ta shqyrtojë.