Все это напоминает сценарий «не моя проблема», который на самом деле не является вашей ошибкой и должен / может быть решен на 100% путем принятия соответствующих действий, независимо от того, насколько «сложным» или «сложным» он является, и это прекращает вашу открыть рекурсивный сервер .
Пошаговый отказ: сообщите клиентам, что этот сервер уходит с даты X. После этого им нужно установить патч (если он у вас есть), чтобы он не использовал ваш DNS-сервер. Это делается все время. Сисадмины, сетевые администраторы, ребята из службы поддержки, программисты? Мы получаем это; это событие с истекшим сроком службы происходит постоянно, потому что его стандартная операционная процедура для поставщика / поставщика услуг / партнера, чтобы он сказал нам прекратить использование чего-либо после X date. Нам это не всегда нравится, но это факт жизни в IT.
Вы говорите, что у вас нет этой проблемы на текущих устройствах, поэтому я предполагаю, что вы решили эту проблему с помощью обновления прошивки или патча. Я знаю, что вы сказали, что не можете коснуться устройства, но, конечно, они могут? Я имею в виду, если они позволяют эти коробки , по существу , домашний телефона к вам, они не могут на самом деле быть , что анальным о том, кто делает то , что их устройство; вы можете настроить обратный прокси-сервер на все, что они знают, так почему бы не попросить их установить патч, который исправит это, или попросить их использовать свои собственные DNS-серверы . Конечно, ваше устройство поддерживает DHCP; Я не могу думать о сетевом устройстве (независимо от того, сколько лет / хрупких / странных), что это не так .
Если вы не можете этого сделать, то вам нужно контролировать, кто может получить доступ к вашему рекурсивному серверу : вы говорите, что «сложно сказать», кто его использует и как, но пришло время выяснить наверняка и начать отбрасывать трафик. не законно.
Это "квази-военные / правительственные" организации, верно? Ну, они, вероятно, являются частью законного сетевого блока, которым они владеют; эти устройства не являются домашними маршрутизаторами за динамическими IP-адресами. Узнай Свяжитесь с ними, объясните проблему и то, как вы экономите им много денег, не форсируя замену прошивки или продукта, если только они могут подтвердить сетевой адрес / IP-адрес, который устройство будет использовать для доступа к вашему DNS-серверу.
Это делается постоянно: у меня есть несколько клиентов, которые таким образом ограничивают доступ к экстрасети или слушателям HL7 для медицинских партнеров; это не так сложночтобы они заполнили форму и предоставили IP-адрес и / или сетевой блок, от которого я должен ожидать трафик: если они хотят получить доступ к экстрасети, они должны предоставить мне IP-адрес или подсеть. И это редко является движущейся целью, поэтому не похоже, что вы будете ежедневно получать сотни запросов на смену IP-адресов: большие сети больничных кампусов, которые владеют собственными сетевыми блоками с сотнями подсетей и тысячами и тысячами хост-IP-адресов, регулярно дают мне горстка IP-адресов или подсети, которую я должен был ожидать; Опять же, это не пользователи ноутбуков, которые постоянно бродят по всему университетскому городку, так почему я ожидаю увидеть исходные пакеты UDP с постоянно меняющимся IP-адресом? Очевидно, я предполагаю, что я здесь предположение, но держу пари, что это не так много, как вы думаете, для <100-х устройств. Да, это будет длинный ACL, и да,
Если по какой-то причине каналы связи не открыты (или кто-то слишком напуган или не может быть обеспокоен тем, чтобы связаться с владельцами этих устаревших устройств и сделать это должным образом), вам необходимо установить базовый уровень нормального использования / активности, чтобы вы могли сформулировать какая-то другая стратегия, которая поможет (но не предотвратит) ваше участие в атаках по усилению DNS.
Длительная работа tcpdump
должна работать с фильтрацией входящего UDP 53 и подробной регистрацией в приложении DNS-сервера. Я также хотел бы начать сбор информации об исходных IP-адресах / сетевых блоках / геоИП (все ли ваши клиенты в США? Заблокировать все остальное), потому что, как вы говорите, вы не добавляете никаких новых устройств, вы просто предоставляете наследство обслуживание существующих установок.
Это также поможет вам понять, какие типы записей запрашиваются, и для каких доменов, кем и как часто : чтобы амплификация DNS работала как задумано, злоумышленник должен иметь возможность запросить большой тип записи (1) для функционирующий домен (2).
«большой тип записи»: нужны ли вашим устройствам записи TXT или SOA, чтобы они могли быть разрешены вашим рекурсивным DNS-сервером? Вы можете указать, какие типы записей действительны на вашем DNS-сервере; Я считаю, что это возможно с BIND и, возможно, с Windows DNS, но вам придется немного покопаться. Если ваш DNS-сервер отвечает SERVFAIL
какими-либо записями TXT или SOA, и, по крайней мере, этот ответ на порядок (или два) меньше полезной нагрузки, которая была предназначена. Очевидно, что вы все еще «часть проблемы», потому что фальсифицированная жертва все равно будет получать эти SERVFAIL
ответы от вашего сервера, но, по крайней мере, вы их не забиваете, и, возможно, ваш DNS-сервер «исключается» из списка (-ов) сбора. Со временем боты не «сотрудничают».
«функционирующий домен»: вы можете включать в белый список только те домены, которые являются действительными. Я делаю это на своих защищенных центрах обработки данных, где для работы серверов требуется только Центр обновления Windows, Symantec и т. Д. Тем не менее, вы просто уменьшаете ущерб, который вы наносите в этот момент: жертва все равно будет подвергаться бомбардировке NXDOMAIN
или SERVFAIL
ответам с вашего сервера, поскольку ваш сервер все равно будет реагировать на поддельный IP-адрес источника. Опять же, скрипт Bot может также автоматически обновлять свой список открытых серверов в зависимости от результатов, что может привести к удалению вашего сервера.
Я бы также использовал некоторую форму ограничения скорости, как предлагали другие, либо на уровне приложения (например, размер сообщения, количество запросов на клиента), либо на уровне брандмауэра (см. Другие ответы), но, опять же, вы собираетесь нужно сделать некоторый анализ, чтобы убедиться, что вы не убиваете законный трафик.
Система обнаружения вторжений, которая была настроена и / или обучена (опять же, здесь необходима базовая линия), должна также иметь возможность обнаруживать ненормальный трафик с течением времени по источнику или объему, но, вероятно, будет требовать регулярной няни / настройки / мониторинга для предотвращения ложных срабатываний и / или посмотреть, действительно ли это предотвращает атаки.
В конце концов, вы должны задаться вопросом, стоит ли все эти усилия того или иного, или вы просто должны настаивать на том, что все сделано правильно, и это в первую очередь устраняет проблему.