VPN DNS i DoH u pregledniku: što test curenja ne može reći
Adresa iz testa curenja pokazuje samo koji je razrješivač odgovorio. Šifrirani upiti, podijeljeni DNS i pravila preglednika odlučuju hoće li se privatna imena uopće razriješiti.
Stranica za test curenja kaže da je DNS u redu, značka u pregledniku kaže da je veza sigurna, a interni wiki se ipak ne otvara. Sve troje može biti istovremeno točno, jer adresa razrješivača nije isto što i pravilo koje ga je odabralo ili put kojim je upit išao. Ono što ljudi zovu curenjem DNS-a zapravo je jedno pitanje: koji je razrješivač primio ime i je li taj odabir bio namjeran? Da se to razluči, potrebne su tri provjere, a samo zadnja uključuje promjenu postavke.
Mit prvi: značka imenuje tvoj razrješivač
Test curenja razrješava probno ime i prijavljuje adresu koja je odgovorila. Ne prijavljuje pravilo koje je odabralo taj razrješivač, a kad je upit zamotan u DNS over HTTPS, posrednički uređaj na putu uopće ne vidi ime. Dva vrlo različita računala daju istu umirujuću značku: jedno u kojem je VPN gurnuo 10.8.0.1 i preglednik ga koristi, i drugo u kojem je preglednik ignorirao popis sustava i poslao ime svom šifriranom davatelju kroz tunel.
Razlika je važna u trenutku kad privatno ime ne uspije razriješiti. U prvom slučaju VPN-ov razrješivač odgovara za korporativnu zonu; u drugom ga preglednik nikad nije pitao, pa se kratki naziv hosta ne razrješava i kvar izgleda kao pokvaren VPN. Provjera nije još jedan test curenja, nego upit za ime koje zna samo jedan razrješivač.
Mit drugi: preglednik napušta tunel
DNS bira adresu, usmjeravanje nosi vezu, i to su dva odvojena sloja. Upit poslan javnom DoH davatelju i dalje je TCP port 443 prema adresi do koje se može usmjeriti. Ako tvoja tablica usmjeravanja šalje zadanu rutu u tunel, taj upit ide kroz tunel također. Marka razrješivača ne odlučuje o putu.
Ono što DoH u pregledniku mijenja jest primatelj imena. To je stvarna odluka o privatnosti i stvarna odluka o pravilima, ali nije zaobilaženje usmjeravanja. Ako je tvoj uvjet da imena ostanu kod VPN operatera, šifrirani upit nekome drugome krši taj uvjet iako i dalje koristi tunel za stvarnu vezu.
Mit treći: svaki VPN nadjačava svaki preglednik
Sigurni DNS u pregledniku ima načine rada, a ne prekidač: isključeno, zadani davatelj s rezervnim rješenjem, prilagođeni predložak ili pravilo koje nameće operativni sustav ili organizacija. Slučaj s rezervnim rješenjem jest onaj koji daje povremena izvješća. Kad šifrirana krajnja točka nije dostupna, preglednik se može vratiti na razrješivač sustava, pa isti prijenosnik u ponedjeljak ispravno razriješi privatno ime, a u utorak ne.
Istovremeno, većina VPN klijenata postavlja razrješivač sustava kad se veza uspostavi i vraća prethodni kad se prekine. Preglednik koji drži prilagođeni šifrirani razrješivač uopće ne primjećuje to vraćanje. Zato se isti profil ponaša različito na dva prijenosnika i zato resolv.conf izgleda ispravno dok preglednik ipak pita nekoga drugoga.
resolvectl status # per-link DNS servers and split-DNS domains
scutil --dns | head -30 # macOS resolver order for each domain
nslookup intranet.corp 10.8.0.1 # ask the VPN resolver directlyPokreni ih dok si povezan, zabilježi domene koje svaki razrješivač preuzima i usporedi s onim što preglednik prijavljuje o svom načinu rada. Mozillin dokument o DoH-u razumno opisuje kako bi zadano i rezervno ponašanje preglednika trebali funkcionirati.
Odluka ima tri ulaza, a ne jedan
Privatna imena, povjerenje u operatera i dostupnost odlučuju o ispravnom rasporedu. Imena koja zna samo VPN-ov razrješivač prisiljavaju podijeljeni DNS: privatni sufiks ide gurnutom razrješivaču, a sve ostalo slijedi pravilo koje si odabrao za javna imena. Povjerenje u operatera odlučuje trebaju li i javna imena ići tom razrješivaču ili zasebnoj usluzi. Dostupnost odlučuje je li odabrani šifrirani razrješivač uopće upotrebljiv na ovoj mreži.
| Condition | What it forces |
|---|---|
| Internal names must resolve | Split DNS: private suffixes to the VPN resolver, the rest to your chosen default |
| Queries must stay with one operator | Pin both the system resolver and the browser mode, and disable fallback |
| Resolver only reachable through the tunnel | Keep the pushed resolver; do not point DoH at an endpoint your routes exclude |
Nijedan od ovih redaka nije univerzalna preporuka. Razrješivač kojim upravlja VPN skuplja promatranja kod tog operatera; zasebna usluga dodaje još jednog primatelja traženih imena. Nijedan raspored ništa ne dokazuje o čuvanju podataka ako ne pročitaš pravila.
Zapiši odluku po profilu, jer te postavke odlutaju. Profil koji je prošli mjesec gurnuo razrješivač danas možda ne gura ništa, a preglednik će rado zadržati staru prilagođenu krajnju točku koja još odgovara. U bilješku ide adresa razrješivača, sufiksi koje posjeduje i način rada preglednika, a ne marka usluge.
Testiraj pravilo za koje misliš da si ga postavio
Testiraj po imenu, ne po znački. Razriješi javno i privatno ime preko razrješivača sustava, pa to ponovi u pregledniku s njegovom postavkom sigurnog DNS-a u načinu koji namjeravaš koristiti. Ako privatno ime ne uspije samo u pregledniku, otkrio si nesklad primatelja bez diranja ijedne VPN postavke.
Zatim se ponovno poveži i provjeri vraćanje, jer tu žive pogreške predaje: prekini vezu, potvrdi da se prethodni razrješivač vratio, poveži se ponovno, potvrdi da se gurnuti vratio. Na kraju testiraj preglednik s upravljanim pravilima ako ga imaš, jer taj način može u cijelosti odbiti tvoju promjenu i tiho zadržati prethodni razrješivač.
Počni s pitanjem imenskog prostora i izbjeći ćeš većinu ovoga. Ako računalo mora dosegnuti interne nazive, šifrirani razrješivač preglednika odluka je samo o javnoj polovici, a privatna polovica ostaje kod onoga što je VPN gurnuo.