Датотека hosts наспроти филтер на рутерот: блокирање сајт преку VPN
Записот во hosts одговара локално и преживува секаков тунел. Филтерот на рутерот гледа само што минува низ рутерот, па VPN што завршува на лаптопот го крие името.
Запис во датотеката hosts и филтер на рутерот го блокираат истиот сајт од сосема различни причини, затоа едниот продолжува да работи под VPN, а другиот тивко запира. Датотеката hosts одговара на име пред било кој пакет да ја напушти машината. Филтерот на рутерот го проверува сообраќајот што минува низ него. Поставете тунел меѓу тие две точки и вториот ја губи својата гледна точка, додека првиот ништо не забележува.
Каде се решава името одлучува сѐ
Секое блокирање започнува со прашање: кој го претвора името во адреса? На обичен десктоп одговара системскиот резолвер, кој оди по својот конфигуриран редослед и обично ја чита датотеката hosts пред да го праша DNS. На филтрирана мрежа одговорот може да го даде рутерот, кој го гледа барањето само ако клиентот го испрати низ него без заштита. Сменете ја патеката и менувате кој смее да одговори.
VPN овде прави две работи истовремено: ја поместува стандардната рута и може да го наметне својот DNS сервер. Секоја од двете промени е доволна за да го оддалечи решавањето на имиња од уредот што го спроведувал блокирањето.
Тоа е механизмот зад познатата поплака дека филтерот работи додека не се поврзе VPN.
Записот во hosts одговара пред тунелот да постои
Линија како 127.0.0.1 www.example.com ја чита локалниот резолвер, па одговорот се создава на машината без никаква мрежа. Поврзете тунел, сменете DNS сервер, сменете мрежи: записот сепак враќа loopback. Затоа hosts блокирањето е единственото од двете врз кое не влијае каде завршува VPN.
Неговите слепи точки се исто толку локални. Апликација што носи свој резолвер, зборува DNS over HTTPS или се поврзува на буквална адреса никогаш не го прашува системот, па записот не се разгледува. Кеширана адреса во процес што работи го има истиот ефект додека тој процес не се рестартира.
Потврдете го одговорот со getent ahosts на Linux или Resolve-DnsName на Windows наместо сѐ уште да му верувате на табот во прелистувачот.
Филтерот на рутерот гледа само што минува низ него
Филтер за содржина или URL на домашен рутер ги совпаѓа имињата и барањата што минуваат низ него во читлива форма. Кога клиентот гради шифриран тунел до сервер некаде на друго место, рутерот гледа еден тек до тој сервер и ништо внатре во него. Филтерот нема име за совпаѓање, па го пропушта сообраќајот, и тоа изгледа како филтерот да потфрлил, а не како да бил заобиколен.
Топологијата што работи е другата: рутерот сам го држи тунелот, дешифрира на крајната точка и таму го применува филтерот. Во тој дизајн филтерот седи таму каде што се појавува чистиот текст.
Ако тунелот заврши на лаптопот, рутерот по дефиниција е надвор од заштитената патека, како и да е напишано правилото.
Четири точки на спроведување и што пропушта секоја
Четири места можат да спроведат блокирање и секое потфрлува различно. Читајте ја листата како карта на покриеност, не како рангирање.
- Датотека hosts или локален резолвер: работи офлајн и под кој било тунел, но го заобиколува вграден резолвер или тврдо кодирана адреса.
- DNS филтрирање на VPN портата: ги покрива клиентите што го користат наметнатиот резолвер и ги пропушта клиентите што го заобиколуваат DNS.
- Излезни правила на портата по адреса или SNI: независни од DNS на клиентот, но слепи за имиња што не можат да ги прочитаат и за адреси што не ги научиле.
- Управувана политика на прелистувач или уред: силна на управуван хардвер, отсутна на лични уреди.
Ниту една од овие не е безбедносна граница против решен корисник на неуправуван уред. Тоа се контроли на политика, и чесниот опис кажува кој сообраќај всушност го покрива секоја.
Изберете го слојот што одговара на намерата: домашната удобност и припаѓа на уредот, а организациското правило и припаѓа на портата.
Тестирајте ги двете состојби пред да го наречете готово
Извршете ги истите три команди со поврзан и исклучен VPN: getent ahosts за да го видите одговорот на резолверот, nslookup за да видите што враќа барањето и curl -I кон сајтот за да видите дали врската сѐ уште се комплетира. Ако првата врати loopback, а третата се поврзе на вистинската адреса, нешто го заобиколило резолверот и записот во hosts не е контролата што ја мислите.
На рутерот прочитајте ги бројачите на филтерот пред барањето и по него. Бројач што никогаш не се поместува значи дека сообраќајот никогаш не стигнал до филтерот, и тоа е одговор за рутирањето, не за правилото.
Запишете го резултатот заедно со топологијата, зашто следната промена на VPN повторно ќе ја помести патеката.