{toc}
Как фильтруется HTTPS? Вообще, способов фильтрации используется несколько и одновременно. У провайдера есть возможность включать/отключать способы так, как он считает нужным, рекомендации указаны при установке.
Список подходов:
* DNS фильтрация
* SNI фильтрация
* IP фильтрация
* Проксирование HTTPS-трафика
Фильтруются следующие порты: 443 в любом случае + все нестандартные порты у https-ссылок, имеющиеся в реестре.
h2. DNS
[http://docs.carbonsoft.ru/display/REDUCTOR9/DNS]
h2. SNI
Включена по умолчанию. Используется в большей степени для подстраховки DNS-фильтрации, так как SNI-заголовок не обязателен в Client-Hello пакете. При срабатывании пользователю посылается TCP-RST пакет. !https://www.carbonsoft.ru/wp-content/uploads/2018/11/Carbon-Reductor-DPI-X-SNI-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F.png|border=1!
*Принцип работы:* При запросе от абонентской машины IP адреса по доменному имени, редуктор отдаст "Ip адрес для DNS ответов" (из меню), на котором у вас находится страница заглушки. Если при этом использовалось https соединение, то опция SNI фильтрация исключит запрос и получение сертификата.
Схема при срабатывании:
{code}
1. Абонент ---TCP SYN--> Сервер
2. Абонент <--TCP SYN/ACK -- Сервер
3. Абонент ---TCP ACK--> Сервер
4. Абонент ---TCP: PSH/ACK SSL: Client Hello --> Сервер
5. Абонент <--TCP RST--- Редуктор
..
x. Сервер ---TCP PSH/ACK SSL: Server Hello --> Абонент
{code}
Но абоненту будет уже не важно.
h3. {color:#000000}{*}IP-фильтрация{*}{color}
В едином реестре запрещенных сайтов содержится большое количество сетевых адресов, которые необходимо заблокировать по всем протоколам и портам без расшифровки трафика. Данный способ является самым простым, чтобы полностью ограничить доступ к ресурсу. Но у него есть один «большой» недостаток. Множество сайтов может использовать один и тот же IP-адрес, следовательно доступ будет закрыт ко всем ресурсам, не только запрещенным. При обнаружении запроса на IP-адрес запрещённого ресурса, абоненту и сайту отправляется TCP-RST пакет.
h3. Фильтрация ресурсов, которые иначе не заблокировать
например:
{code}
https://1.2.3.4/bad/things
{code}
При совпадении IP адресов, попавших в реестр в таком виде, пользователю посылается TCP-RST.
h3. Проксирование трафика
Решение для редиректа и фильтрации с точностью до URL ресурсов, использующих технологию HSTS находится в экспериментальном состоянии.
Большая часть популярных решений не обеспечивают должной производительности при потоке трафика больше 1гбит/c, а способы отправки трафика (BGP/OSPF) требуют знания всех IP-адресов, в которые может отрезолвиться заблокированный ресурс на всех теоретически доступных DNS-серверах машин, проводящих проверку, что маловероятно является возможным.
Пилотные проекты показывают переменный успех, необходимо больше тестирования на большой и реальной нагрузке.
Как фильтруется HTTPS? Вообще, способов фильтрации используется несколько и одновременно. У провайдера есть возможность включать/отключать способы так, как он считает нужным, рекомендации указаны при установке.
Список подходов:
* DNS фильтрация
* SNI фильтрация
* IP фильтрация
* Проксирование HTTPS-трафика
Фильтруются следующие порты: 443 в любом случае + все нестандартные порты у https-ссылок, имеющиеся в реестре.
h2. DNS
[http://docs.carbonsoft.ru/display/REDUCTOR9/DNS]
h2. SNI
Включена по умолчанию. Используется в большей степени для подстраховки DNS-фильтрации, так как SNI-заголовок не обязателен в Client-Hello пакете. При срабатывании пользователю посылается TCP-RST пакет. !https://www.carbonsoft.ru/wp-content/uploads/2018/11/Carbon-Reductor-DPI-X-SNI-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F.png|border=1!
*Принцип работы:* При запросе от абонентской машины IP адреса по доменному имени, редуктор отдаст "Ip адрес для DNS ответов" (из меню), на котором у вас находится страница заглушки. Если при этом использовалось https соединение, то опция SNI фильтрация исключит запрос и получение сертификата.
Схема при срабатывании:
{code}
1. Абонент ---TCP SYN--> Сервер
2. Абонент <--TCP SYN/ACK -- Сервер
3. Абонент ---TCP ACK--> Сервер
4. Абонент ---TCP: PSH/ACK SSL: Client Hello --> Сервер
5. Абонент <--TCP RST--- Редуктор
..
x. Сервер ---TCP PSH/ACK SSL: Server Hello --> Абонент
{code}
Но абоненту будет уже не важно.
h3. {color:#000000}{*}IP-фильтрация{*}{color}
В едином реестре запрещенных сайтов содержится большое количество сетевых адресов, которые необходимо заблокировать по всем протоколам и портам без расшифровки трафика. Данный способ является самым простым, чтобы полностью ограничить доступ к ресурсу. Но у него есть один «большой» недостаток. Множество сайтов может использовать один и тот же IP-адрес, следовательно доступ будет закрыт ко всем ресурсам, не только запрещенным. При обнаружении запроса на IP-адрес запрещённого ресурса, абоненту и сайту отправляется TCP-RST пакет.
h3. Фильтрация ресурсов, которые иначе не заблокировать
например:
{code}
https://1.2.3.4/bad/things
{code}
При совпадении IP адресов, попавших в реестр в таком виде, пользователю посылается TCP-RST.
h3. Проксирование трафика
Решение для редиректа и фильтрации с точностью до URL ресурсов, использующих технологию HSTS находится в экспериментальном состоянии.
Большая часть популярных решений не обеспечивают должной производительности при потоке трафика больше 1гбит/c, а способы отправки трафика (BGP/OSPF) требуют знания всех IP-адресов, в которые может отрезолвиться заблокированный ресурс на всех теоретически доступных DNS-серверах машин, проводящих проверку, что маловероятно является возможным.
Пилотные проекты показывают переменный успех, необходимо больше тестирования на большой и реальной нагрузке.