«Открытый преобразователь DNS» - это DNS-сервер, который разрешает рекурсивный поиск DNS для любого пользователя в Интернете. Это очень похоже на открытый SMTP-ретранслятор в том, что простое отсутствие аутентификации позволяет злонамеренным третьим сторонам распространять свои полезные данные, используя ваше незащищенное оборудование. Проблема с открытыми SMTP-реле в том, что они пересылают спам. Проблема с открытыми распознавателями DNS заключается в том, что они допускают атаку типа «отказ в обслуживании», известную как атака с усилением DNS.
Эта атака работает довольно просто - поскольку ваш сервер будет обрабатывать рекурсивные DNS-запросы от любого, злоумышленник может заставить его участвовать в DDoS, отправив серверу рекурсивный DNS-запрос, который вернет большой объем данных, намного больший, чем исходный пакет DNS-запроса. Подделяя (фальсифицируя) свой IP-адрес, они перенаправляют этот дополнительный трафик на компьютеры своих жертв, а не на свои собственные, и, конечно, они будут делать столько запросов, сколько могут, на ваш сервер и любой другой открытый DNS. решатели они могут найти. Таким образом, кто-то с относительно небольшим каналом может «усилить» атаку типа «отказ в обслуживании», используя всю пропускную способность своего канала, чтобы направить гораздо больший объем трафика на своих жертв.
ArsTechnica сделала достойную статью о недавней DDoS-атаке с DNS-усилением против Spamhaus и заслуживает быстрого прочтения, чтобы получить основы (и хорошее представление об усилении).
Самый простой способ защитить вашу систему от подобных злоупотреблений - это ограничить адреса, которые ваш сервер будет выполнять рекурсивным поиском, для ваших локальных подсетей. (Специфика которых зависит от того, какой DNS-сервер вы используете, конечно).
Например, если бы я использовал BIND 9 и хотел просто предотвратить рекурсию DNS с внешних адресов, я бы использовал следующий код в моей конфигурации:
options {
directory "/var/named/master";
allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/12; };
Эта строка кода говорит моему серверу BIND обрабатывать только рекурсивные DNS-запросы для локального петлевого адреса (который, я думаю, я мог / должен установить для локального петлевого блока, всего / 8) и 3 частных адресных пространств IPv4.
Для Windows Server 2012, которую вы говорите, используете, у вас есть варианты ниже.
1. Отделите свой DNS-сервер от своего IIS-сервера.
- По крайней мере, в идеальном мире нет причин, по которым вам нужно запускать DNS на том же компьютере, что и IIS.
- Поместите DNS на внутреннюю коробку, которая не является NAT, чтобы внешний мир не смог ее найти, и пусть IIS находится на внешней стороне, к которой может добраться остальная часть мира. Вы можете использовать правила двойной адресации или брандмауэра, чтобы выборочно разрешить доступ к вашему DNS-серверу с вашего IIS-сервера.
2. Блокируйте внешние DNS-запросы с помощью брандмауэра, такого как встроенный брандмауэр Windows.
- К моему удивлению, Windows DNS не позволяет вам ограничивать адреса, по которым выполняются рекурсивные DNS-запросы, так что это фактически рекомендуемый Microsoft метод.
-
- Выберите правила DNS (TCP и UDP), перейдите в
Remote IP address
раздел и добавьте подсети, используемые в вашей локальной сети, а также любые общедоступные IP-адреса серверов, которым требуется доступ к Active Directory. Как и в примере BIND, частные адресные пространства IPv4 - это 127.0.0.0/8
10.0.0.0/8
192.168.0.0/16
и 172.16.0.0/12
.
- Я, честно говоря, не уверен, какое влияние это окажет на вашу среду, поскольку вы на самом деле не указали, как DNS и AD настроены в вашей среде, и, соответственно, это последний вариант.
-
- Откройте диспетчер DNS.
- В дереве консоли щелкните правой кнопкой мыши соответствующий DNS-сервер и выберите Свойства.
- Где?
- DNS / соответствующий DNS-сервер
- Перейдите на вкладку «Дополнительно».
- В разделе «Параметры сервера» установите флажок «Отключить рекурсию» и нажмите кнопку «ОК».
- Поскольку у нас многолесная среда и мы используем условные серверы пересылки, я не собираюсь устанавливать этот флажок. Возможно, вам стоит подумать.