В службе клиента DNS в Windows 7 и Windows Server 2008 R2 появились несколько очень важных новинок:
- изменения в порядке регрессии имен;
- таблица политик разрешения имен;
- расширения безопасности DNS (DNSSEC).
Внимательно исследовав возможности каждой из них, вы сможете эффективнее и производительнее работать с DNS.
Изменения в порядке регрессии имен
Регрессия имен (name devolution) в DNS-клиенте в Windows который позволяет пользователю доменных служб Active Directory (AD DS) задавать неполное, состоящее из одной метки имя ресурса, а не его полное доменное имя. Если включен механизм регрессии имен Windows, он дополняет эту метку основным доменным суффиксом компьютера и в DNS запрашивается именно такое полное имя.
Вот пример:пользователь на компьютере, члене домена corp.contoso.com, может задать имя server1, механизм регрессии имен автоматически запросит имена server1.corp.contoso.com и server1.contoso.com от имени пользователя.
В регрессии имен используется только основной доменный суффикс. Она не выполняется, когда основного доменного суффикса нет или когда сконфигурирован глобальный список поиска по суффиксам.
До Windows 7 и Windows Server 2008 R2 регрессия имен выполнялась со всеми суффиксами вплоть до второго уровня основного доменного суффикса. Например, если на компьютере домена wcoast.corp.contoso.com в командной строке выполнить команду ping server1, DNS-клиент запросит в DNS имена server1.wcoast.corp.contoso.com, server1.corp.contoso.com и server1.contoso.com.
Уровень регрессии — это число меток в основном доменном суффиксе, на котором прекращается регрессия имен. В версиях Windows, предшествующих Windows 7 и Windows Server 2008 R2, уровень регрессии составлял 2, и изменить его можно было, только воспользовавшись обновлением, описанным в статье Microsoft Security Advisory 971888: Update for DNS Devolution. И это было реальной проблемой.
Безопасность при уровне регрессии 2
Из-за появления новых имен в Интернете регрессия до второго уровня может привести к тому, что компьютер, член домена, может подключиться к небезопасному компьютеру в Интернете. Например, если основной доменный суффикс компьютера — westcoast.corp.contoso.co.us и пользователь пытается подключиться к server1, регрессия до второго уровня заставит ОС запросить в DNS такие имена:
- server1.westcoast.corp.contoso.co.us
- server1.corp.contoso.co.us
- server1.contoso.co.us
- server1.co.us
Имя server1.co.us находится вне зоны влияния компании Contoso. Если кто-то зарегистрирует имя server1.co.us, разрешение DNS-имени будет успешным и компьютер попытается подключиться по этому адресу. Если владелец server1.co.us окажется хакером, он сможет использовать свой сервер для имитации интрасетевого сервера и атаковать сеть компании изнутри.
Новый порядок регрессии имен
Новое поведение по умолчанию регрессии в DNS исключает эту возможность. Вот как оно работает на компьютерах с Windows 7, Windows Server 2008 или предыдущей версией Windows с установленным обновлением DNS, описанным в статье Microsoft Security Advisory 971888: Update for DNS Devolution:
- Если в имени корневого домена леса AD DS одна метка или основной суффикс DNS не заканчивается корневым доменом леса, регрессия блокируется.
- Если основной суффикс DNS заканчивается корневым доменом леса, уровень регрессии задается равным числу меток в корневом домене леса.
Например, если компьютер является членом домена westcoast.corp.contoso.co.us домена, а имя корневого домена леса — corp.contoso.co.us, уровень регрессии будет 4 (число меток в corp.contoso.co.us). Если компьютер — член домена westcoast.corp.contoso.com, а имя корневого домена леса — corp.contoso.co.us, регрессия блокируется (имя westcoast.corp.contoso.com не заканчивается на corp.contoso.co.us). Такое поведение по умолчанию предотвращает попытки разрешения имен, находящихся за пределами компании, из-за слишком большого уровня регрессии.
Уровень регрессии можно задать вручную, воспользовавшись политикой «Уровень регрессии основного DNS-суффикса» (Primary DNS Suffix Devolution Level Group). Однако надо иметь в виду, что это может повлиять на способность клиентских компьютеров разрешать имена ресурсов в домене. Если задать уровень регрессии слишком большим, работа регрессии может нарушиться.
Например, если компьютер является членом домена wcoast.corp.contoso.com и вы задали уровень регрессии равным 4, тогда, пытаясь подключиться к server1, клиент будет запрашивать разрешение только имени server1.wcoast.corp.contoso.com. Если полное доменное имя этого сервера server1.corp.contoso.com, клиенту придется задавать именно его, а не server1.
Настройка регрессии имен
Включить регрессию имен можно на вкладке DNS страницы дополнительных свойств протокола TCP/IPv4 или TCP/IPv6. Пример показан на рис. 1.
Рис.1. Параметры настройки регрессии DNS на вкладке «DNS».
Чтобы включить регрессию, щелкните Дописывать основной DNS-суффикс и суффикс подключения (Append primary and connection specific DNS suffixes) и выберите Добавлять родительские суффиксы основного DNS-суффикса (Append parent suffixes of the primary DNS suffix).
Регрессию имен можно также активизировать, воспользовавшись следующими групповыми политиками в папке редактора группой политики Кофигурация компьютера\Адиминистративные шаблоны\Сеть\DNS0клиент (Computer Configuration\Administrative Templates\Network\DNS Client):
- Уровень регрессии основного DNS-суффикса
Задайте состояние Not configured, но с уровнем 2 по умолчанию. Это поведение можно также задать средствами реестра, изменив REG_DWORD-параметр HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\UseDomainNameDevolution (1 - включен, 0 - отключен);
- Регрессия основного DNS-суффикса
Задайте состояние Not configured по умолчанию. Этот параметр можно также настроить средствами реестра, задав соответствующее значение REG_DWORD-параметру HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\DomainNameDevolutionLevel .
Если сконфигурированы параметры групповых политик, локальные параметры в реестре игнорируются. В версиях Windows, предшествующих Windows 7 или Windows Server 2008 R, параметры «Регрессия основного DNS-суффикса» и «Уровень регрессии основного DNS-суффикса» применяются только на компьютерах с обновлением, описанным в статье Microsoft Security Advisory 971888: Update for DNS Devolution.
Таблица политик разрешения имен
Когда требуется особый порядок разрешения имен в отдельных частях пространства DNS-имен, можно использовать появившуюся в Windows 7 и Windows Server 2008 R2 таблицу политик разрешения имен (Name Resolution Policy Table, NRPT). В DirectAccess и DNSSEC таблица NRPT используется в нескольких ситуациях:
- Будучи подключенными к Интернету, клиенты DirectAccess отправляют запросы на разрешение интрасетевых DNS-имен на интрасетевые DNS-серверы по шифрованным подключениям к серверу DirectAccess. Правила в таблице политик разрешения имен позволяют задавать интрасетевые пространства имен и наборы интрасетевых DNS-серверов.
- Компьтеры под управлением Windows 7 отправляют DNSSEC-запросы DNS-имен в заданные пространства имен для проверки подлинности DNS-сервера, а также для того, чтобы проверка правильности DNSSEC была выполнена проверяющим подлинность сопоставителем DNS. Правила в таблице политик разрешения имен задают пространство имен DNSSEC-запросов и определяют, требуется ли проверка правильности DNSSEC.
Таблица политик разрешения имен содержит правила или имена пространства имен и параметры особого порядка разрешения имен. При разрешении DNS-имен перед запросом DNS-имени и при обработке ответа DNS-клиент сверяется с таблицей политик разрешения имен. Запросы и ответы, удовлетворяющие условиям хотя бы одной записи в таблице политик разрешения имен, обрабатываются особым образом; остальные запросы и ответы обрабатываются, как обычно.
Таблицу политик разрешения имен можно настроить средствами групповой политики [в узле Computer Configuration\Windows Settings\Name Resolution Policy (Конфигурация компьютера\Конфигурация Windows\Политики разрешения имен)], задать в реестре или с помощью мастера установки DirectAccess. Для создания относящихся к DNSSEC записей предпочтительнее настройка с применением групповых политик, а для записей DirectAccess — Мастера установки DirectAccess.
На рис. 2 показано, как настраивать таблицу политик разрешения имен в редакторе групповых политик.
Рис. 2. Настройка таблицы политик разрешения имен в редакторе групповых политик.
Подробнее о таблице политик разрешения имен см. The Name Resolution Policy Table, мою колонку «Кабельщик» в февральском выпуске журнала.
Безопасность DNS
Протокол DNS изначально не был предназначен для идентификации или проверки подлинности ответов на запросы разрешения имен. В прошлом этот недостаток активно использовался хакерами для подмены ресурсов Интернета.
Безопасность DNS, или DNSSEC, — это набор IETF-стандартов (RFC 4033, 4034 и 4035), которые обеспечивают выполнение следующих операций при пересылке по сети или кешировании данных DNS:
- Проверка подлинности источника подтверждение того, что полученный по сети ответ поступил от нужного DNS-сервера;
- Подтверждение отсутствия ресурса: подтверждение того, что ответ «имя не найдено» получен от полномочного DNS-сервера;
- Целостность данных: подтверждение того, что ответ не был изменен при пересылке.
Для обеспечения безопасности службы DNSSEC используется шифрование с открытым ключом. Отправляя DNSSEC-запрос на разрешение DNS-имени, DNS-клиент получает ответ, подписанный цифровой подписью. Проверяющий подлинность DNS-сопоставитель (то есть DNS-сервер под управлением Windows Server 2008 R2) проверяет правильность, используя ранее настроенный якорь доверия — компьютер, владеющий начальным открытым ключом в цепочке проверки подлинности до полномочного DNS-сервера.
Подробнее о работе DNSSEC, см. статью Appendix A: Reviewing Key DNSSEC Concepts.
Подробнее о развертывании DNSSEC на DNS-серверах под управлением Windows Server 2008 R2, см. Secure DNS Deployment Guide.
Настройка поддержки DNSSEC на DNS-клиенте
Поддержка DNSSEC на DNS-клиенте в Windows 7 и Windows Server 2008 R2 настраивается в таблице политик разрешения имен (рис. Подробнее о таблице политик разрешения имен рассказывается в разделе «Таблица политик разрешения имен».
На рис. 3 показаны, параметры конфигурации DNSSEC в правиле таблицы политики разрешения имен.
Рис. 3. Включение DNSSEC в правиле таблицы политик разрешения имен
В части пространства DNS-имен, заданной правилом таблицы политик разрешения имен, DNSSEC включается установкой флажка Enable DNSSEC in this rule. Чтобы требовать проверки подлинности, установите флажок Require DNS clients to check that name and address data has been validated.
Можно также потребовать, чтобы DNS-клиент защищал трафик между собой и DNS-сервером, установив флажок Use IPsec in communication between the DNS client and DNS server и задав тип шифрования. Можно также определить центр сертификации, сертификаты которого DNS-клиент будет принимать при выполнении проверки подлинности (рис. 2).
Джозеф Дейвис (Joseph Davies) — ведущий технический писатель в группе команды технических писателей по теме сетей Windows в Microsoft. Он является автором и соавтором нескольких книг, опубликованных в издательстве Microsoft Press, в числе которых «Windows Server 2008 Networking and Network Access Protection (NAP)», «Understanding IPv6, Second Edition» и «Windows Server 2008 TCP/IP Protocols and Services».
Материалы по теме