Ovaj članak ne pokriva potpuno podešavanje DPI i sve što je povezano, a naučna vrijednost teksta je minimalna. Ali opisuje najjednostavniji način da se zaobiđe DPI, koji mnoge kompanije nisu uzele u obzir.
Odricanje od odgovornosti #1: Ovaj članak je istraživačke prirode i ne potiče nikoga da bilo šta radi ili koristi. Ideja je zasnovana na ličnom iskustvu, a sve sličnosti su nasumične.
Upozorenje broj 2: članak ne otkriva tajne Atlantide, potrage za Svetim gralom i druge misterije svemira; sav materijal je besplatno dostupan i možda je više puta opisan na Habréu. (nisam ga našao, bio bih zahvalan na linku)
Za one koji su pročitali upozorenja, počnimo.
Šta je DPI?
DPI ili Deep Packet Inspection je tehnologija za prikupljanje statističkih podataka, provjeru i filtriranje mrežnih paketa analizom ne samo zaglavlja paketa, već i punog sadržaja prometa na nivoima OSI modela od drugog i višeg, što vam omogućava da otkrijete i blokiraju viruse, filtriraju informacije koje ne zadovoljavaju specificirane kriterije.
DPI povezan na mrežu provajdera paralelno (ne u rezu) bilo preko pasivnog optičkog razdelnika, bilo korišćenjem preslikavanja saobraćaja koji potiče od korisnika. Ova veza ne usporava brzinu mreže provajdera u slučaju nedovoljnih DPI performansi, zbog čega je koriste veliki provajderi. DPI sa ovom vrstom veze tehnički može samo otkriti pokušaj traženja zabranjenog sadržaja, ali ne i zaustaviti ga. Da bi zaobišao ovo ograničenje i blokirao pristup zabranjenoj stranici, DPI šalje posebno kreiran HTTP paket korisniku koji traži blokirani URL s preusmjeravanjem na stub stranicu provajdera, kao da je takav odgovor poslao sam traženi resurs (pošiljateljeva IP adresa i TCP sekvenca su falsifikovani). Budući da je DPI fizički bliži korisniku od tražene stranice, lažni odgovor stiže do uređaja korisnika brže od stvarnog odgovora sa stranice.
Active DPI
Aktivni DPI - DPI povezan na mrežu provajdera na uobičajen način, kao i svaki drugi mrežni uređaj. Provajder konfiguriše usmjeravanje tako da DPI prima promet od korisnika do blokiranih IP adresa ili domena, a DPI zatim odlučuje hoće li dozvoliti ili blokirati promet. Aktivni DPI može pregledati i odlazni i dolazni promet, međutim, ako provajder koristi DPI samo za blokiranje lokacija iz registra, najčešće je konfiguriran da pregleda samo odlazni promet.
Ne samo efikasnost blokiranja prometa, već i opterećenje na DPI-u ovisi o vrsti veze, pa je moguće skenirati ne sav promet, već samo određene:
"Normalni" DPI
“Obični” DPI je DPI koji filtrira određenu vrstu prometa samo na najčešćim portovima za taj tip. Na primjer, "običan" DPI otkriva i blokira zabranjeni HTTP promet samo na portu 80, HTTPS promet na portu 443. Ova vrsta DPI neće pratiti zabranjeni sadržaj ako pošaljete zahtjev sa blokiranim URL-om na deblokirani IP ili ne- standardni port.
"Puni" DPI
Za razliku od "običnog" DPI-a, ovaj tip DPI klasifikuje saobraćaj bez obzira na IP adresu i port. Na ovaj način se blokirane stranice neće otvarati čak i ako koristite proxy server na potpuno drugom portu i deblokiranoj IP adresi.
Koristeći DPI
Kako ne biste smanjili brzinu prijenosa podataka, trebate koristiti “Normal” pasivni DPI, koji vam omogućava da efikasno? blokirati bilo koji? resurse, zadana konfiguracija izgleda ovako:
HTTP filter samo na portu 80
HTTPS samo na portu 443
BitTorrent samo na portovima 6881-6889
Ali problemi počinju ako resurs će koristiti drugi port kako ne bi izgubio korisnike, tada ćete morati provjeriti svaki paket, na primjer možete dati:
HTTP radi na portu 80 i 8080
HTTPS na portovima 443 i 8443
BitTorrent na bilo kojem drugom bendu
Zbog toga ćete se morati ili prebaciti na „Aktivni“ DPI ili koristiti blokiranje pomoću dodatnog DNS servera.
Blokiranje pomoću DNS-a
Jedan od načina da se blokira pristup resursu je presretanje DNS zahtjeva pomoću lokalnog DNS servera i vraćanje korisniku "stub" IP adrese umjesto potrebnog resursa. Ali to ne daje zajamčeni rezultat, jer je moguće spriječiti lažiranje adrese:
Opcija 1: Uređivanje hosts fajla (za desktop)
Datoteka hosts je sastavni dio svakog operativnog sistema, što vam omogućava da je uvijek koristite. Da bi pristupio resursu, korisnik mora:
Saznajte IP adresu potrebnog resursa
Otvorite hosts fajl za uređivanje (potrebna su administratorska prava), koji se nalazi u:
Linux: /etc/hosts
Windows: %WinDir%System32driversetchosts
Dodajte red u formatu: <ime resursa>
Spremite promjene
Prednost ove metode je njena složenost i zahtjevi za administratorskim pravima.
Opcija 2: DoH (DNS preko HTTPS-a) ili DoT (DNS preko TLS-a)
Ove metode vam omogućavaju da zaštitite svoj DNS zahtjev od lažiranja korištenjem enkripcije, ali implementaciju ne podržavaju sve aplikacije. Pogledajmo jednostavnost podešavanja DoH-a za Mozilla Firefox verziju 66 sa strane korisnika:
Iako je ova metoda složenija, ne zahtijeva od korisnika da ima administratorska prava, a postoji mnogo drugih načina za osiguranje DNS zahtjeva koji nisu opisani u ovom članku.
Opcija 3 (za mobilne uređaje):
Korištenje aplikacije Cloudflare za android и IOS.
Testiranje
Da bi se provjerio nedostatak pristupa resursima, privremeno je kupljena domena blokirana u Ruskoj Federaciji:
Nadam se da će ovaj članak biti koristan i da će potaknuti ne samo administratore da detaljnije razumiju temu, već će i dati razumijevanje da resursi će uvijek biti na strani korisnika, a potraga za novim rješenjima trebala bi biti njihov sastavni dio.
Dodatak izvan člankaCloudflare test se ne može završiti na mreži operatera Tele2, a ispravno konfigurisan DPI blokira pristup testnoj lokaciji.
PS Za sada je ovo prvi provajder koji ispravno blokira resurse.