Распространение сертификатов для операционных систем Windows удостоверяющим центром предприятия — достаточно простая процедура, которую можно автоматизировать с помощью механизма Group Policy Certificate Auto Enrollment, после настройки инфраструктуры PKI. Однако для выпуска сертификатов устройств, не имеющих учетных записей в AD, администраторы должны вручную создавать запросы Public-Key Cryptography Standards (PKCS) и устанавливать сертификаты на устройства. В организациях, имеющих сотни устройств, не представленных в AD, на это уйдет очень много времени.

Если вы работаете с крупной сетью, включающей множество сетевых устройств, и для этих устройств необходимо выпустить сертификаты, которым будут доверять клиентские системы Windows, рекомендую обратить внимание на службу Network Device Enrollment Service (NDES), входящую в состав системы Windows Server 2008 R2, и решение, которое она предлагает для выпуска сертификатов и управления ими. NDES — это реализация протокола Simple Certificate Enrollment Protocol, созданная компанией Microsoft. Протокол SCEP — это «черновой» стандарт Интернета, разработанный компанией Cisco Systems, который помогает решить проблему создания запросов и установки сертификатов вручную, разрешая устройствам запрашивать сертификаты x509 v3 у любых удостоверяющих центров, поддерживающих протокол SCEP. Служба NDES, входящая в состав системы Server 2008 или ее более новых версий, усовершенствована по сравнению со старым компонентом SCEP, например предусмотрена возможность продлевать сертификаты, используя ранее выпущенные сертификаты для проверки запроса.

. Вследствие сложности инфраструктуры PKI и варьирования необходимых условий в зависимости от используемого сценария нужно внимательно изучить «Отчет Microsoft о реализации SCEP» (www.microsoft.com/downloads/details.aspx?familyid=E11780DE-819F-40D7-8B8E-10845BC8D446), прежде чем планировать реализацию NDES. Также стоит провести тестирование в лабораторной среде, прежде чем разворачивать службу NDES в рабочем окружении.

SCEP в системе Windows Server

Служба NDES — встроенный компонент системы Server 2008 (только для редакций Enterprise и Datacenter) и более поздних версий. Она может быть установлена на машину, на которой запущен автономный удостоверяющий центр, или на сервер, подключенный к удостоверяющему центру предприятия. Чтобы сократить количество возможных направлений для атак и обеспечить защиту закрытого ключа удостоверяющего центра, серверную роль NDES не стоит устанавливать на устройство, на котором запущен удостоверяющий центр предприятия.

Служба NDES предназначена для компаний, в которых уже развернута инфраструктура PKI и которые хотят назначать сертификаты сетевым устройствам, таким как маршрутизаторы и межсетевые экраны, чтобы повысить безопасность, реализуя защиту сетевого трафика средствами IPsec. Например, для построения канала IPsec VPN между маршрутизаторами или между ноутбуками и устройствами, входящими в периметр сети. Не все устройства поддерживают протокол SCEP, поэтому стоит предварительно проконсультироваться с производителем оборудования.

Предыдущие реализации протокола SCEP входили в состав пакета Windows Server 2003 Resource Kit или были доступны для загрузки в качестве дополнения к системе Windows 2000 Server, однако при этом они отличались от решения, описанного в данной статье. Если вы работаете с предыдущими версиями Windows (старше Server 2008), следует зайти на сайт компании Microsoft, где можно загрузить дополнение для системы Windows Server 2003 (www.microsoft.com/downloads/details.aspx?familyid=9f306763?d036-41d8-8860-1636411b2d01).

NDES в системе Windows Server 2008 R2

В решения NDES, входящие в состав систем Server 2008 R2 и Server 2008 SP2, внесены изменения, упрощающие процессы запроса и продления просроченных сертификатов.

Режим Single Password Mode, который может быть включен на системе с ролью NDES путем назначения параметру реестра HKEY_LOCAL_MACHINE\Microsoft\Cryptography\MSCEP\Use SinglePassword значения 1 (тип REG_DWORD), позволяет администраторам запрашивать пароль при регистрации сертификата с неограниченным сроком действия, хранение и шифрование которого осуществляется в реестре системы. Это упрощает процесс продления просроченных сертификатов; кроме того, один пароль может быть назначен нескольким сетевым устройствам. В системах Server 2008 R2 и Server 2008 SP2 продление сертификатов разрешено по умолчанию.

Конструктивные соображения

Если в компании инфраструктура PKI состоит из автономного удостоверяющего центра, она должна быть частью изолированной иерархии сертификации, обслуживающей только устройства с поддержкой протокола SCEP. Другие устройства сети не должны доверять корневому удостоверяющему центру. Если ваша организация использует оборудование Cisco, а клиентским системам Windows не требуется доверие к сетевым устройствам, вы можете рассмотреть вариант использования сервера Cisco IOS Certification Authority — удостоверяющего центра на базе устройства Cisco, работающего с операционной системой Internetwork Operating System. Кроме того, некоторые устройства имеют ограниченную поддержку определенных конфигураций инфраструктуры PKI, в том числе длинных ключей шифрования, подчиненных удостоверяющих центров и многоуровневых иерархий PKI.

Удостоверяющий центр: автономный или корпоративный?

Реализация службы NDES в связке с автономным удостоверяющим центром, задачей которого является обеспечение сертификатами сетевых устройств, больше подходит в ситуациях, когда клиентским системам Windows не требуется доверие к сетевым устройствам (например, при настройке VPN-канала вида маршрутизатор-маршрутизатор с IPsec-шифрованием). Совместное использование сервера NDES и удостоверяющего центра предприятия целесообразно в тех случаях, когда клиентам Windows при установке VPN-соединений требуется доверие к сетевым устройствам.

Настройка NDES

Давайте установим серверную роль NDES и подключим ее к удостоверяющему центру предприятия. Это стандартная конфигурация, в которой сертификаты, выпущенные для сетевых устройств, являются доверенными для всех клиентов Windows, входящих в домен. Вам понадобится рабочий удостоверяющий центр предприятия, входящий в каталог AD, а также настроенный и выключенный корневой удостоверяющий центр.

Предварительные настройки

Перед установкой службы NDES необходимо создать в домене две учетные записи: NDES_Admin и NDES_ServiceAccount. Учетная запись NDES_Admin используется для установки роли NDES и запроса на регистрацию пароля. Запись NDES_ServiceAccount применяется для запуска службы и назначается в процессе установки.

Добавьте запись NDES_Admin в локальную группу Administrators на сервере NDES и в группу Enterprise Admins домена AD. Включите учетную запись NDES_ServiceAccount в локальную группу IIS_IUSRS на сервере NDES.

Дублирование сертификатов

Затем необходимо дублировать сертификаты CEP Encryption, Exchange Enrollment Agent (Offline Request) и IPsec (Offline Request). Для этого авторизуйтесь на своем выпускающем удостоверяющем центре с учетной записью администратора домена.

  1. Откройте оснастку Certification Authority консоли Microsoft Management Console (MMC) из папки Administrative Tools меню Start.
  2. В левой панели разверните узел CA. Щелкните правой кнопкой мыши на папке Certificate Templates и выберите пункт Manage из контекстного меню. Откроется оснастка Certificate Templates.
  3. В оснастке Certificate Templates щелкните правой кнопкой мыши на шаблоне Exchange Enrollment Agent (Offline request) и выберите из меню пункт Duplicate Template.
  4. В диалоговом окне Duplicate Template выберите вариант Windows Server 2008 Enterprise и нажмите OK.
  5. В диалоговом окне Properties на вкладке General введите строку NDES Exchange Enrollment Agent (Offline request) в поле Template display name.
  6. Перейдите на вкладку Security и нажмите кнопку Add, чтобы назначить разрешения для группы NDES_Admin. Введите имя NDES_Admin и нажмите OK.
  7. Во вкладке Security назначьте группе NDES_Admin разрешения Read и Enroll.
  8. Повторите шаги с 3 по 7 для шаблона CEP Encryption.
  9. Повторите шаги с 3 по 7 для шаблона IPsec (Offline Request). Также необходимо назначить разрешения Read и Enroll учетной записи NDES_Service Account для шаблона NDES IPsec (Offline Request).
  10. Закройте оснастку Certificate Templates.
  11. В оснастке Certification Authority щелкните мышью на папке Certificate Templates в левой панели. Шаблоны, зарегистрированные на данный момент, будут отображены в правой панели.
  12. Щелкните правой кнопкой мыши на папке Certificate Templates в левой панели и выберите пункт New->Certificate Template to Issue в контекстном меню.
  13. В диалоговом окне Enable Certificate Templates, показанном на экране 1, выберите три шаблона NDES и нажмите OK.

 

Экран 1. Диалоговое окно Enable Certificate Templates

 

Назначьте разрешения

После настройки необходимых шаблонов нужно назначить учетным записям соответствующие разрешения для доступа к удостоверяющему центру.

  1. В оснастке Certification Authority щелкните правой кнопкой мыши на узле CA в левой панели и выберите из меню пункт Properties.
  2. Выберите вкладку Security и щелкните кнопку Add, чтобы назначить разрешения для учетной записи NDES_ServiceAccount.
  3. В появившемся поле введите строку NDES_ServiceAccount и нажмите кнопку OK.
  4. Назначьте разрешения Read и Request Certificates для учетной записи NDES_ServiceAccount во вкладке Security (экран 2).
    Экран 2. Назначение разрешений для NDES_ServiceAccount
  5. Нажмите кнопку OK, чтобы закрыть диалоговое окно.

 

Установите службу NDES

Выпускающий удостоверяющий центр полностью настроен. Теперь вы можете установить серверную роль NDES на отдельный сервер.

  1. Авторизуйтесь на сервере NDES, используя созданную ранее учетную запись NDES_Admin.
  2. Откройте окно Server Manager в меню Start.
  3. В левой панели окна Server Manager щелкните правой кнопкой мыши на узле Roles и выберите из меню пункт Add Roles.
  4. Нажмите кнопку Next на экране Before You Begin мастера Add Roles Wizard.
  5. Выберите вариант Active Directory Certificate Services на экране Select Server Roles и нажмите кнопку Next.
  6. Нажмите Next на экране Intro­duction.
  7. На экране Select Role Services снимите флажок Certification Authority и выберите вариант Network Device Enrollment Service. Как уже упоминалось, служба NDES не может быть установлена на одну систему с удостоверяющим центром.
  8. В диалоговом окне Add Roles Wizard нажмите кнопку Add Required Role Services, чтобы установить необходимые компоненты IIS и Remote Server Administration Tool.
  9. На экране Specify User Account нажмите кнопку Select User. В окне Windows Security введите имя пользователя и пароль для учетной записи NDES_Service Account и нажмите кнопку Next.
  10. Нажмите кнопку Browse в окне Specify CA for Network Device Enrollment Service.
  11. В окне Select Certification Authority выберите выпускающий удостоверяющий центр и нажмите кнопки ОК и Next для продолжения установки.
  12. На экране Specify Registration Authority Information измените значение поля Country/Region и нажмите Next.
  13. На экране Configure Cryptography for Registration Authority подтвердите настройки, предложенные по умолчанию (экран 3) и нажмите кнопку Next.
    Экран 3. Мастер добавления ролей Add Roles Wizard
  14. Нажмите Next на экране приветствия мастера Web Server (IIS).
  15. Подтвердите значения, предложенные по умолчанию, на экране Select Role Services, нажав кнопку Next.
  16. Нажмите кнопку Install на экране Confirm Installation Selections.
  17. Нажмите кнопку Close на экране Installation Results.

Измените реестр сервера NDES

Прежде чем вы сможете запросить пароль у службы NDES и начать процесс запроса сертификата, необходимо добавить в некоторые разделы реестра сервера NDES указатели на сертификат NDES IPsec (Offline Request), а затем перезапустить службы IIS.

1. Введите команду regedit в поле Search programs and files в меню Start.

2. В левой панели редактора Registry Editor найдите раздел реестра HKLM\Software\Microsoft\Crypto graphy\MSCEP (экран 4).

Экран 4. Изменение параметров реестра

3. Вы обнаружите три параметра типа REG_SZ: EncryptionTemplate, General-PurposeTemplate и Signature-Template. Задайте им значение NDESIPSECIntermediate Offline и закройте редактор Registry Editor.

4. Введите команду cmd в поле Search programs and files в меню Start и нажмите Ctrl+Shift+Enter для запуска командной строки с правами администратора.

5. Для перезапуска службы IIS введите две команды:

net stop w3 svc
net start w3 svc

6. Закройте командную строку.

Выполните запрос сертификата

Теперь необходимо запросить сертификат для сетевого устройства. Первый шаг в настройке сертификата — создание пары открытый/закрытый ключ на устройстве. Данная процедура будет зависеть от типа используемого оборудования. В системе Cisco IOS команда будет выглядеть примерно так:

crypto key generate rsa general-keys
   modulus 2048

Если вы не укажете параметр label в команде crypto, в качестве имени ключа будет использоваться имя сетевого устройства. Длина ключа, в данном случае 2048, должна совпадать со значением, заданным на экране Configure Cryptography for Registration Authority во время настройки службы NDES.

Зайдите на сервер NDES под учетной записью NDES_Admin и откройте браузер Internet Explorer. Введите адрес страницы администрирования службы NDES http://localhost/certsrv/mscep_admin/. Вам будут предложены хеш-значение для сертификата удостоверяющего центра и пароль вызова заявки, действительные в течение 60 минут (экран 5).

 

Экран 5. Хеш-значение для сертификата и пароль заявки

Далее необходимо настроить сетевое устройство таким образом, чтобы оно доверяло удостоверяющему центру предприятия. И в этом случае процедура также сильно зависит от того, какое оборудование используется, поэтому следует ознакомиться с инструкциями производителя. В ходе настройки устройства необходимо указать имя пары параметров, созданной ранее, и URL-адрес подачи заявок на удостоверяющий центр предприятия, http://NDES1/certsrv/mscep.dll?operation=GetCACert&message=NetworkDeviceID.

Запросы SCEP к серверу NDES используют библиотеку mscep.dll и команды HTTP GET. В структуре приведенного выше URL-адреса вы можете увидеть запрос GetCACert, обращенный к службе NDES. Теперь, когда сетевые устройства доверяют удостоверяющему центру предприятия, можно выполнить запрос сертификата. Некоторым устройствам необходима авторизация на предприятии, прежде чем можно будет выполнять запросы сертификатов. Вам также понадобится одноразовый пароль вызова заявки, выданный службой NDES, для выполнения запроса. Если значение параметра KeyUsage в запросе не указывается, по умолчанию используется значение 0xa0, указывающее на шаблон GeneralPurposeTemplate в соответствии с настройками реестра. Можно указать другие значения: 0x80, указывающее на шаблон Signature Template, и 0x20, указывающее на шаблон EncryptionTemplate. Удостоверяющий центр предприятия обрабатывает запрос от имени службы NDES, которая затем выдает сертификат сетевому устройству.

Семь раз отмерь, один отрежь

Теперь вы знаете, как настроить службу NDES и сделать ее частью существующей инфраструктуры PKI. Однако, прежде чем взяться за дело, стоит ознакомиться с отчетом компании Microsoft, упомянутым в начале статьи, а также провести всеобъемлющее тестирование в лабораторной среде.

Рассел Смит (rms@russell-smith.net) — независимый ИТ-консультант, специализируется на управлении системами