Безопасный DNS-сервер Windows
Сотрудники ИТ-инфраструктуры компании Contoso хотят убедиться, что критически важная служба DNS-сервера безопасна. DNS-сервер Windows Server предоставляет несколько вариантов защиты роли DNS-сервера, в том числе:
- Блокировка кэша DNS.
- Пул сокетов DNS.
- Проверку подлинности именованных сущностей (область DANE) на основе DNS.
- Ограничение скорости ответа (RRL).
- Поддержка неизвестной записи.
- Расширения безопасности системы доменных имен (DNSSEC).
Блокировка кэша DNS.
Блокировка кэша — это функция безопасности Windows Server, с помощью которой можно управлять тем, когда данные в кэше DNS могут быть перезаписаны. Когда рекурсивный DNS-сервер отвечает на запрос, сервер кэширует результаты, чтобы он мог быстро ответить, если он получит другой запрос, запрашивающий ту же информацию.
Период времени, в течение которого DNS-сервер хранит информацию в своем кэше, определяется значением TTL записи ресурса. Сведения в кэше могут быть перезаписаны до истечения TTL, если будут получены обновленные сведения об этой записи ресурса. Если злонамеренный пользователь успешно перезапишет информацию в кэше, то этот злоумышленник сможет перенаправить сетевой трафик на вредоносный сайт.
При использовании блокировки кэша DNS-сервер запрещает перезапись кэшированных записей в течение срока значения TTL.
Блокировка кэша настраивается как процентное значение. Например, если значение блокировки кэша равно 50, DNS-сервер не перезаписывает кэшированную запись в течение половины срока жизни. По умолчанию процент блокировки кэша равен 100. Это означает, что кэшированные записи не будут перезаписаны в течение всего срока жизни.
Блокировку кэша можно настроить с помощью выполнения команды dnscmd /Config /CacheLockingPercent <percent>
в командной строке с повышенными привилегиями.
Совет
Можно также использовать cmdlet Set-DnsServerCache –LockingPercent
Windows PowerShell
Пул сокетов DNS.
Пул сокетов DNS позволяет DNS-серверу использовать случайный выбор портов источника при выдаче запросов DNS. При запуске службы DNS сервер выбирает исходный порт из пула сокетов, доступных для выдачи запросов. Вместо использования исходного порта дискретизированных DNS сервер использует случайный номер порта, который он выбирает из пула сокетов DNS.
Пул сокетов DNS делает атаку с подменой кэша более сложной, поскольку злоумышленник должен правильно угадать исходный порт запроса DNS и случайный идентификатор транзакции для успешного выполнения атаки.
Примечание.
Пул сокетов DNS включен в Windows Server по умолчанию.
Чем больше значение, от 0 до 10 000, тем больше защита от атак спуфинга DNS.
Примечание.
По умолчанию размер пула сокетов DNS составляет 2500.
Размер пула сокетов DNS можно настроить, запустив dnscmd /Config /SocketPoolSize <value>
из командной строки с повышенными привилегиями.
ДАТЧАНИН
Протокол DANE — это функция, доступная в роли DNS-сервера Windows Server. DANE позволяет использовать записи проверки подлинности уровня транспорта (TLSA) для предоставления сведений клиентам DNS, которые задают центр сертификации (CA), от которого клиенты должны ожидать сертификат для вашего доменного имени. Это предотвращает атаки типа "злоумышленник в середине", когда кто-то может повредить кэш DNS, чтобы указать на свой веб-сайт, и предоставить сертификат, выданный другим ЦС.
Например, предположим, что ваша организация размещает защищенный веб-сайт по протоколу HTTPS с www.Contoso.com
с помощью сертификата из хорошо известного центра с именем CANorth. Кто-то может получить сертификат www.Contoso.com
из относительно неизвестного другого центра сертификации с именем CAEast.
На этом этапе сущность, на которую размещается нелегитимный www.Contoso.com
веб-сайт, может привести к повреждению кэша DNS клиента или сервера, указывающего www.Contoso.com
на его поддельный сайт. Конечный пользователь представляет сертификат из CAEast и может неназнательно подтвердить его и подключиться к сайту, отличному отlegitimate.
При использовании DANE клиент отправляет запрос на DNS-сервер для запроса Contoso.com
записи TLSA и обнаруживает, что сертификат для www.Contoso.com
был выдан центром CANorth. Если сертификат был предложен другим ЦС, он завершает соединение.
RRL
RRL — это усовершенствование протокола DNS, которое может помочь в предотвращении атак с усилением DNS. Атака усиления — это тип распределенного отказа в обслуживании (от атак DDoS), при котором злоумышленники используют общедоступные открытые DNS-серверы для переполнения целевой системы трафиком ответа DNS. Основной метод подразумевает, что атакующий отправляет запрос на просмотр DNS-имени на открытый DNS-сервер с подложным исходным адресом, который выдается за целевой адрес.
Когда DNS-сервер отправляет ответ записи DNS, он отправляется в целевой объект. Этого можно избежать, включив RRL на DNS-серверах. RRL постоянно отслеживает запросы DNS клиента и если многие запросы исходят из одного источника, запрашивая аналогичные имена в течение указанного короткого периода, RRL помечает их как потенциально вредоносные. RRL может игнорировать запросы или ответить на них при усечении, что заставляет клиента согласовывать трехстороннее подтверждение TCP для подтверждения.
Поддержка неизвестной записи.
Записи, которые явно не поддерживаются DNS-сервером Windows, можно добавить в зону DNS Windows Server с помощью функции неизвестной записи. Это означает, что можно добавить неподдерживаемые типы записей в зоны DNS-сервера Windows в двоичном формате. DNS-сервер Windows Server не будет выполнять обработку для неизвестных записей, но будет отправлять разрешение обратно в ответы, если запросы получены для этой записи.