DNS v VPN proti DoH v brskalniku: česa preizkus uhajanja ne more povedati
Naslov preizkusa uhajanja pokaže le, kateri razreševalnik je odgovoril. Šifrirane poizvedbe, razdeljeni DNS in politika brskalnika odločajo, ali se zasebna imena sploh še razrešujejo.
Stran preizkusa uhajanja pravi, da je vaš DNS v redu, značka brskalnika pravi varno, notranji wiki pa se kljub temu ne naloži. Vse troje lahko velja hkrati, ker naslov razreševalnika ni isto kot politika, ki ga je izbrala, ali pot, po kateri je šla poizvedba. Kar ljudje imenujejo uhajanje DNS, je pravzaprav eno vprašanje: kateri razreševalnik je prejel ime in je bila ta izbira namerna? Urediti to zahteva tri preverjanja in le zadnje vključuje spremembo nastavitve.
Mit prvi: značka poimenuje vaš razreševalnik
Preizkus uhajanja razreši poskusno ime in poroča naslov, ki je odgovoril. Ne poroča o politiki, ki je izbrala ta razreševalnik, in ko je poizvedba ovita v DNS prek HTTPS, vmesna škatla na poti imena sploh ne vidi. Dva zelo različna stroja dajeta isto pomirjujočo značko: eden, kjer je VPN potisnil 10.8.0.1 in brskalnik ga uporablja, in drugi, kjer je brskalnik ignoriral sistemski seznam in poslal ime skozi tunel svojemu šifriranemu ponudniku.
Razlika je pomembna v trenutku, ko zasebno ime ne uspe. V prvi postavitvi razreševalnik VPN odgovarja za poslovno cono; v drugi ga brskalnik ni nikoli vprašal, zato se kratko ime gostitelja ne razreši in napaka je videti kot pokvarjen VPN. Preverjanje ni še en preizkus uhajanja, je iskanje imena, ki ga pozna samo en razreševalnik.
Mit drugi: brskalnik zapusti tunel
DNS izbere naslov, usmerjanje nosi povezavo, in to sta dve ločeni plasti. Poizvedba, poslana javnemu ponudniku DoH, je še vedno TCP vrata 443 na usmerljiv naslov. Če vaša usmerjevalna tabela pošilja privzeto pot v tunel, gre ta poizvedba tudi skozi tunel. Znamka razreševalnika ne odloča o poti.
Kar DoH v brskalniku spremeni, je prejemnik imen. To je resnična odločitev o zasebnosti in resnična odločitev o politiki, ni pa obhod usmerjanja. Če je vaša zahteva, da imena ostanejo pri operaterju VPN, šifrirana poizvedba nekomu drugemu te zahteve ne izpolni, medtem ko za dejansko povezavo še vedno uporablja tunel.
Mit tretji: vsak VPN premaga vsak brskalnik
Varni DNS v brskalniku ima načine, ne stikala: izklopljeno, privzeti ponudnik z rezervo, lastna predloga ali politika, ki jo vsili operacijski sistem ali organizacija. Prav rezervni primer ustvarja občasna poročila. Ko šifrirana končna točka ni dosegljiva, se lahko brskalnik vrne k sistemskemu razreševalniku, zato isti prenosnik v ponedeljek pravilno razreši zasebno ime, v torek pa ne.
Hkrati večina odjemalcev VPN nastavi sistemski razreševalnik, ko se povezava dvigne, in obnovi prejšnjega, ko pade. Brskalnik, ki ima lasten šifriran razreševalnik, te obnovitve sploh ne opazi. Zato se isti profil na dveh prenosnikih obnaša različno in zato je resolv.conf videti pravilen, medtem ko brskalnik še vedno vprašuje nekoga drugega.
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 directlyZaženite jih, ko ste povezani, zabeležite, katere domene zahteva vsak razreševalnik, in primerjajte s tem, kar brskalnik poroča o svojem načinu. Dokumentacija Mozille o DoH je razumen opis, kako naj bi delovalo privzeto in rezervno vedenje brskalnika.
Odločitev ima tri vhode, ne enega
Zasebna imena, zaupanje v operaterja in dosegljivost odločajo o pravi ureditvi. Imena, ki jih pozna samo razreševalnik VPN, zahtevajo razdeljeni DNS: zasebna pripona gre potisnjenemu razreševalniku, vse ostalo sledi politiki, ki ste jo izbrali za javna imena. Zaupanje v operaterja odloča, ali naj tudi javna imena gredo k temu razreševalniku ali k ločeni storitvi. Dosegljivost odloča, ali je izbrani šifrirani razreševalnik v tem omrežju sploh uporaben.
| 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 |
Nobena od teh vrstic ni univerzalno priporočilo. Razreševalnik, ki ga upravlja VPN, koncentrira opazovanja pri tem operaterju; ločena storitev doda še enega prejemnika poizvedenih imen. Nobena ureditev ne dokaže ničesar o hrambi, razen če preberete politiko.
Zapišite odločitev za vsak profil, ker te nastavitve drsijo. Profil, ki je prejšnji mesec potisnil razreševalnik, danes morda ne potisne nobenega, brskalnik pa bo z veseljem obdržal staro lastno končno točko, ki še vedno odgovarja. V zapis sodijo naslov razreševalnika, pripone, ki jih ima, in način brskalnika, ne znamka storitve.
Preizkusite politiko, za katero mislite, da ste jo nastavili
Preizkušajte po imenu, ne po znački. Razrešite javno ime in zasebno ime prek sistemskega razreševalnika, nato to ponovite v brskalniku z njegovo lastno nastavitvijo varnega DNS v načinu, ki ga nameravate uporabljati. Če zasebno ime ne uspe samo v brskalniku, ste našli neskladje prejemnika, ne da bi se dotaknili ene same nastavitve VPN.
Nato se znova povežite in preverite obnovitev, ker tam živijo napake pri predaji: prekinite, potrdite, da se je prejšnji razreševalnik vrnil, povežite se znova, potrdite, da se je potisnjeni vrnil. Nazadnje preizkusite brskalnik z upravljano politiko, če ga imate, ker lahko ta način vašo spremembo popolnoma zavrne in tiho obdrži prejšnji razreševalnik.
Začnite z vprašanjem imenskega prostora in večini tega se boste izognili. Če mora stroj doseči notranja imena, je šifriran razreševalnik brskalnika odločitev le o javni polovici, zasebna polovica pa ostane pri tem, kar je VPN potisnil.