DNS

по сравнению с
Текущая oleg
на июн 22, 2016 18:57.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (3)

просмотр истории страницы
Для блокировки https ресурсов, имеющих малый TTL для DNS A записей, нужно обязательно настроить DNS-spoofing.

{toc}



h1. 1. Страница-заглушка

# Необходимо, чтобы в "зеркале" трафика присутствовал исходящий от абонентов 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-сервер.