Tento článek se nezabývá kompletní konfigurací DPI a vědecká hodnota textu je minimální. Popisuje však nejjednodušší způsob, jak obejít DPI, který mnoho společností přehlédlo.

Upozornění č. 1: Tento článek má výzkumný charakter a nenabádá nikoho k činům nebo použití. Myšlenka vychází z osobní zkušenosti a jakákoliv shoda je náhodná.
Upozornění č. 2: V článku se neodhalují tajemství Atlantidy, hledání Svatého grálu ani jiné záhady vesmíru, celý materiál je volně dostupný a možná byl již popisován na Chabru. (nenašel jsem, za odkaz budu vděčný)
Pro ty, kteří si přečetli upozornění, začneme.
Co je to DPI?
DPI neboli Deep Packet Inspection je technologie shromažďování statistických dat, kontroly a filtrování síťových paketů, která analyzuje nejen hlavičky paketů, ale i celé obsahy provozu na úrovních modelu OSI od druhého výše, což umožňuje detekovat a blokovat viry, filtrovat informace, které nevyhovují zadaným kritériím.
Existují dva typy připojení DPI, které jsou popsány. :
Pasivní DPI
DPI připojené v síti poskytovatele paralelně (ne v řezání) buď přes pasivní optický splitter, nebo pomocí mirrorování odchozího provozu od uživatelů. Tento typ připojení nezpomaluje rychlost práce sítě poskytovatele v případě nedostatečného výkonu DPI, což je důvod, proč se používá u velkých poskytovatelů. DPI s tímto typem připojení technicky může pouze zjistit pokus o požadavek zakázaného obsahu, ale nemůže ho zastavit. Aby se překonalo toto omezení a zablokoval přístup na zakázanou stránku, DPI posílá uživateli, který požaduje blokovanou URL, speciálně vytvořený HTTP paket s přesměrováním na stránku vykladače poskytovatele, jako by takovou odpověď poslal samotný požadovaný zdroj (IP adresa odesílatele a TCP sekvence jsou padělány). Protože je DPI fyzicky umístěno blíže k uživateli než požadovaná stránka, padělaná odpověď dorazí k zařízení uživatele rychleji než skutečná odpověď ze stránky.
Aktivní DPI
Aktivní DPI je DPI, které je připojeno k síti poskytovatele běžným způsobem, jako jiné síťové zařízení. Poskytovatel nastavuje směrování tak, aby DPI přijímalo provoz od uživatelů k blokovaným IP adresám nebo doménám, a DPI pak rozhoduje o povolení nebo blokaci provozu. Aktivní DPI může kontrolovat jak odchozí, tak příchozí provoz, avšak pokud poskytovatel používá DPI pouze pro blokování stránek z registru, obvykle je nastaveno na kontrolu pouze odchozího provozu.
Typ připojení ovlivňuje nejen efektivitu blokování provozu, ale i zatížení DPI, a proto existuje možnost nezkoumat veškerý provoz, ale pouze konkrétní:
„Běžné“ DPI
Pod pojmem „běžné“ DPI se rozumí takové DPI, které filtruje určitý typ provozu pouze na nejběžnějších portech pro tento typ. Například „běžné“ DPI identifikuje a blokuje zakázaný HTTP provoz pouze na portu 80, HTTPS provoz na portu 443. Tento typ DPI nebude sledovat zakázaný obsah, pokud odešlete požadavek se zablokovanou URL na nezablokovanou IP nebo nestandardní port.
„Úplné“ DPI
Na rozdíl od „běžného“ DPI tento typ DPI klasifikuje provoz bez ohledu na IP adresu a port. Takto nebudou blokované stránky otevřeny, i když používáte proxy server na úplně jiném portu a nezablokované IP adrese.
Použití DPI
Aby se nezpomalil přenos dat, je třeba použít „Běžné“ pasivní DPI, které umožňuje efektivní blokování jakýchkoliv zdrojů, výchozí konfigurace vypadá takto:
- HTTP filtrovat pouze na portu 80
- HTTPS pouze na portu 443
- BitTorrent pouze na portech 6881-6889
Ale problémy začínají, pokud zdroj používá jiný port, aby neztratil uživatele, pak bude nutné zkontrolovat každý paket, pro příklad lze uvést:
- HTTP funguje na portech 80 a 8080
- HTTPS na portech 443 a 8443
- BitTorrent na jakémkoliv jiném rozsahu
Z toho důvodu bude nutné buď přejít na „Aktivní“ DPI, nebo použít blokování pomocí dalšího DNS serveru.
Blokování pomocí DNS
Jedním ze způsobů, jak zablokovat přístup k ресурсу, je zachycení DNS dotazu pomocí lokálního DNS serveru a vrácení IP adresy "základního serveru" uživateli místo požadovaného ресурсу. To však nenabízí zaručený výsledek, jelikož existuje možnost, jak zamezit záměně adresy:
Varianta 1: Úprava souboru hosts (pro desktop)
Soubor hosts je nedílnou součástí jakéhokoli operačního systému, což umožňuje jeho používání. Pro přístup k ресурсу potřebuje uživatel:
- Zjistit IP adresu požadovaného ресурсу
- Otevřít soubor hosts k úpravě (potřebná práva administrátora), umístěný v:
- Linux: /etc/hosts
- Windows: %WinDir%System32driversetchosts
- Přidat řádek ve formátu:
- Uložit změny
Výhodou této metody je její složitost a požadavek na práva administrátora.
Varianta 2: DoH (DNS over HTTPS) nebo DoT (DNS over TLS)
Tyto metody umožňují chránit proti záměně DNS dotazů šifrováním, ale jejich implementace není podporována všemi aplikacemi. Podívejme se na jednoduchost nastavení DoH pro Mozilla Firefox verze 66 z pohledu uživatele:
- Přejít na adresu ve Firefoxu
- Potvrdit, že uživatel bere na sebe veškeré riziko
- Změnit hodnotu parametru network.trr.mode na:
- 0 — zakázat TRR
- 1 — automatický výběr
- 2 — povolit DoH jako výchozí
- Změnit parametr network.trr.uri výběrem DNS serveru
- Cloudflare DNS:
- Google DNS:
- Změnit parametr network.trr.boostrapAddress na:
- Pokud je vybrán Cloudflare DNS: 1.1.1.1
- Pokud je vybrán Google DNS: 8.8.8.8
- Změnit hodnotu parametru network.security.esni.enabled na true
- Ověřit správnost nastavení pomocí
I když je tento způsob složitější, nevyžaduje práva administrátora uživatele, a navíc existuje značné množství dalších metod ochrany DNS dotazu, které nejsou v tomto článku popsány.
Varianta 3 (pro mobilní zařízení):
Použití aplikace od Cloudflare pro a .
Testování
Aby bylo ověřeno, že není přístup k ресурсům, byl dočasně zakoupen domén, který byl blokován na území ČR:
Závěr
Doufám, že tento článek bude užitečný a přiměje nejen administrátory, aby se důkladněji zabývali touto problematikou, ale také poskytne pochopení, že zdroje vždy budou na straně uživatele a hledání nových řešení by mělo být jejich neoddělitelnou součástí.
Užitečné odkazy
Doplněk mimo článekTest na Cloudflare nelze provést v síti operátora Tele2, a správně nastavené DPI blokuje přístup na testovací platformu.
P.S. Zatím je to první poskytovatel, který správně blokuje zdroje.
Zdroj: habr.com
