Cechy konfiguracji DPI

W tym artykule nie omawiamy szczegółowej konfiguracji DPI ani niczego z tym związanego, a wartość naukowa tekstu jest minimalna. Opisuje on jednak najprostszy sposób omijania DPI, który został pominięty przez wiele firm.

Cechy konfiguracji DPI

Ostrzeżenie nr 1: niniejszy artykuł ma charakter badawczy, nie namawia nikogo do podejmowania jakichkolwiek działań ani ich wykorzystywania. Idea opiera się na osobistym doświadczeniu, a wszelkie zbieżności są przypadkowe.

Ostrzeżenie nr 2: artykuł nie odkrywa tajemnic Atlantydy, poszukiwania Świętego Graala ani innych tajemnic wszechświata, cały materiał jest ogólnodostępny i być może był opisany nie raz na Habrahabr. (Nie znalazłem, będę wdzięczny za link)

Dla tych, którzy przeczytali ostrzeżenia, zaczynajmy.

Czym jest DPI?

DPI, czyli Deep Packet Inspection — technologia gromadzenia danych statystycznych, sprawdzania i filtrowania pakietów sieciowych, analizując nie tylko nagłówki pakietów, ale także pełną treść ruchu na poziomach modelu OSI od drugiego wzwyż, co pozwala wykrywać i blokować wirusy, a także filtrować informacje, które nie spełniają określonych kryteriów.

Istnieją dwa typy połączenia DPI, które są opisane ValdikSS na githubie:

Pasywne DPI

DPI podłączone do sieci dostawcy równolegle (nie w szereg) lub za pomocą pasywnego rozdzielacza optycznego, albo z wykorzystaniem mirrorowania ruchu wychodzącego od użytkowników. Takie połączenie nie spowalnia pracy sieci dostawcy w przypadku niewystarczającej wydajności DPI, dlatego stosowane jest przez dużych dostawców. DPI z takim typem połączenia technicznie może jedynie wykrywać próbę dostępu do zabronionej treści, ale nie blokować jej. Aby obejść to ograniczenie i zablokować dostęp do zabronionej strony, DPI wysyła do użytkownika, który żąda zablokowanego URL, specjalnie sformułowany pakiet HTTP z przekierowaniem na stronę zastępczą dostawcy, jakby taka odpowiedź została wysłana przez sam żądany zasób (fałszowany adres IP nadawcy i sekwencja TCP). Z racji tego, że DPI fizycznie znajduje się bliżej użytkownika niż żądana strona, sfałszowana odpowiedź dociera do urządzenia użytkownika szybciej niż prawdziwa odpowiedź ze strony.

Aktywne DPI

Aktywny DPI to DPI, które jest podłączone do sieci dostawcy w sposób tradycyjny, jak każde inne urządzenie sieciowe. Dostawca konfiguruje routing tak, aby DPI odbierał ruch od użytkowników do zablokowanych adresów IP lub domen, a DPI podejmuje decyzję o przepuszczeniu lub zablokowaniu ruchu. Aktywny DPI może sprawdzać zarówno ruch wychodzący, jak i przychodzący, jednak, jeśli dostawca stosuje DPI tylko do blokowania stron z rejestru, zazwyczaj konfigurują je tylko do sprawdzania ruchu wychodzącego.

Rodzaj połączenia wpływa nie tylko na efektywność blokowania ruchu, ale również na obciążenie DPI, dlatego istnieje możliwość, aby nie sprawdzać całego ruchu, a tylko określony:

„Zwykły” DPI

Przez „zwykły” DPI rozumie się taki DPI, który filtruje określony typ ruchu tylko na najbardziej popularnych portach dla tego typu. Na przykład „zwykły” DPI identyfikuje i blokuje niedozwolony ruch HTTP tylko na porcie 80, a ruch HTTPS na porcie 443. Tego typu DPI nie będzie śledzić niedozwolonego kontentu, jeśli wyślesz żądanie z zablokowanym URL na niezablokowanym IP lub niestandardowym porcie.

„Pełny” DPI

W przeciwieństwie do „zwykłego” DPI, ten typ DPI klasyfikuje ruch bez względu na adres IP i port. Tak więc zablokowane strony nie będą się otwierać, nawet jeśli używasz serwera proxy na zupełnie innym porcie i niezablokowanym adresie IP.

Użycie DPI

Aby nie obniżać prędkości transmisji danych, należy używać „Zwykłego” pasywnego DPI, które pozwala na efektywne blokowanie wszelkich zasobów, domyślna konfiguracja wygląda następująco:

  • HTTP filtruet tylko na porcie 80
  • HTTPS tylko na porcie 443
  • BitTorrent tylko na portach 6881-6889

Jednak problemy zaczynają się, gdy zasób będzie korzystać z innego portu, aby nie stracić użytkowników, wtedy trzeba będzie sprawdzać każdą paczkę, na przykład można podać:

  • HTTP działa na portach 80 i 8080
  • HTTPS na portach 443 i 8443
  • BitTorrent na każdym innym zakresie

Z tego powodu trzeba będzie przejść na „Aktywny” DPI lub użyć blokowania za pomocą dodatkowego serwera DNS.

Blokowanie za pomocą DNS

Jednym ze sposobów zablokowania dostępu do zasobu jest przechwycenie zapytania DNS za pomocą lokalnego serwera DNS i zwrócenie użytkownikowi adresu IP "wypełniacza", a nie żądanego zasobu. Nie daje to jednak gwarantowanego wyniku, ponieważ istnieje możliwość zapobieżenia zmianie adresu:

Opcja 1: Edytowanie pliku hosts (dla komputerów stacjonarnych)

Plik hosts jest nieodłączną częścią każdego systemu operacyjnego, co pozwala na jego zawsze dostępne używanie. Aby uzyskać dostęp do zasobu, użytkownik musi:

  1. Poznać adres IP żądanego zasobu
  2. Otworzyć do edycji plik hosts (wymagane uprawnienia administratora), znajdujący się w:
    • Linux: /etc/hosts
    • Windows: %WinDir%System32driversetchosts
  3. Dodać linię w formacie:
  4. Zachować zmiany

Zaletą tej metody jest jej złożoność oraz wymaganie posiadania praw administratora.

Opcja 2: DoH (DNS over HTTPS) lub DoT (DNS over TLS)

Te metody pozwalają na ochronę przed podmienieniem zapytania DNS poprzez szyfrowanie, ale nie wszystkie aplikacje wspierają ich wdrożenie. Rozważmy prostotę konfiguracji DoH dla przeglądarki Mozilla Firefox w wersji 66 z perspektywy użytkownika:

  1. Przejść pod adres about:config w Firefoxie
  2. Potwierdzić, że użytkownik bierze na siebie całe ryzyko
  3. Zmienić wartość parametru network.trr.mode na:
    • 0 — wyłączyć TRR
    • 1 — automatyczny wybór
    • 2 — włączyć DoH domyślnie
  4. Zmienić parametr network.trr.uri wybierając serwer DNS
    • Cloudflare DNS: mozilla.cloudflare-dns.com/dns-query
    • Google DNS: dns.google.com/experimental
  5. Zmienić parametr network.trr.boostrapAddress na:
    • Jeśli wybrano Cloudflare DNS: 1.1.1.1
    • Jeśli wybrano Google DNS: 8.8.8.8
  6. Zmienić wartość parametru network.security.esni.enabled na true
  7. Sprawdzić poprawność konfiguracji za pomocą usługi Cloudflare

Chociaż ta metoda jest bardziej skomplikowana, nie wymaga od użytkownika posiadania praw administratora, a także istnieje wiele innych sposobów ochrony zapytania DNS, które nie zostały opisane w tym artykule.

Opcja 3 (dla urządzeń mobilnych):

Użycie aplikacji od Cloudflare dla Android i IOS.

Testowanie

Aby sprawdzić brak dostępu do zasobów, czasowo wykupiono domenę, która została zablokowana na terytorium Rosji:

Podsumowanie

Mam nadzieję, że ten artykuł będzie pomocny i skłoni nie tylko administratorów do bardziej szczegółowego zrozumienia tematu, ale także da zrozumienie, że zasoby zawsze będą po stronie użytkownika, a poszukiwanie nowych rozwiązań powinno być dla nich nieodłączną częścią.

Przydatne linki

Uzupełnienie poza artykułemTest na Cloudflare jest niemożliwy do przejścia w sieci operatora Tele2, a prawidłowo skonfigurowany DPI blokuje dostęp do strony testowej.
P.S. To pierwszy dostawca, który prawidłowo blokuje zasoby.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster