В тази статия не се разглежда пълната настройка на DPI и свързаното с него, а научната стойност на текста е минимална. Но в нея се описва най-простият начин за заобикаляне на DPI, който много компании не вземат предвид.

Предупреждение №1: тази статия има изследователски характер и не подбужда никого да предприема мерки или да използва информацията. Идеята е основана на личен опит, а всякакви съвпадения са случайни.
Предупреждение №2: в статията не се разкриват тайни на Атлантида, търсенето на Светия Граал и други загадки на вселената, материалът е публично достъпен и е възможно да е бил описан многократно на Хаб. (Не намерих, ще бъда благодарен за линк)
За тези, които прочетоха предупрежденията, да започнем.
Какво е DPI?
DPI или Deep Packet Inspection — технология за събиране на статистически данни, проверка и филтриране на мрежови пакети чрез анализ на не само заглавията на пакетите, но и на цялото съдържание на трафика на нивата на модела OSI от второ нагоре, което позволява откриването и блокирането на вируси, филтриране на информация, която не отговаря на зададените критерии.
Съществуват два типа свързване на DPI, които са описани :
Пасивен DPI
DPI, свързан в мрежата на доставчика паралелно (не в разрез) или чрез пасивен оптичен сплитер, или с използване на огледалене на изходящия трафик от потребителите. Това свързване не забавя скоростта на работа на мрежата на доставчика в случай на недостатъчна производителност на DPI, поради което се използва от големи доставчици. DPI с такъв тип свързване технически може само да идентифицира опити за достъп до забранено съдържание, но не може да ги спре. За да заобиколи това ограничение и да блокира достъпа до забранен сайт, DPI изпраща на потребителя, който иска блокиран URL, специално създаден HTTP пакет с пренасочване към страница-задръстител на доставчика, сякаш такъв отговор е изпратил самият запитващ ресурс (копира се IP адреса на изпращача и TCP последователността). Поради факта, че DPI физически е разположен по-близо до потребителя, отколкото запитваният сайт, фалшивият отговор достига до устройството на потребителя по-бързо от истинския отговор от сайта.
Активен DPI
Активният DPI е свързан по стандартния начин към мрежата на доставчика, подобно на всяко друго мрежово устройство. Доставчикът настройва маршрутизацията така, че DPI да получава трафика от потребителите към блокираните IP адреси или домейни, а DPI след това взима решение за пропускане или блокиране на трафика. Активният DPI може да проверява както изходящия, така и входящия трафик, обаче, ако доставчикът прилага DPI единствено за блокиране на сайтове от регистъра, най-често е настроен да проверява само изходящия трафик.
Типът на свързването влияе не само на ефективността на блокирането на трафика, но и на натоварването на DPI, поради което съществува възможност да не се проверява целият трафик, а само определен:
„Обычен“ DPI
Под „обикновен“ DPI се разбира такъв DPI, който филтрира определен тип трафик само на най-разпространените портове за този тип. Например, „обикновеният“ DPI открива и блокира забранения HTTP трафик само на порт 80, а HTTPS трафик на порт 443. Този тип DPI няма да следи забраненото съдържание, ако изпратите заявка с блокиран URL на незаблокиран IP адрес или нестандартен порт.
„Пълен“ DPI
В отличие от „обикновения“ DPI, този тип DPI класифицира трафика независимо от IP адреса и порта. По този начин, забранените сайтове няма да се отворят, дори ако използвате прокси сървър на съвсем друг порт и незаблокиран IP адрес.
Използване на DPI
За да не се намалява скоростта на предаване на данни, е необходимо да се използва „обикновен“ пасивен DPI, който позволява ефективно блокиране на всякакви ресурси. По подразбиране конфигурацията изглежда така:
- HTTP филтрация само на порт 80
- HTTPS само на порт 443
- BitTorrent само на портове 6881-6889
Но проблемите започват, ако ресурсът използва друг порт, за да не загуби потребителите, тогава ще трябва да се проверява всеки пакет, за пример може да се посочи:
- HTTP работи на порт 80 и 8080
- HTTPS на порт 443 и 8443
- BitTorrent на всякакъв друг диапазон
Поради това ще се наложи или да се премине към „активен“ DPI, или да се използва блокиране с допълнителен DNS сървър.
Блокиране с помощта на DNS
Един от начините да блокирате достъпа до ресурс е да прихванете DNS запитването с помощта на локален DNS сървър и да върнете на потребителя IP адрес на „глушител“, а не на искания ресурс. Но това не дава гарантирован резултат, тъй като има възможност да се предотврати подмяната на адреса:
Вариант 1: Редактиране на файла hosts (за десктоп)
Файлът hosts е неразделна част от всяка операционна система, което позволява да се използва винаги. За да получите достъп до ресурса, потребителят трябва:
- Да научи IP адреса на искания ресурс
- Да отвори за редактиране файла hosts (нужни са администраторски права), разположен в:
- Linux: /etc/hosts
- Windows: %WinDir%System32driversetchosts
- Да добави ред във формат:
- Да запази промените
Предимството на този метод е неговата сложност и изискването за наличието на администраторски права.
Вариант 2: DoH (DNS over HTTPS) или DoT (DNS over TLS)
Тези методи позволяват защита от подмяна на DNS запитвания чрез криптиране, но реализацията не се поддържа от всички приложения. Нека разгледаме простотата на настройката на DoH за Mozilla Firefox версия 66 от страна на потребителя:
- Да посетите адреса в Firefox
- Да потвърдите, че потребителят поема целия риск
- Да промените стойността на параметъра network.trr.mode на:
- 0 — деактивира TRR
- 1 — автоматичен избор
- 2 — активиране на DoH по подразбиране
- Да промените параметъра network.trr.uri избирайки DNS сървър
- Cloudflare DNS:
- Google DNS:
- Да промените параметъра network.trr.boostrapAddress на:
- Ако е избран Cloudflare DNS: 1.1.1.1
- Ако е избран Google DNS: 8.8.8.8
- Да промените стойността на параметъра network.security.esni.enabled на истинно
- Да проверите правилността на настройките с помощта на
Въпреки че този метод е по-сложен, той не изисква наличието на администраторски права от потребителя и също така съществуват много други начини за защита на DNS запитванията, които не са описани в тази статия.
Вариант 3 (за мобилни устройства):
Използване на приложението на Cloudflare за и .
Тестване
За проверка на отсъствието на достъп до ресурсите беше временно закупен домейн, блокиран на територията на Руската Федерация:
Заключение
Надявам се, че тази статия ще бъде полезна и ще вдъхнови не само администраторите да се задълбочат в темата, но и ще даде разбиране, че ресурсите винаги ще бъдат на страната на потребителя, а търсенето на нови решения трябва да бъде неотменна част от тях.
Полезни връзки
Допълнение извън статиятаТестът на Cloudflare не може да бъде преминат в мрежата на оператора Tele2, а правилно конфигурираният DPI блокира достъпа до тестовата площадка.
P.S. Това е първият оператор, който правилно блокира ресурсите.
Източник: habr.com
