DNS flood.

Тема в разделе "Общий форум", создана пользователем ioex, 13 мар 2017.

  1. ioex

    ioex Новый участник

    Добрый день.
    Ситуация такая.
    Есть Mikroik hEX, смотрит наружу. Внутрь мапится 53(udp) на FreeBSD (bind 9.11).
    Bind первичный контролер зоны, закрывать наружу нельзя.
    На какое-то время была отрыта рекурсия запросов и это сразу заметили буржуйские боты адепты dns флуда. Я заметил избыточный исходящий трафик от себя, выяснил что трафик генерирует bind, разобрался почему, закрыл рекурсию, bind стал давать отлупы, трафик остыл. Казалось бы всё хорошо, но боты уже неделю продолжают ломиться с завидной регулярностью на 53 порт (примерно 50000 входящих пакетов в час). Запросы всё время приходят с разных адресов, исчисляются так же десятками тысяч.
    Вот лайв снифинг входящих пакетов по фильтру udp 53.
    [​IMG]
    Сейчас в пакетах фигурирует один и тот же домен hongyou8.com.
    Сначала я добавлял адреса в список с таймаутом и блочил по списку. Но т.к. список растёт как на дрожжах, то пропорционально растёт нагрузка на роутер.
    В итоге заблочил перманентно входящие пакеты правилом:
    /ip firewall filter add action=drop chain=forward comment="dns flood drop by content" \
    content=hongyou8 dst-port=53 in-interface=eth1-wan protocol=udp


    Но если контент запроса меняется, то правило (естественно) перестаёт работать.
    Подскажите, как можно изящно решить проблему?
     

    Вложения:

    Последнее редактирование: 13 мар 2017
  2. ioex

    ioex Новый участник

    Отвечу сам себе :)
    В общем чтобы отделаться малой кровью решил заблочить все входящие снаружи udp пакеты на порт 53, которые не касаются моего домена по тому же контенту.
    /ip firewall filter add action=drop chain=forward comment="dns flood drop by content" content=!my-domain dst-port=53 in-interface=eth1-wan protocol=udp

    Другого пути ловить данный флуд средствами ROS в голову не приходит. Разве что городить огород уже на самой FreeBSD: заморачиваться с IDS или сочинять самописный перловый снифер с последующей блокировкой по признаку, но это убийство времени и/или зоопарк установленных пакетов.
    dig online говорит что опрос моей зоны корректен, а остальное блочится. В принципе меня это устраивает, но вдруг у кого будут другие мысли на эту тему... :cool:
     
  3. Илья Князев

    Илья Князев Администратор Команда форума

    Большого смысла, кроме переноса нагрузки с Bind на Mikrotik я не вижу. Запросы все равно приходят занимая канал.
     
  4. ioex

    ioex Новый участник

    Ну сказать что эти пакеты занимают канал можно с натяжкой, ибо 200к пакетов в сумме составляют 12Мб. А идея была не в переносе нагрузки, а в фильтрации пакетов, чтобы они вообще до bind-а не доходили. Ну вот хотелось мне так :D
    Кстати, через сутки после того как прописал правило отрицания кроме своего домена по контенту, боты потеряли надежду и отстали, tcpdump показывает только легальный трафик ))