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