... Для блокировки https ресурсов, имеющих малый TTL для DNS A записей, нужно обязательно настроить DNS-spoofing. {toc} h1. 1. Страница-заглушка Для настройки DNS-spoofing сначала необходимо установить и настроить страницу-заглушку для перенаправления абонентских запросов. Можно сделать на [отдельном сервере|https://github.com/carbonsoft/reductor_blockpages] (мы рекомендуем), либо [прямо на редукторе|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=51708283] (не очень рекомендуем). h1. 2. Настройка DNS-spoofing
|
... {panel} menu -> Reductor -> Настройка алгоритма фильтрации -> IP для DNS-ответов {panel} По умолчанию указан IP адрес 127.0.0.1, измените его на адрес сервера с заглушкой. h1. 3. Зеркало трафика # Необходимо, чтобы в "зеркале" трафика присутствовал исходящий от абонентов DNS трафик udp dst port 53. Трафик самого DNS-сервера в зеркале не нужен. # В качестве альтернативы/дополнения п.1 можно использовать [набор скриптов на DNS-сервере для интеграции с Carbon Reductor|https://github.com/carbonsoft/named_fakezone_generator]. h1. Как работает DNS-спуфинг Схема работы (для dns) выглядит приблизительно следующим образом: A - абонент, R - редуктор, S - блокируемый сайт, D - DNS-сервер используемый абонентом, Z - сервер страницы-заглушки # *A \-> dns query AAAA S \-> D* \- абонент A запрашивает DNS сервер D об IPv6 адресе заблокированного ресурса Z # *R \-> dns empty query response AAAA S \-> A* \- редуктор R отправляет абоненту A пустой DNS ответ от имени DNS-сервера D # *A \-> dns query A S \-> D* \- абонент A запрашивает DNS сервер D об IPv4 адресе заблокированного ресурса Z # *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* \- отправка содержимого страницы-заглушки. Дополнительная/альтернативная схема с использованием https://github.com/carbonsoft/named_fakezone_generator отличается тем, что в таком случае DNS-ответ присылает не Carbon Reductor, а провайдерский DNS-сервер.
|