Управление глобальным списком блокировки запросов

advertisement
Управление глобальным списком блокировки
запросов
Функция динамического обновления DNS позволяет клиентским компьютерам регистрировать и
динамически обновлять свои записи ресурсов на DNS-сервере при каждом изменении сетевого
адреса или имени узла. Это сокращает необходимость в ручном администрировании записей зоны.
Однако это удобство приводит к некоторому ущербу, так как любой авторизованный клиент может
зарегистрировать любое неиспользуемое имя узла, даже имя узла, которое может иметь особое
значение для некоторых приложений. Это может позволить злоумышленнику присвоить
специальное имя и переключать определенные типы сетевого трафика на свой компьютер.
Два часто развертываемых протокола особенно уязвимы для этого типа перехвата: протокол
автоматического обнаружения веб-прокси (WPAD) и протокол внутриузловой автоматической
туннельной адресации (ISATAP). Даже если в сети не развернуты эти протоколы, клиенты,
настроенные на их использование, уязвимы для перехвата, который делает возможным
динамическое обновление DNS. Чтобы предотвратить такой перехват, роль DNS-сервера в Windows
Server 2008 включает глобальный список блокировки запросов, который способен помешать
злоумышленнику перехватывать имена DNS, имеющие специальное назначение.
Большинство браузеров использует протокол WPAD для обнаружения и применения параметров
конфигурации, которые позволяют им использовать сетевой прокси-сервер. Эти параметры
конфигурации содержатся в файле, расположенном на сервере. Браузер находит этот сервер,
запрашивая у DHCP-сервера URL-адрес сетевого сервера WPAD. Если запрос приводит к неудаче,
браузер пытается обнаружить WPAD-сервер с помощью стандартных запросов разрешения имен
DNS.
Например, если браузер работает на компьютере под управлением Windows с именем
laptop.acctg.corp.contoso.com, то он попытается найти файл конфигурации WPAD по следующим
URL-адресам:

http://wpad.acctg.corp.contoso.com/wpad.dat

http://wpad.corp.contoso.com/wpad.dat

http://wpad.contoso.com/wpad.dat
Если браузер обнаружит файл Wpad.dat в любом из этих расположений, он считает его содержимое
и настроит свои параметры соответствующим образом.
К сожалению, обезопасить данный процесс автоматического обнаружения невозможно. Любой
компьютер, зарегистрированный в зоне DNS с именем wpad, может предоставить конфигурацию
WPAD клиентам в сети, даже если соответствующий файл содержит параметры, заставляющие
клиентов использовать ложный прокси-сервер, например, чтобы перенаправить браузер клиента на
поддельные веб-узлы. Функция динамического обновления DNS позволяет злоумышленнику
добиться этого без участия системного администратора DNS, просто назначив компьютеру имя
wpad и подключив его к сети. Если в зоне нет другого компьютера с таким же именем, компьютер
злоумышленника может зарегистрировать свое имя на DNS-сервере, заслуживающем доверия для
его зоны, а затем направлять все запросы WPAD на себя.
Функция списка блокировки, обеспечиваемая ролью DNS-сервера в Windows Server 2008, помогает
предотвратить перехват WPAD, гарантируя, что запросы WPAD-серверов всегда будут приводить к
неудаче, если WPAD не исключен из списка блокировки.
Протокол ISATAP обеспечивает переход между сетями, основанными на протоколе IP версии 4
(IPv4) и сетями, основанными только на современном протоколе IP версии 6 (IPv6). ISATAP
обеспечивает переход, используя метод туннелирования для доставки трафика IPv6 в рамках
инфраструктуры IPv4. Другими словами, ISATAP инкапсулирует пакеты IPv6 в заголовки IPv4,
которые позволяют передавать пакеты IPv6 через одиночный маршрутизатор ISATAP с одного узла
с включенным протоколом ISATAP на другой узел с этим протоколом. Эта передача происходит
независимо от расположения узлов в сети и не зависит от версии протокола IP, используемой в
подсетях узлов.
Протокол ISATAP не поддерживает автоматическое обнаружение маршрутизаторов. Вместо этого
для обнаружения доступных маршрутизаторов ISATAP узлы ISATAP используют список
потенциальных маршрутизаторов (PRL). Чаще всего узлы ISATAP создают свои PRL, используя
DNS для обнаружения в локальном домене узла с именем isatap. Например, если имя локального
домена — corp.contoso.com, то узел ISATAP запрашивает у DNS адрес IPv4 узла с именем
isatap.corp.contoso.com.
Ввиду этого злоумышленник может подделать ISATAP-маршрутизатор почти таким же способом,
как и WPAD-сервер: он может использовать динамическое обновление, чтобы зарегистрировать
свой компьютер как поддельный маршрутизатор ISATAP, а затем перенаправлять сетевой трафик
между компьютерами с протоколом ISATAP. Чтобы этому помешать, служба DNS-сервера
Windows Server 2008 блокирует разрешение имени узла isatap по умолчанию.
В конфигурации по умолчанию служба DNS-сервера Windows Server 2008 хранит список имен,
которые она, в сущности, игнорирует при получении запроса на разрешение имен в любой зоне, для
которой этот сервер является заслуживающим доверия. Для этого служба DNS-сервера сначала
проверяет запросы на соответствие списку. Затем, если крайняя слева часть имени соответствует
записи в списке, то служба DNS-сервера отвечает на запрос так же, как она ответила бы при
отсутствии записи ресурса, даже если для данного имени в зоне имеется запись ресурса узла (A или
AAAA). Таким образом, если запись ресурса узла (A или AAAA) существует в зоне из-за того, что
узел использовал динамическое обновление, чтобы зарегистрировать себя под заблокированным
именем, служба DNS-сервера не разрешает это имя.
Список блокировки автоматически применяется ко всем зонам, для которых сервер является
заслуживающим доверия. Например, если DNS-сервер является заслуживающим доверия для
contoso.com и europe.contoso.com, то он игнорирует запросы как для имени wpad.contoso.com, так и
для имени wpad.europe.contoso.com. Однако служба DNS-сервера не игнорирует запросы для имен в
зонах, для которых он не является заслуживающим доверия. Говоря точнее, служба DNS-сервера не
игнорирует запросы, которые она получает через сервер пересылки или зону-заглушку либо в
качестве результата обычной рекурсии или переадресации. Если список блокировки заставляет
службу DNS-сервера игнорировать запрос записи ресурса, которая существует в зоне, то служба
регистрирует событие, которое объясняет, почему она это сделала. Это событие регистрируется
только один раз с момента перезапуска DNS-сервера, чтобы предотвратить переполнение журнала
событий при попытке атаки типа «отказ в обслуживании» (DOS).
Важно
Все DNS-сервера, заслуживающие доверия для зоны, должны работать под управлением Windows
Server 2008 и иметь один и тот же список блокировки, чтобы гарантировать согласованность
результатов клиентских запросов разрешения имен, которые находятся в списке блокировки.
Список блокировки является серверным параметром и не реплицируется между серверами.
Так как служба DNS-сервера применяет список блокировки ко всем записям ресурсов, а не только к
записям ресурсов узла (A или AAAA), она игнорирует запросы для таких типов записей ресурсов,
как записи почтового обменника (MX) и расположения службы (SRV). Тем не менее, поскольку
служба DNS-сервера не применяет список блокировки к самим именам зон, администратор может,
например, создать зону с именем wpad.contoso.com и добавить в эту зону записи ресурсов узла. В
этом случае служба DNS-сервера продолжает разрешать имена в зоне wpad.contoso.com.
Начальное содержимое списка блокировки зависит от того, были ли развернуты протоколы WPAD
или ISATAP при добавлении роли DNS-сервера в существующее развертывание Windows
Server 2008 или при обновлении более ранней версии Windows Server с действующей службой
DNS-сервера. Процедуры в этой задаче можно использовать для просмотра и обновления
содержимого глобального списка блокировки запросов, а также для его включения и отключения.
Для выполнения этой задачи можно использовать следующие процедуры:
Просмотр глобального списка блокировки запросов
1. Откройте окно командной строки. Чтобы открыть окно командной строки с более высоким
уровнем прав, нажмите кнопку Пуск, выберите Все программы, Стандартные, щелкните
правой кнопкой мыши пункт Командная строка, а затем выберите пункт Выполнить от
имени администратора.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:
3.
dnscmd [<ServerName>] /info /globalqueryblocklist
Значение
dnscmd
Описание
Программа командной строки для управления DNS-серверами.
DNS-имя узла, на котором размещен DNS-сервер. Также можно ввести IP-адрес
<ServerName>
DNS-сервера. Чтобы указать DNS-сервер на локальном компьютере, можно
ввести точку (.) или не указывать имя узла.
Обязательный параметр. Служит для указания того, что команда должна лишь
/info
вернуть сведения.
Обязательный параметр. Указывает, что команда применяется к глобальному
/globalqueryblocklist
списку блокировки запросов.
Обновление глобального списка блокировки запросов
1. Откройте окно командной строки. Чтобы открыть окно командной строки с более высоким
уровнем прав, нажмите кнопку Пуск, выберите Все программы, Стандартные, щелкните
правой кнопкой мыши пункт Командная строка, а затем выберите пункт Выполнить от
имени администратора.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:
3.
dnscmd [<ServerName>] /config /globalqueryblocklist [<name> [<name>]...]
Значение
Описание
Программа командной строки для управления DNS-серверами.
DNS-имя узла, на котором размещен DNS-сервер. Также можно ввести IP-адрес
<ServerName>
DNS-сервера. Чтобы указать DNS-сервер на локальном компьютере, можно
ввести точку (.) или не указывать имя узла.
/config
Обязательный параметр. Изменяет конфигурацию DNS-сервера.
Обязательный параметр. Указывает, что команда применяется к глобальному
/globalqueryblocklist
списку блокировки запросов.
Служит для указания имен узлов, которые должны быть включены в
глобальный список блокировки запросов. Для разделения нескольких имен
<name>
используется пробел. Если ни одно имя не указано, то из глобального списка
блокировки запросов будут удалены все имена.
dnscmd
Включение или выключение глобального списка блокировки запросов
1. Откройте окно командной строки. Чтобы открыть окно командной строки с более высоким
уровнем прав, нажмите кнопку Пуск, выберите Все программы, Стандартные, щелкните
правой кнопкой мыши пункт Командная строка, а затем выберите пункт Выполнить от
имени администратора.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:
3.
dnscmd [<ServerName>] /config /enableglobalqueryblocklist 0|1
Значение
Описание
dnscmd
Программа командной строки для управления DNS-серверами.
DNS-имя узла, на котором размещен DNS-сервер. Также можно ввести
<ServerName>
IP-адрес DNS-сервера. Чтобы указать DNS-сервер на локальном
компьютере, можно ввести точку (.) или не указывать имя узла.
/config
Обязательный параметр. Изменяет конфигурацию DNS-сервера.
Обязательный параметр. Указывает, что команда включает или
/enableglobalqueryblocklist
отключает глобальный список блокировки запросов.
Указывает, включить или выключить глобальный список блокировки
запросов. Если необходимо, чтобы служба DNS-сервера игнорировала
0|1
запросы имен, входящих в список блокировки, задайте в качестве
значения 1. Если необходимо отключить глобальный список блокировки
запросов, задайте в качестве значения 0.
см. также Pupils\Networks & Internet\WPAD (Web Proxy Auto Discovery).pdf
Download