Для блокировки https ресурсов, имеющих малый TTL для DNS A записей, нужно обязательно настроить DNS-spoofing. |
1. Страница-заглушка
Для настройки DNS-spoofing сначала необходимо установить и настроить страницу-заглушку для перенаправления абонентских запросов.
Можно сделать на отдельном сервере, либо прямо на редукторе.
2. Настройка DNS-spoofing
DNS-spoofing включен автоматически. Для его корректной работы необходимо указать IP-адрес страницы-заглушки.
IP адрес, на котором заглушка доступна для всех абонентов, укажите в опции:
menu -> Reductor -> Настройка алгоритма фильтрации -> IP для DNS-ответов
3. Зеркало трафика
- Необходимо, чтобы в "зеркале" трафика присутствовал исходящий от абонентов DNS трафик udp dst port 53. Трафик самого DNS-сервера в зеркале не нужен.
- В качестве альтернативы/дополнения п.1 можно использовать набор скриптов на DNS-сервере для интеграции с Carbon Reductor.
Как работает DNS-спуфинг
Схема работы (для dns) выглядит приблизительно следующим образом:
A - абонент, R - редуктор, S - блокируемый сайт, D - DNS-сервер используемый абонентом, Z - сервер страницы-заглушки
- A -> dns query AAAA S -> D - абонент A запрашивает DNS сервер D об IPv6 адресе заблокированного ресурса S
- R -> dns empty query response AAAA S -> A - редуктор R отправляет абоненту A пустой DNS ответ от имени DNS-сервера D
- A -> dns query A S -> D - абонент A запрашивает DNS сервер D об IPv4 адресе заблокированного ресурса S
- R -> dns query response A S = Z -> A - редуктор R отправляет абоненту A DNS ответ с адресом страницы-заглушки Z от имени DNS-сервера D
- A -> http/https Host: S, -> Z - абонент обращается к серверу страницы заглушки с заголовками Host = блокируемый домен, GET - без изменений, протокол - без изменений.
- HTTPS cert error в случае обращения по HTTPS абоненту будет предложено принять заведомо неправильный самоподписной HTTPS-сертификат чтобы подключиться к странице-заглушке.
- Z -> http/200 -> A - отправка содержимого страницы-заглушки.
Дополнительная/альтернативная схема с использованием http://docs.carbonsoft.ru/pages/viewpage.action?pageId=67404296 отличается тем, что в таком случае DNS-ответ присылает не Carbon Reductor, а провайдерский DNS-сервер.