Datoteka hosts proti filtru na usmerjevalniku: blokiranje mesta prek VPN
Vnos hosts odgovori krajevno in preživi vsak tunel. Filter na usmerjevalniku vidi le, kar prečka usmerjevalnik, zato VPN, ki se konča na prenosniku, skrije ime.
Vnos v datoteki hosts in filter na usmerjevalniku blokirata isto spletno mesto iz povsem različnih razlogov, zato eden še naprej deluje pod VPN, drugi pa se tiho ustavi. Datoteka hosts odgovori na ime, preden kateri koli paket zapusti stroj. Filter na usmerjevalniku pregleduje promet, ki gre skozenj. Postavite tunel med ti dve točki in drugi izgubi pogled, medtem ko prvi ničesar ne opazi.
Kje se ime razreši, odloča o vsem
Vsaka blokada se začne z vprašanjem: kdo spremeni ime v naslov? Na običajnem namizju odgovori sistemski razreševalnik, ki sledi nastavljenemu vrstnemu redu in običajno prebere datoteko hosts, preden vpraša DNS. V filtriranem omrežju lahko odgovori usmerjevalnik, ki poizvedbo vidi le, če jo odjemalec pošlje skozenj nezaščiteno. Spremenite pot in spremenite, kdo sme odgovoriti.
VPN tu naredi dvoje hkrati: premakne privzeto pot in lahko vsili svoj strežnik DNS. Katera koli od teh sprememb zadostuje, da se razreševanje imen odmakne od naprave, ki je uveljavljala blokado.
To je mehanizem za znano pritožbo, da filter deluje, dokler se VPN ne poveže.
Vnos hosts odgovori, preden tunel obstaja
Vrstico, kot je 127.0.0.1 www.example.com, prebere krajevni razreševalnik, zato odgovor nastane na stroju brez omrežja. Povežite tunel, spremenite strežnik DNS, zamenjajte omrežja: vnos še vedno vrne loopback. Zato je blokada hosts edina od dveh, na katero ne vpliva, kje se VPN konča.
Njene slepe pege so enako krajevne. Aplikacija, ki prinese svoj razreševalnik, govori DNS over HTTPS ali se poveže na dobesedni naslov, nikoli ne vpraša sistema, zato se vnos ne upošteva. Naslov v predpomnilniku delujočega procesa ima enak učinek, dokler se ta proces ne znova zažene.
Potrdite odgovor z getent ahosts v Linuxu ali Resolve-DnsName v Windowsu, namesto da bi zaupali zavihku brskalnika.
Filter na usmerjevalniku vidi le, kar gre skozenj
Filter vsebine ali URL na domačem usmerjevalniku ujema imena in zahteve, ki gredo skozenj v berljivi obliki. Ko odjemalec zgradi šifriran tunel do strežnika drugje, usmerjevalnik vidi en sam tok do tega strežnika in nič v njem. Filter nima imena za ujemanje, zato promet spusti, in to je videti kot odpoved filtra, ne kot njegova obhod.
Deluje druga topologija: usmerjevalnik sam drži tunel, na koncu odšifrira in tam uporabi filter. V tej zasnovi filter sedi tam, kjer se pojavi golo besedilo.
Če se tunel konča na prenosniku, je usmerjevalnik po definiciji zunaj zaščitene poti, ne glede na to, kako je pravilo napisano.
Štiri točke uveljavljanja in kaj vsaka zgreši
Blokado lahko uveljavi štiri mest in vsako odpove drugače. Seznam berite kot zemljevid pokritosti, ne kot razvrstitev.
- Datoteka hosts ali krajevni razreševalnik: deluje brez povezave in pod vsakim tunelom, vendar ga obide vgrajeni razreševalnik ali trdo kodiran naslov.
- Filtriranje DNS na prehodu VPN: pokrije odjemalce, ki uporabljajo vsiljeni razreševalnik, in zgreši odjemalce, ki obidejo DNS.
- Pravila izhoda na prehodu po naslovu ali SNI: neodvisna od DNS odjemalca, a slepa za imena, ki jih ne morejo prebrati, in za naslove, ki se jih niso naučila.
- Upravljana politika brskalnika ali naprave: močna na upravljani strojni opremi, ni je na osebnih napravah.
Nobena od teh ni varnostna meja proti odločnemu uporabniku na neupravljani napravi. To so politične kontrole in pošten opis pove, kateri promet vsaka od njih v resnici pokriva.
Izberite plast, ki ustreza namenu: domače udobje sodi na napravo, organizacijsko pravilo pa na prehod.
Preizkusite oba stanja, preden to razglasite za dokončano
Zaženite iste tri ukaze s povezanim in odklopljenim VPN: getent ahosts za odgovor razreševalnika, nslookup za to, kaj vrne poizvedba, in curl -I proti mestu za to, ali se povezava še dokonča. Če prvi vrne loopback, tretji pa se poveže na pravi naslov, je nekaj obšlo razreševalnik in vnos hosts ni kontrola, ki si jo mislite.
Na usmerjevalniku preberite števce filtra pred zahtevo in po njej. Števec, ki se nikoli ne premakne, pomeni, da promet ni nikoli dosegel filtra, in to je odgovor usmerjanja, ne pravila.
Rezultat zapišite skupaj s topologijo, ker bo naslednja sprememba VPN pot spet premaknila.