VPN DNS-filter: blokkering av navn blokkerer ikke annonser
En dnsmasq-regel svarer navn med NXDOMAIN; den leser aldri siden. Sammenlign det med hva en blokkering på klientsiden gjør, før du lover å fjerne annonser.
Én dnsmasq-linje kan svare et navn med NXDOMAIN, og det er hele mekanismen. Den leser aldri HTML, inspiserer aldri en forespørselssti og ser aldri hva en applikasjon gjør med en tilkobling den allerede har åpnet. Å sammenligne den med en nettleserutvidelse er derfor å sammenligne to forskjellige jobber. Den ene avgjør om et navn slås opp; den andre avgjør hva som skjer etterpå.
Hva et navnefilter faktisk styrer
Valget address=/metrics.example/, uten noe etter den siste skråstreken, får oppløseren til å returnere NXDOMAIN for det navnet og dets subdomener. Å la adressen stå tom er den viktige delen: det unngår å sende klienter til en urelatert erstatningsserver eller å late som en loopback-adresse er den virkelige destinasjonen. dnsmasq-håndboken beskriver den formen som et negativt svar snarere enn en omdirigering.
Alt regelen kan gjøre, følger av den ene avgjørelsen. En klient som spør denne oppløseren, får et negativt svar; en klient som spør en annen oppløser, får det den oppløseren sier. Filteret vet ikke hvilken sti, hvilken spørringsstreng eller hvilken konto applikasjonen ville ha brukt.
Den detaljgraden betyr noe fordi ett vertsnavn ofte tjener flere formål. Innloggingsendepunkter, bilder og sporing kan dele et domene, og en regel som fjerner hele navnet, kan fjerne en arbeidsflyt med det. En policy på navnenivå må godta den avveiningen eller velge trangere navn.
Der en blokkering på klientsiden skiller seg ut
En nettleserutvidelse ser forespørselen før den forlater maskinen, så den kan matche en URL-sti, avbryte en bestemt forespørsel og skjule elementet som ville ha vist resultatet. Den kan tillate example.com/article og samtidig avvise example.com/ads/, noe ingen DNS-svar kan uttrykke. Det sti-nivå-innsynet er en evne en oppløser rett og slett ikke har. Det er også grunnen til at en filterliste laget for ett verktøy sjelden oppfører seg likt i det andre.
Prisen er omfang. Den beskyttelsen lever inne i én nettleser, i én profil, på én enhet, og den forsvinner når brukeren bytter til en annen applikasjon. Et DNS-filter satt opp på gatewayen dekker hver enhet som bruker gatewayens oppløser, også enheter der ingen utvidelse kan installeres.
Ingenting av dette er komplett alene. Et DNS-filter kan ikke fjerne en identifikator en side allerede har sendt, og en nettleserutvidelse kan ikke beskytte en applikasjon som aldri laster den.
Oppløserstien avgjør om noe av dette gjelder
En VPN kan annonsere en DNS-server og likevel ikke motta hver spørring. En nettleser med kryptert DNS konfigurert, en applikasjon med sin egen oppløser eller en enhet på en nettverkssti som utelukker gatewayen, vil alle spørre et annet sted. Mobilplattformer tilbyr i økende grad en innstilling for privat DNS som stille overstyrer det tunnelen foreslår.
Så test stien i stedet for policyen. Spør den tiltenkte oppløseren direkte fra gatewayen, spør den så fra en klient og sammenlign, og se deretter om et navn som skal være blokkert faktisk feiler i applikasjonen brukeren kjører.
Bufrede svar og åpne sokler gjør dette støyende. En side som allerede har lastet ressursene sine, vil fortsette å virke etter at regelen endres, så en fersk tilkobling er en bedre test enn å laste en gammel fane på nytt.
Test begge retninger før du hevder et resultat
Bruk et bevisst blokkert dokumentasjonsnavn, et tillatt offentlig navn og et privat navn tjenesten trenger:
$ dig +short metrics.example @10.40.0.53
$ dig +short example.com @10.40.0.53
$ dig +short intranet.corp.internal @10.40.0.53
Et tomt svar for det blokkerte navnet, en normal adresse for det offentlige og en privat adresse for det interne viser sammen at filtrering, oppstrøms oppslag og lokale poster alle virker. Hvis alle tre feiler, kan du være sikker på at du ser på et oppstrøms- eller lytterproblem, ikke på et filter.
Hold påstanden smal i alt du publiserer internt. Dette er domenefiltrering på en oppløser, ikke innholdsinspeksjon, ikke stifiltrering og ikke et løfte om at ingen spores. Oppgi policyeier, unntaksruten og oppbevaringsperioden for spørringer sammen med reglene, fordi et filter som logger hvert oppslag har sin egen personvernkostnad.