Не работает DNS-спуфинг, процесс отладки

Skip to end of metadata
Go to start of metadata

Для более точной локализации бага будет удобен какой-нибудь редко используемый в сети ресурс, хостящийся на 1 статическом IP адресе.

0. Другие виды фильтрации работают?

Если до этого не работало ничего, лучше начать процесс интеграции с самого начала, сперва настроив хотя бы HTTP-фильтрацию.

1. Она включена и настроена?

В цепочке

iptables -nvL dns

должно быть правила редиректа на IP заглушки.

2. Домен на котором тестируете вообще должен блокироваться?

Проверить можно командой:

grep badsite.com /usr/local/Reductor/lists/https.resolv

Примечание: наличие blabla.badsite.com в файле не означает блокировку всего badsite.com.

3. DNS-трафик (в целом) попадает в зеркало?

Посмотреть можно командой, но только для конкретного интерфейса, например eth1.100

/usr/local/Reductor/bin/mirror_info.sh eth1.100

или

tcpdump -nnvi eth1.100 -c 100 udp dst port 53

4. Проверьте фильтрацию при обращении на публичные DNS-сервера

На тестовом абоненте выполните:

nslookup badsite.com 8.8.8.8

Или

dig badiste.com A @8.8.8.8

4.1 Результат резолва на 8.8.8.8 вернул оригинальный IP ресурса

Предположим абонент имеет IP 10.30.40.50 и без NAT попадает в зеркало трафика.

На редукторе запустите:

tcpdump -nnvi eth1.100 udp port 53 and host 10.30.40.50 and host 8.8.8.8

и повторите запрос. Если трафик не попал в tcpdump, значит дело в настройке зеркала трафика конкретно для этого абонента. Возможно дело в NAT.

4.2 Локализуем то, что проблема с NAT

Возьмём какой-нибудь малопосещаемый сайт, а ещё лучше выдумаем домен сами.

На редукторе запускаем:

tcpdump -nnvi eth1.100 udp port 53 and host 8.8.8.8 | grep badsite12345.com

На клиенте:

nslookup badsite12345.com 8.8.8.8

В итоге если трафик всё же попадает в зеркало, то увидим с каким адресом на самом деле к нам попадает абонент.

5. Проверьте фильтрацию при обращении на DNS-сервера провайдера

Если не работает, а все предыдущие пункты в порядке, значит дело в том, что трафик абонента до используемого им DNS-сервера не попадает в зеркало трафика. Возможно в зеркало попадает трафик от самого DNS-сервера к которому обращается абонент, но его отфильтровать проблематично из-за использования DNSSec. Варианты решения проблемы:

  • Передвинуть зеркало трафика так, чтобы оно находилось между абонентом и DNS-сервером
  • Передвинуть DNS-сервер так, чтобы он находился после зеркала трафика
  • Интегрировать DNS-сервер с Carbon Reductor с помощью https://github.com/carbonsoft/named_fakezone_generator. Сейчас поддерживаются bind/named и unbound.
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.