Назад | Перейти на главную страницу

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, но остальная часть доменного имени постоянно меняется. Самое простое решение - добавить правило на основе hashlimit для iptables, но клиенты находятся за NAT, поэтому трафик, поступающий на DNS, помечается IP-адресом концентратора. Я пробовал также использовать зону spywaredomains, но удаленный домен постоянно меняется, поэтому я не могу его заблокировать. Количество запросов с доменами спама приводит к чрезмерному разрастанию кэша PowerDNS, а также значительно увеличивает счетчик remote_timeout. Есть ли способ защититься от такого трафика и заставить 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/f Further-dos-guidance-packages-and-patches-available/ (перефразируя):

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

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

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

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

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

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