Переполнение кэша DNS может возникать по причине злонамеренных действий в этом направлении со стороны злоумышленников. Последние зачастую используют прием “фальшивых запросов” (spoofing), когда в ответ на запрос DNS отправляется набор небезопасных данных. Этот способ атаки применяется для перенаправления запросов на “фальшивый” сервер DNS злоумышленников.

Сервер DNS в Windows можно настроить для фильтрации ответов на небезопасные записи. Для этого необходимо выполнить следующие действия.

  1.  Откройте редактор системного реестра (REGEDIT.EXE).

  2.  Перейдите к разделу HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters.

  3.  В меню Правка (Edit) выберите команду Создать > Параметр DWORD (New > DWORD Value).

  4.  Введите имя SecureResponses и нажмите клавишу <Enter>.

  5.  Дважды кликните на новой записи и присвойте ей значение 1. Кликните на кнопке OK.

Следующая информация приводится из статьи Q198409 и помогает лучше усвоить принцип использования “фальшивых запросов”.

Пример: сервер DNS выполняет запрос MX для домена domain.samples.microsoft.com на сервере DNS samples.microsoft.com. Сервер samples.microsoft.com предоставляет ответ, в который, однако, включена запись типа A для сервера A.ROOT-SERVERS.NET, имеющего собственный IP-адрес. Исходя из этого можно сделать вывод, что серверу DNS злоумышленников был присвоен статус корневого сервера в кэше запрашивающего сервера DNS. Менее опасными, но более распространенными являются справочные ответы (или прямые ответы от сервера BIND; ознакомьтесь с параметром WriteAuthorityNs), которые содержат записи для сервера DNS из раздела ISP: Authority:

new.samples.microsoft.com NS ns.new.samples.microsoft.com.
new.samples.microsoft.com NS ns.isp.samples.microsoft.com.

Дополнительный раздел:

ns.new.samples.microsoft.com. A 1.1.1.1
ns.isp.samples.microsoft.com. A 2.2.2.2

Примечание: в данном случае запись адреса ISP оказывается старой/неверной. Если указан параметр SecureResponses, то записи, которые не расположены в поддереве запрашиваемой зоны, просто удаляются. Например, в приведенном выше примере сервер DNS samples.microsoft.com. получил запрос и вернул безопасные записи, кроме ns.isp.microsoft.com. Последняя запись не расположена в поддереве sample.microsoft.com. поэтому не кэшируется и не возвращается сервером DNS.