hosts-dosiero kontraŭ enkursigila filtrilo: blokado de retejo tra VPN
Entute en hosts respondas loke kaj postvivas iun ajn tunelon. Enkursigila filtrilo vidas nur tion, kio trapasas la enkursigilon, do VPN finiĝanta sur la tekkomputilo kaŝas la nomon.
Entute en la dosiero hosts kaj filtrilo en la enkursigilo blokas la saman retejon pro tute malsamaj kaŭzoj, tial unu daŭre funkcias sub VPN dum la alia trankvile haltas. La dosiero hosts respondas al nomo antaŭ ol iu ajn paketo forlasas la maŝinon. La enkursigila filtrilo ekzamenas trafikon, kiu trapasas ĝin. Metu tunelon inter tiuj du punktoj kaj la dua perdas sian vidon, dum la unua rimarkas nenion.
Kie la nomo estas solvata decidas ĉion
Ĉiu blokado komenciĝas per demando: kiu transformas la nomon en adreson? Sur ordinara komputilo la respondo estas la sistema solvilo, kiu sekvas sian agorditan ordon kaj kutime legas la dosieron hosts antaŭ ol demandi DNS. En filtrita reto la respondo povas esti la enkursigilo, kiu vidas la demandon nur se la kliento sendas ĝin tra ĝi senprotekte. Ŝanĝu la vojon kaj vi ŝanĝas kiu rajtas respondi.
VPN faras du aferojn samtempe ĉi tie: ĝi movas la defaŭltan vojon, kaj ĝi povas puŝi sian propran DNS-servilon. Ĉiu el la du ŝanĝoj sufiĉas por movi nomosolvadon for de la aparato, kiu devigis la blokadon.
Tio estas la mekanismo malantaŭ la konata plendo, ke la filtrilo funkcias ĝis VPN konektiĝas.
Entute en hosts respondas antaŭ ol ekzistas la tunelo
Linion kiel 127.0.0.1 www.example.com legas la loka solvilo, do la respondo produktiĝas sur la maŝino sen reto. Konektu tunelon, ŝanĝu la DNS-servilon, ŝanĝu retojn: la enskribo ankoraŭ redonas loopback. Tial hosts-blokado estas la sola el la du, kiun ne tuŝas la loko, kie VPN finiĝas.
Ĝiaj blindaj punktoj estas same lokaj. Aplikaĵo, kiu kunportas propran solvilon, parolas DNS over HTTPS aŭ konektiĝas al literatura adreso, neniam demandas la sistemon, do la enskribo ne estas konsultita. Kaŝmemora adreso ene de funkcianta procezo havas la saman efikon ĝis tiu procezo restartas.
Konfirmu la respondon per getent ahosts en Linux aŭ Resolve-DnsName en Windows anstataŭ fidi retan langeton.
Enkursigila filtrilo vidas nur tion, kio trapasas ĝin
Enhava aŭ URL-filtrilo sur hejma enkursigilo kongruas nomojn kaj petojn, kiuj trapasas ĝin en legiva formo. Kiam la kliento konstruas ĉifritan tunelon al servilo ie aliloke, la enkursigilo vidas unu fluon al tiu servilo kaj nenion ene. La filtrilo havas neniun nomon por kongrui, do ĝi permesas la trafikon, kaj tio aspektas kvazaŭ la filtrilo malsukcesis, ne kvazaŭ ĝi estis preterigita.
La topologio, kiu funkcias, estas la alia: la enkursigilo mem tenas la tunelon, malĉifras ĉe la finpunkto kaj aplikas tie la filtrilon. En tiu dezajno la filtrilo sidas tie, kie aperas la klarteksto.
Se la tunelo finiĝas sur la tekkomputilo, la enkursigilo estas laŭdifine ekster la protektita vojo, kiel ajn la regulo estas skribita.
Kvar devigaj punktoj kaj kion ĉiu maltrafas
Kvar lokoj povas devigi blokadon, kaj ĉiu malsukcesas malsame. Legu la liston kiel kovrilaron, ne kiel rangotabelon.
- hosts-dosiero aŭ loka solvilo: funkcias senrete kaj sub iu ajn tunelo, sed preterigatas de enmetita solvilo aŭ malmola adreso.
- DNS-filtrado ĉe la VPN-pordo: kovras klientojn, kiuj uzas la puŝitan solvilon, kaj maltrafas klientojn, kiuj superregas DNS.
- Pordaj eliraj reguloj laŭ adreso aŭ SNI: sendependaj de la klienta DNS, sed blindaj por nomoj, kiujn ĝi ne povas legi, kaj por adresoj, kiujn ĝi ne lernis.
- Administrata retumila aŭ aparata politiko: fortika sur administrata aparataro, forestanta sur personaj aparatoj.
Neniu el ĉi tiuj estas sekureca limo kontraŭ decidiĝinta uzanto sur neadministrata aparato. Ili estas politikaj kontroloj, kaj honesta priskribo diras, kiun trafikon ĉiu efektive kovras.
Elektu la tavolon, kiu kongruas kun la intenco: hejma komforto apartenas al la aparato, kaj organiza regulo apartenas al la pordo.
Testu ambaŭ statojn antaŭ ol nomi ĝin farita
Rulu la samajn tri komandojn kun VPN konektita kaj malkonektita: getent ahosts por vidi la respondon de la solvilo, nslookup por vidi, kion redonas la demando, kaj curl -I kontraŭ la retejo por vidi, ĉu konekto ankoraŭ kompletigas. Se la unua redonas loopback dum la tria konektas al la reala adreso, io preterigis la solvilon kaj la hosts-enskribo ne estas la kontrolo, kiun vi pensas.
Sur la enkursigilo, legu la filtrilajn nombrilojn antaŭ kaj post peto. Nombrilo, kiu neniam moviĝas, signifas, ke la trafiko neniam atingis la filtrilon, kaj tio estas respondo pri enkursigo, ne pri regulo.
Skribu la rezulton kune kun la topologio, ĉar la sekva VPN-ŝanĝo denove movos la vojon.