У меня не самый сильный опыт в области компьютерной безопасности, но вчера один из серверов моей компании был отключен нашим хостом.
Это сервер с общедоступным IP-адресом, на котором я размещаю несколько приложений веб-служб, включая веб-сайты и API. Мне сказали, что на моем сервере «работает открытый DNS-преобразователь, который используется для ретрансляции атаки отказа в обслуживании на внешний объект».
Что это значит? Как работает эта атака? И как я могу защитить свою систему от такого злоупотребления?
В моем конкретном случае рассматриваемый сервер находится на Windows Server 2012 и обслуживает DNS для домена Active Directory.
«Открытый DNS-преобразователь» - это DNS-сервер, который желает разрешить рекурсивные поисковые запросы DNS для всех в Интернете. Это очень похоже на открытый ретранслятор SMTP в том смысле, что простое отсутствие аутентификации позволяет третьим сторонам-злоумышленникам распространять свои полезные данные, используя ваше незащищенное оборудование. Проблема с открытыми ретрансляторами SMTP заключается в том, что они пересылают спам. Проблема с открытыми преобразователями DNS заключается в том, что они допускают атаку отказа в обслуживании, известную как атака с усилением DNS.
Эта атака работает довольно просто - поскольку ваш сервер будет разрешать рекурсивные DNS-запросы от кого угодно, злоумышленник может заставить его участвовать в DDoS-атаке, отправив вашему серверу рекурсивный DNS-запрос, который вернет большой объем данных, намного превышающий исходный пакет запроса DNS. Подделывая (подделывая) свой IP-адрес, они будут направлять этот дополнительный трафик на компьютеры своей жертвы, а не на свои собственные, и, конечно же, они будут делать как можно больше запросов на ваш сервер и любой другой открытый DNS. резолверы они могут найти. Таким образом, кто-то с относительно небольшим каналом может «усилить» атаку отказа в обслуживании, используя всю полосу пропускания на своем канале, чтобы направить гораздо больший объем трафика своим жертвам.
ArsTechnica опубликовала достойную статью о недавней DDoS-атаке DNS Amplification против 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, который вы используете, у вас есть следующие варианты.
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
.