Я помню те трудности, которые нам нужно было преодолевать для создания тестовых лабораторий много лет назад. В 1990-ые годы компьютеры не были столь дешевыми, как сегодня, и требовалась кругленькая сумма, чтобы собрать тестовую среду хотя бы из нескольких машин. Иногда нам приходилось проводить тестирование в своих производственных средах просто потому, что мы не могли себе позволить аппаратное оборудование для создания соответствующей лабораторной среды. Как вы можете себе представить, это вызывало множество проблем. Но у нас не было выбора, поскольку программы для создания образов дисков были либо недоступны, либо ненадежны, а также не было надежного решения для виртуализации серверов. Нам приходилось стараться изо всех сил при работе с доступными средствами.
Все значительно изменилось за последние 15 лет ‘ и, в какой-то степени, в лучшую сторону. Одним из самых значительных изменений стала виртуализация рабочих станций и серверов. Используя такие инструменты, как VMware или Microsoft Hyper-V, мы теперь можем покупать серверы средней мощности на базе процессора Nehalem с 16ГБ+ оперативной памяти и выполнять очень сложные тесты, которые могут действительно симулировать наши физические установки.
Однако все еще существуют моменты, которые могут вызывать проблемы при работе с тестовой средой, и инфраструктура открытых ключей (PKI) всегда возглавляет этот список. Инфраструктура открытых ключей (Public Key Infrastructure) является важным моментом в любой тестовой среде, поскольку сертификаты используются во многих ситуациях при тестировании продуктов и технологий Microsoft. Одним из наиболее сложных аспектов инфраструктуры PKI является доступность списка отзыва сертификатов (certificate revocation list – CRL). Суть в том, что некоторым решениям требуется успешная проверка CRL, а некоторым нет. Проблема состоит в том, что в документации Microsoft не всегда говорится, под какой случай подпадает та или иная ситуация, поэтому приходиться гадать, требуется ли такая проверка или нет (или и того хуже, выполнять весь процесс конфигурации, чтобы, в конце концов, обнаружить, что решение не работает).
Одним из подходов к отключению сбоев проверки CRL является удаление всех ссылок на CRL точку распространения в сертификатах, предоставляемых клиентам. Когда это делается, CRL проверки не будут безуспешными, поскольку негде проверять. Конечно, это снижает степень безопасности, поэтому в большинстве случае в среде предприятия такой вариант не подходит, но в тестовых средах, в которых доверительные отношения не являются проблемой, есть несколько способов сделать это.
Если вы не хотите отключать CRL проверки в своей среде, вы можете создать свою собственную точку распространения сертификатов, которая может использоваться в тестовой среде, а затем настроить сервер сертификации на включение этих точек распределения CRL DP в выдаваемые им сертификаты.
Сначала мы рассмотрим два способа отключения проверки CRL.
Отключение проверки CRL
В первом способе мы настроим центр сертификации (Certificate Authority) так, чтобы он не включал информацию об адресе для точки распространения CRL в издаваемые им сертификаты. Для этого переходим в меню Администрирование (Administrative Tools) и нажимаем Центр сертификации (Certification Authority).
Рисунок 1
В консоли центра сертификации нажимаем правой клавишей на имени сервера в левой панели и выбираем Свойства (Properties).
Рисунок 2
В диалоге свойств (Properties) сервера сертификации выбираем закладку Расширения (Extensions). Обратите внимание, что в меню раскрывающегося списка Выбор расширений (Select extension) стоит CRL Distribution Point (CDP). Под ней вы найдете четыре адреса. Обратите внимание, что выбран первый адрес. Убедитесь, что ни одна из опций не отмечена флажком в нижней части диалога. Опции Публикация списков отзыва сертификатов по адресу (Publish CRLs to this location) и Публикация разностных CRLs по адресу (Publish Delta CRLs to this location) НЕ должны быть отмечены галочками.
Рисунок 3
Нажимаем на вторую запись в списке, как показано на рисунке ниже. Убедитесь, что следующие опции НЕ отмечены флажками: Публикация списков отзыва сертификатов по адресу (Publish CRLs to this location), Включать в CDP-расширение выданных сертификатов (Include in the CDP extension of issued certificates) и Публикация разностных CRLs по адресу (Publish Delta CRLs to this location).
Рисунок 4
Нажмите на третьей записи в списке. Убедитесь, что следующие опции НЕ отмечены галочками: Включить в CRL. Клиенты используют данные для поиска в размещениях Delta CRL. (Include in CRL. Clients use this to find Delta CRL locations), Включать в CDP-расширение выданных сертификатов (Include in the CDP extension of issued certificates) и Включать в расширение IDP выданных CRL (Include in the IDP extension of issued CRLs).
Рисунок 5
Нажмите на четвертой записи. Убедитесь, что опции, показанные на рисунке ниже, не отмечены флажками.
Рисунок 6
Нажмите OK после внесения изменений. Возможно, вам придется перезапустить службу сертификатов (Certificate Services) ‘ если так, сделайте это.
Вышеприведенная процедура позволяет настроить службу так, что все сертификаты выдаваемые ЦС, будут исключать эту информацию. Но, возможно, вам нужно будет сделать это только для определенного шаблона сертификата, а не для все сертификатов, выдаваемых ЦС. В этом случае вы можете создать и настроить шаблон сертификата на исключение CRL DP информации из сертификатов, выдаваемых с помощью этого шаблона.
Чтобы посмотреть, как это работает, нажмите меню Пуск (Start) и в поле Выполнить введите MMC, затем нажмите ENTER.
Рисунок 7
В новой консоли MMC нажмите меню Файл (File) и выберите опцию Добавить или удалить оснастку (Add/Remove Snap-in)’ Добавить оснастку Шаблоны сертификатов (Certificate Templates), как показано на рисунке ниже.
Рисунок 8
В консоли Шаблоны сертификатов (Certificate Templates) нажмите на разделе Шаблоны сертификатов в левой панели. В правой панели консоли нажмите правой клавишей на шаблоне сертификата и выберите Свойства (Properties).
Рисунок 9
В диалоге свойств шаблона сертификата перейдите в закладку Сервер (Server). В закладке Сервер вы найдете опцию Не включать сведения об аннулировании в выдаваемые сертификаты (применяется только для Windows Server 2008 R2 и более поздних версий) (Do not include revocation information in issued certificates (Applicable only for Windows Server 2008 R2 and above)). Когда вы выбираете эту опцию, сертификаты выдаваемые с помощью этого шаблона, не будут включать сведения об аннулировании и проверка отзыва сертификата для таких сертификатов не сможет быть безуспешной.
Рисунок 10
Создание CRL точки распространения для своей тестовой среды
Если вы не хотите отключать проверки CRL в своей среде, вы можете создать собственные точки распространения, которые можно использовать в тестовой среде, после чего вы сможете настроить сервер сертификации на включение этих CRL DP в выдаваемые им сертификаты. Первым шагом будет настройка ЦС на обращение к точке распространения CRL Distribution Point, которую мы создадим. Вторым шагом будет создание CRL DP и публикация CRL в CRL DP
Начнем с настройки параметров точки распространения CRL Distribution Point в Центре сертификации. Поскольку шаги по настройке ЦС и самой точки распространения очень подробные и точные, мы воспользуемся пошаговым подходом, чтобы ничего не упустить.
- На компьютере с Центром сертификации нажмите меню Пуск, наведите курсор на пункт Администрирование и нажмите Центр сертификации (Certification Authority).
- В левой панели консоли нажмите правой клавишей на имени сервера и выберите Свойства.
- В диалоге Свойства перейдите в закладку Расширения (Extensions).
- В закладке Расширения нажмите Добавить. В поле Адрес (Location) введите URL адрес, который клиенты используют для подключения к точке распространения CRL Distribution Point через HTTP соединение. В данном примере мы используем http://crl.corp.contoso.com/crld/. Убедитесь, что у вас есть DNS запись, сопоставляющая этот FQDN с сервером, на котором расположена точка CRL Distribution Point. Мы создадим путь и привяжем его к веб сайту позже.
- В поле Переменная (Variable) нажмите <CAName>, а затем нажмите Вставить (Insert).
- В поле Переменная нажмите <CRLNameSuffix>, а затем нажмите Вставить.
- В поле Переменная нажмите <DeltaCRLAllowed>, а затем нажмите Вставить.
- В поле Адрес (Location) введите .crl в конце адресной строки, а затем нажмите OK.
Рисунок 11
- Выберите опцию Включить в CRLs. Клиенты используют данные для поиска в размещениях Delta CRL (Include in CRLs. Clients use this to find Delta CRL locations) и Включать в CDP-расширение выданных сертификатов (Include in the CDP extension of issued certificates), а затем нажмите Применить (Apply). Нажмите Нет (No) в диалоге, который спросит вас о необходимости перезагрузки служб Active Directory Certificate Services.
- Нажмите Добавить.
- В поле Адрес введите UNC путь к файловому ресурсу, который будет содержать CRL Distribution Point. В этом примере мы используем file://app1/crldist$/, где app1 является именем сервера, который будет содержать CRL Distribution Point, а путь к ресурсу с CRL DP будет \crldist$. Мы настроим эти адреса в следующем шаге.
- В поле Переменная нажмите <CAName>, а затем Вставить.
- В поле Переменная нажмите <CRLNameSuffix>, а затем Вставить.
- В поле Переменная нажмите <DeltaCRLAllowed>, а затем Вставить.
- В поле Адрес введите .crl в конце строки и нажмите OK.
Рисунок 12
- Выберите опцию Публикация CRLs по адресу (Publish CRLs to this location) и Публикация разностных CRLs по адресу (Publish Delta CRLs to this location), а затем нажмите OK.
Рисунок 13
- Теперь нажмите Да (Yes), чтобы перезагрузить службу Active Directory Certificate Services.
- Закройте консоли Центра сертификации.
Теперь давайте создадим точку Web-based CRL Distribution Point на машине, где нужно расположить CRL. Мы создадим веб точку CRL Distribution Point, чтобы клиенты могли получать доступ к CRL через HTTP подключения.
- На машине, где нужно расположить CRL, нажмите меню Пуск и наведите курсор на строку Администрирование. Выберите диспетчера Internet Information Services (IIS) Manager.
- В левой панели консоли перейдите к <computer_name>\Sites\Default Web Site. Нажмите правой клавишей на Default Web Site и выберите Добавить виртуальный каталог (Add Virtual Directory).
Рисунок 14
- В диалоге добавления виртуального каталога в текстовом поле Псевдоним (Alias) введите CRLD (это может любое имя, мы выбрали CRLD). Затем в поле Физический путь (Physical path) нажмите кнопку пропуска ‘‘‘.
Рисунок 15
- В диалоге Обзор папок (Browse for Folder) выберите запись Локальный диск (С:) (Local Disk (C:) и нажмите Создать новую папку (Make New Folder).
- Введите CRLDist в качестве имени папки и нажмите ENTER. Нажмите OK в диалоге Обзор папок.
Рисунок 16
- Нажмите OK в диалоге Добавить виртуальный каталог.
Рисунок 17
- В средней панели консоли дважды нажмите на Обзор каталогов (Directory Browsing).
- В правой панели консоли нажмите Включить (Enable).
Рисунок 18
- В левой панели консоли нажмите на папку CRLD.
- В средней панели консоли дважды нажмите на значке Редактор конфигурации (Configuration Editor)
- Нажмите стрелку вниз в раскрывающемся списке Раздел (Section) и перейдите к system.webServer\security\requestFiltering.
- В средней панели консоли дважды нажмите на записи allowDoubleEscaping, чтобы изменить значение с False на True.
Рисунок 19
- В правой панели консоли нажмите Применить.
Рисунок 20
- Закройте консоль Internet Information Services (IIS) Manager.
Теперь нам нужно настроить разрешения для CRL Distribution Point File Share. Здесь мы настроим разрешения файлового ресурса для созданной папки CRL Distribution Point.
- На компьютере, содержащем CRL DP, нажмите меню Пуск и выберите Компьютер (Computer).
- Дважды нажмите Локальный диск (C:).
- В правой панели проводника Windows Explorer нажмите правой клавишей на папке CRLDist и выберите Свойства.
- В диалоге свойств CRLDist Properties нажмите на вкладку Общий доступ (Sharing). На вкладке Общий доступ (Sharing) нажимаем кнопку Расширенная настройка общего доступа (Advanced Sharing).
- В диалоге Расширенной настройки общего доступа ставим флажок напротив опции Предоставить общий доступ к этой папке (Share this folder).
- В поле Имя общего ресурса (Share name) добавьте $ в конце имени следующим образом CRLDist$
- В диалоге Расширенной настройки общего доступа нажмите кнопку Разрешения (Permissions).
- В диалоге Разрешения для CRLDist$ нажмите Добавить.
Рисунок 21
- В диалоге Выбор учетных записей пользователя, компьютера, службы или группы (Select Users, Computers, Service Accounts, or Groups) нажмите кнопку Типы объектов (Object Types).
- В диалоге Типы объектов отметьте опцию Компьютеры (Computers) и нажмите OK.
- В диалоге Выбор учетной записи пользователя, компьютера, службы или группы в текстовом поле Введите имена объектов для выбора (Enter the object names to select) введите имя компьютера, на котором расположен ЦС и нажмите Проверка имен (Check Names). Нажмите OK.
- В диалоге Разрешения для CRLDist$ выберите имя компьютера, на котором расположена служба сертификации (Certificate Services) из списка Имена групп или пользователей (Group or user names). В разделе Разрешения отметьте опцию Разрешить (Allow) для Полный доступ (Full Control). Нажмите OK.
Рисунок 22
- В диалоге Расширенная настройка общего доступа нажмите OK.
- В диалоге Свойства CRLDist нажмите закладку Безопасность (Security).
- В закладке Безопасность нажмите кнопку Изменить.
- В диалоге Разрешения для CRLDist нажмите кнопку Добавить.
- В диалоге Выбор учетных записей пользователей, компьютеров, служб или групп нажмите кнопку Типы объектов.
- В диалоге Типы объектов поставьте флажок для опции Компьютеры. Нажмите OK.
- В диалоге Выбор учетных записей пользователей, компьютеров, служб или групп в текстовом поле Введите имена объектов для выбора введите имя компьютера, на котором расположен ЦС и нажмите Проверка имен. Нажмите OK.
- В диалоге Разрешения для CRLDist выберите имя компьютера, на котором расположена служба сертификации (Certificate Service) из списка Имена групп или пользователей. В разделе Разрешения поставьте флажок в столбце Разрешить для опции Полный доступ (Full control). Нажмите OK.
Рисунок 23
- Нажмите кнопку Закрыть (Close) в диалоге Свойств CRLDist.
- Закройте окно проводника Windows Explorer.
Теперь нужно опубликовать CRL информацию в созданной точке распространения. Для этого нужно перейти в центр сертификации и вручную опубликовать CRL.
- На всех компьютерах, содержащих ЦС, нажмите меню Пуск и перейдите в Администрирование . Выберите Центр сертификации.
- В левой панели консоли дважды нажмите на имени сервера и правой клавишей нажмите на Аннулированных сертификатах (Revoked Certificates), затем наведите курсор на строку Все задачи (All Tasks) и выберите опцию Опубликовать (Publish).
- В диалоге Публикация CRL выберите опцию Новый CRL и нажмите OK.
- Нажмите Пуск и в текстовом поле Поиск программ и файлов (Search programs and files) введите \\<computer_name>\CRLDist$, нажмите ENTER. В этом случае <computer_name> является именем компьютера, на котором расположен CRL.
- В окне проводника Windows Explorer вы должны увидеть два новых файла в файловом ресурсе CRL DP.
- Закройте окно проводника Windows Explorer.
- Закройте консоль центра сертификации.
Заключение
В этой статье мы рассмотрели шаги для нескольких процедур, которые можно использовать для упрощения проверки CRL в своей тестовой среде. Мы начали с рассмотрения пары способов отключения CRL проверок в тестовой среде. Затем мы подробно рассмотрели процедуру, в которой создается точка распределения, чтобы проверки сертификатов не были безуспешными, так как CRL на самом деле доступен. Следует отметить, что эти CRL проверки будут работать для интрасетевых клиентов вашей тестовой среды. Если у вас есть клиенты, расположенные за пределами интрасети, вам придется найти способ публикации внутреннего CRL на этих внешних клиентах. Это может быть довольно сложно, и поэтому я не могу охватить все бесчисленные сценарии в этой статье. Пришлите мне письмо, если у вас есть конкретный сценарий, интересующий вас, и я напишу статью о том, как публиковать CRL в этом сценарии.