Устранение уязвимости DNS-сервера Windows с помощью KB4569509 - критическое исправление RCE
KB4569509: Guidance for DNS Server Vulnerability CVE-2020-1350
Введение
14 июля 2020 года компания Microsoft выпустила обновление безопасности для проблемы, описанной в документе CVE-2020-1350 | Windows DNS Server Remote Code Execution Vulnerability. Данное сообщение описывает критическую уязвимость удаленного выполнения кода (RCE), которая затрагивает серверы Windows, настроенные на выполнение роли DNS Server. Мы настоятельно рекомендуем администраторам серверов как можно скорее применить обновление безопасности.
Для защиты затронутого уязвимостью сервера Windows можно использовать обходной путь на основе реестра, который не требует от администратора перезапуска сервера. Из-за нестабильности этой уязвимости администраторам, возможно, придется применить обходной путь до применения обновления безопасности, чтобы иметь возможность обновить систему с помощью стандартного каденции развертывания.
Обходной путь
Опционально: Загрузите сценарий обходного решения с сайта GitHub Repository
Чтобы обойти эту уязвимость, выполните следующее изменение реестра, ограничивающее размер наибольшего разрешенного пакета входящего DNS-ответа на основе TCP:
Подключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Значение: TcpReceivePacketSize
Тип: DWORD
Данные значения: 0xFF00
Примечания:
По умолчанию (также максимальное значение) Value data = 0xFFFF.
Рекомендуемое значение Value data = 0xFF00 (на 255 байт меньше максимального).
Для того чтобы изменения в реестре вступили в силу, необходимо перезапустить службу DNS. Для этого выполните следующую команду в поднятой командной строке:
```net stop dns && net start dns```
Важная информация об этом решении
Пакеты ответов DNS на основе TCP, превышающие рекомендуемое значение, будут отбрасываться без ошибок. Поэтому существует вероятность того, что некоторые запросы могут остаться без ответа. Это может привести к непредвиденному сбою. Данное решение негативно сказывается на работе DNS-сервера только в том случае, если он получает действительные TCP-ответы, размер которых превышает допустимый в предыдущем решении (более 65 280 байт).
Уменьшенное значение вряд ли повлияет на стандартные развертывания или рекурсивные запросы. Однако в конкретной среде может возникнуть нестандартный сценарий использования. Чтобы определить, не повлияет ли данное решение на работу сервера, необходимо включить ведение диагностического журнала и собрать набор образцов, представляющий типичный бизнес-поток. Затем необходимо просмотреть файлы журнала на предмет наличия аномально больших пакетов TCP-ответов.
Для получения дополнительной информации см. DNS Logging and Diagnostics