DNS - рекурсивные запросы спама

Я использую PowerDNS Recursor в локальной среде интернет-провайдера. Рекурсия разрешена только из нашего диапазона IP-адресов, но у меня возникла странная проблема. ПК наших клиентов продолжает атаковать наш DNS-сервер такими вопросами:

15:43:38.473842 IP [CLIENT_IP].51097 > [DNSSERVER_IP].domain: 42318+ A? qhmrazabkvghwtgv.www.dl26.com. (47)
15:43:38.474161 IP [CLIENT_IP].40825 > [DNSSERVER_IP].domain: 14848+ A? yzqxqtklodgzuv.www.dl26.com. (45)
15:43:38.474443 IP [CLIENT_IP].34094 > [DNSSERVER_IP].domain: 35692+ A? inahybijsvqt.www.sf97.net. (43)
15:43:38.474953 IP [CLIENT_IP].39432 > [DNSSERVER_IP].domain: 7105+ A? kpkfgrsxihst.www.tpa.net.cn. (45)

Удаленный домен почти всегда.cn один, но остальная часть имени домена постоянно меняется. Самое простое решение - добавить правило на основе хеш-лимитов для iptables, но клиенты находятся за NAT, поэтому трафик, поступающий в DNS, помечается IP-адресом концентратора. Я также пытался использовать зону spywaredomains, но удаленный домен постоянно меняется, поэтому я не могу его заблокировать. Количество запросов к доменам спама приводит к перерастанию кэша PowerDNS, а также к значительному увеличению числа удаленных тайм-аутов. Есть ли способ защититься от такого трафика и заставить DNS снова работать как чудо?

3 ответа

Решение

Это одна из распределенных атак на авторитетные DNS-серверы, которая была замечена в последнее время. (не путать с более популярными атаками с усилением DNS) Жертвами являются серверы имен, отвечающие за домен, ближайший к TLD - tpa.net.cn, sf97.netи т. д. Стратегия атаки заключается в создании запросов, которые не будут кэшироваться.

Это не просто вопрос блокировки отдельного клиента. Если вы видите это, это, как правило, является симптомом одного из следующих факторов:

  • Вы работаете с "открытым распознавателем", кэширующим DNS-сервером, доступным для общего Интернета.
  • Ваши клиенты работают с открытыми определителями и пересылают запросы на ваши серверы имен. (это чаще, чем думает большинство людей)

По моему опыту, вам необходимо определить, какой из этих случаев имеет место, и предпринять шаги, чтобы уменьшить количество векторов злоупотреблений в вашей сети.

С http://blog.powerdns.com/2014/02/06/related-to-recent-dos-attacks-recursor-configuration-file-guidance/:

многие установки PowerDNS в Linux настроены так, чтобы использовать (намного) больше файловых дескрипторов, чем фактически доступно... Для исправления существует четыре варианта:

  1. Уменьшите max-mthreads до 512 (или потоков до 1 и max-mthreads до 1024) (max-mthreads был представлен в Recursor 3.2; но если вы запускаете старую версию, обновите ее!)
  2. Запустите 'ulimit -n 32768' перед запуском (возможно, поместите это в скрипт /etc/init.d/). Там мало причин, чтобы пропустить этот номер.
  3. Исследуйте значения по умолчанию в /etc/security/limits.conf
  4. Примените патч в https://github.com/Habbie/pdns/commit/e24b124a4c7b49f38ff8bcf6926cd69077d16ad8

От http://blog.powerdns.com/2014/04/03/further-dos-guidance-packages-and-patches-available/ (перефразируя):

Установите рекурсор из git head (моментальные снимки по различным URL-адресам, перечисленным в статье, или найдите его на https://autotest.powerdns.com/), или вовремя выпустите версии 3.5.4 или выше. Затем установите server-down-max-fails на подходящий номер. Мы рекомендуем 32 или 16 под сильной атакой.

Что вы можете сделать, это заблокировать доступ этого клиента к серверу имен. Альтернативным решением будет очистить клиентскую систему (ы). Лично я предлагаю сделать второе, первое было бы хорошо, если бы вы перенаправили клиента на IP-адрес, на котором есть страница, предупреждающая их и помогающая решить проблему.

Другие вопросы по тегам