Contents of this directory is archived and no longer updated.

Ссылки на другие материалы из этой серии:

Preamble

В предыдущих материалах мы ознакомились с шаблонами версии 1 и достаточно простым методом автоэнроллмента — Automatic Certificate Request (ACR). Этот метод достаточно прост и позволяет автоматически распространять сертификаты на основе шаблонов версии 1 и поддерживается серверами CA под управлением любой версии ОС, начиная с Windows 2000. Эта простота, в свою очередь, выливается в соответствующую функциональность. Это значит, что мы таким образом можем распространять сертификаты только для компьютеров. И можем использовать только те шаблоны, которые поставляются с ролью CA. Мы не имеем возможности изменять эти шаблоны, поэтому приходится использовать как есть. Хотя, в ряде случаев этого бывает достаточно. Например, шаблон Computer очень часто удовлетворяет требованиям для компьютерных сертификатов общего назначения. Однако, часто этого бывает недостаточно, особенно не хватает возможности автоматического распространения сертификатов пользователям. Для решения этой и не только задачи мы можем использовать шаблоны версии 2 и 3 и классический автоэнроллмент.

Примечание: чтобы узнать какие операционные системы поддерживают шаблоны версии 2 и 3, ознакомьтесь с обеими таблицами, приведённвми в первой части материала.

V2/V3 Templates

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

Шаблоны версии 2 и 3 уже являются управляемыми и их можно очень гибко конфигурировать:

Version 2 template  Version 2 template

Безусловно, возможность настраивать шаблоны резко усложняет понимание и управление процессом. В этой части я планирую только показать настройки шаблонов и какие настройки несовместимы с автоэнроллментом.

Вкладка General

  • Template display name — отображаемое имя шаблона. Используется для удобства распознавания шаблона пользователем.
  • Template name — это уже внутреннее имя шаблона по которому учётные записи и службы находят шаблоны.
  • Validity period — устанавливает срок действия сертификата на основе конкретного шаблона.

Примечание: срок действия сертификата может быть ограничен не только этой настройкой. В действительности принимается во внимание ещё остаточный срок действия сертификата самого сервера CA и значение реестра на сервере CA по адресу: HKLM\System\CurrentControlSet\ Services\CertSvc\Configuration\<CA sanitized name> и значения Validity period и Validity period units. Наименьшее из трёх значений будет определять реальнй срок действия сертификатов.

  • Renewal period — указывает срок за который до окончания действия сертификата, механизм автоэнроллмента будет пробовать обновить сертификат.

Примечание: данная опция используется только при активной политике автоэнроллмента и в остальных случаях игнорируется. Так же следует учитывать, что этот срок не является абсолютным. Есть ещё предустановленное значение, которое равно 80% от срока действия сертификата. Это означает, что триггер автоэнролмента будет будет пытаться обновить сертификат либо по истечении 80% (т.е. за 20% до конца) срока действия сертификата или значения этой опции. В итоге выбирается то значение, которое больше (иными словами, срабатывает раньше). По умолчанию 6 недель для срока действия в 1 год составляет эти самые 20% до срока окончания сертификата.

  • Publish certificate in Active Directory — публикует сертификат в свойствах учётной записи пользователя или компьютера. Публикация полезна, когда кто-то будет использовать сертификат конкретного пользователя. Например, при предоставлении общего доступа к шифрованным файлам или для шифрования почты, сертификаты других пользователей должны быть опубликованы в Active Directory.
  • Do not automatically reenroll if a duplicate certificate exist in Active Directory — инструктирует клиента автоэнроллмента не запрашивать новые сертификаты на основе текущего шаблона, если действующий сертификат уже существует в свойствах учётной записи в AD. В случае использования перемещаемых пользователей и/или частого перемещения пользователя между компьютерами эта опция позволяет не плодить большое количество сертификатов на основе одинакового шаблона. Работает только при использовании предыдущей опции. В остальных случаях игнорируется. Следует учитывать, что массовая публикация сертификатов в AD может значительно увеличить объём реплицируемых данных между контроллерами доменов.
  • For automatic renewal of smart card certificates, use the existing private key if a new key cannot be created — позволяет смарт-карте использовать существущий закрытый ключ при обновлении сертификата на ней. При нехватке свободного места на смарт-карте может оказаться, что записать новую пару ключей некуда и энроллмент закончится неудачей. Данную опцию рекомендуется включать для шаблонов, которые используют CSP смарт-карт.

Вкладка Request Handling

  • Purpose — указывает целевое назначение закрытого ключа данного шаблона. Это может быть цифровая подпись, шифрование, или оба значения, а так же использование для смарт-карт.
  • Delete revoked or expired certificate — инструктирует клиента автоэнроллмента удалять просроченные или отозванные сертификаты из хранилища пользователя или компьютера. Используется только при активной политике автоэнроллмента. Данная опция недоступна, если предыдущее поле Purpose содержит Encryption.
  • Include symmetric algorithms allowed by the subject — позволяет приложениям использовать новые симметричные алгоритмы CNG (Cryptography New Generation) при использовании данного сертификата. Доступно только начиная с Windows Server 2008.
  • Archive subject's private key — инструктирует клиента инициировать процедуру архивации закрытого ключа на сервере CA при энроллменте сертификата. Данная опция недоступна, если Purpose выставлен в Signature или в Signature and smartcard logon.

Примечание: как вы можете зметить, опции: Delete revoked or expired certificate и Archive subject's private key являются взаимоисключаемые. Вы не можете использовать обе эти опции в пределах одного шаблона.

  • Minimum key size — указывает минимальную длину ключа, который будет генерироваться при запросе сертификата.
  • Allow Private Key To Be Exported — позволяет экспортировать (например, для бэкапа) закрытый ключ данного сертификата из локального хранилища сертификатов.
  • Enroll subject without requiring any user input — инструктирует клиента не выводить пользователю никаких окошек, которые бы требовали ввода от пользователя. Данный параметр обязателен для компьютерных шаблонов, которые используются для автоэнроллмента.
  • Prompt the user during enrollment — выводит диалоговое окно при энроллменте. Данный параметр обязателен, если закрытый ключ сертификата будет храниться на смарт-карте. Эта опция позволит CSP смарт-карты выводить окно ввода PIN от смарт-карты.
  • Prompt The User During Enrollment And Require User Input When The Private Key Is Used — при энроллменте выводит диалоговые окна настройки private key strong protection и включает этот режим для закрытого ключа.
  • CSP — позволяет выбрать Cryptographic Service Provider для генерации закрытого ключа. Для автоэнроллмента следует установить не более одного провайдера.

Вкладка Subject name

  • Supply in request — требует явного задания поля Subject при энроллменте. Недопустимо при автоэнроллменте.
  • Build From This Active Directory Information — инструктирует сервер CA заполнять поле Subject основываясь на данных учётной записи в Active Directory. Обязателен для автоэнроллмента.

Вкладка Issuance Requirements

  • CA Certificate Manager Approval — для всех запросов данного шаблона требуется явное одобрение администратора CA. При автоэнроллменте в первый раз будет отправлен запрос и потом, после принятия положительного решения администратором, при повторных срабатываниях триггера автоэнроллмента будет импортирован сам сертификат.

Примечание: при автоэнроллменте автоматическое получение сертификата после одобрения администратором произойдёт только при условии, если в политике автоэнроллмента выставлен чек-бокс на Renew expired certificates, update pending certificates, and remove revoked certificates. В противном случае, автоэнроллмент не будет работать для конкретного шаблона.

  • This Number Of Authorized Signatures — указывает количество подписей, которыми должен быть подписан запрос. Для автоэнроллмента это значение не должно быть большье 1, иначе автоэнроллмент для конкретного шаблона работать не будет.

Примечание: строго говоря, выставлять данный параметр в 1 тоже не очень рекомендуется. Если с сертификатом что-то случится (будет утерян, просрочен или отозван), то обновление такого сертификата средствами автоэнроллмента будет невозможным, поскольку запрос нечем будет подписать и получить новый сертификат можно будет только после ручного энроллмента через консоль MMC.

  • Если предущее значение больше нуля, то вы можете настроить для шаблона настроенные политики выдачи.
  • Require The Following For Reenrollment: Same criteria as for enrollment — при обновлении сертификата, используются те же требования, что и при первом запросе сертификата. Для успешной работы автоэнроллмента не следует включать эту опцию, если количество требуемых подписей при запросе больше нуля, поскольку запрос надо будет чем-то подписать и если специального сертификата в локальном хранилище не окажется, то автоэнроллмент не будет работать для конкретного шаблона.
  • Require The Following For Reenrollment: Valid existing certificate — при обновлении сертификата требуется наличие существующего действующего и не отозванного сертификата на основе данного шаблона. Действующий сертификат будет использоваться для подписи запроса обновления сертификата.

Примечание: если количество требуемых подписей при энроллменте больше 0 (обычно используется при Enroll On Behalf Of), то первый раз сертификат должен быть получен через ручной запрос с использованием оснастки MMC. Это полностью соответствует идеологии EOBO, когда администратор регистрирует каждую смарт-карту в учётных журналах, запрашивает сертификат для неё и под роспись выдаёт пользователю. Обновление сертификата уже будет происходить автоматически. Для этого данный переключатель следует переставить в Valid existing certificate. Существующий сертификат будет использоваться для подписи нового запроса. Соответственно, если сертификат будет утерян, отозван или просрочен, то обновление по очевидным причинам не будет, поскольку запрос подписать будет нечем. Для получения нового сертификата придётся повторить всю процедуру, как и при первом получении сертификата с помощью EOBO.

Вкладка Superseded templates

Данная вклкадка показывает какие существующие шаблоны будут заменены текущим шаблоном. Если вы решили использовать специально настроенный шаблон для смарт-карт, то вы можете этим специально настроенным шаблоном версии 2 заменить стандартные преднастроенные шаблоны (Smart Card Logon и Smart Card User). Это запретит дальнейший энроллмент сертификатов на основе устаревших шаблонов, которые заменяет новый шаблон. И если у пользователей есть сертификаты на основе устаревших шаблонов, то добавление их во вкладку Superseded templates проинструктирует клиентов обновить сертификаты на основе нового специально настроенного шаблона. Автоэнроллмент автоматически следит за обновлениями шаблонов. И если какой-то шаблон был заменён другим и у пользователя есть сертификат на основе устаревшего шаблона, автоэнроллмент запросит новый сертификат для нового шаблона.

Примечание: в настоящее время смарт-карты не поддерживают использование шаблонов версии 3.

Вкладка Extensions

Данная вкладка позволяет настраивать определённые расширения, которые будут опубликованы в сертификатах. В контексте автоэнроллмента ничего интересного не представляет.

Вкладка Security

Достаточно важная вкладка, поскольку она определяет, может ли автоэнроллмент использовать конкретный шаблоны или нет. Если вы планируете использовать шаблон для автоэнроллмента, то соответствующие учётные записи (или группы) должны иметь следующие права:

  • Read
  • Enroll
  • Autoenroll

Отсутствие любого из этих прав не позволит автоэнроллменту запрашивать сертификаты на основе конкретного шаблона.

Примечание: это достаточно распространённая ошибка. Следует понимать, что пользовательским сертификатам права назнаются учётным записям пользователей, а компьютерным сертификатам права назначаются учётным записям компьютеров.

Что бы почитать?


Share this article:

Comments:

Alex

Хотел бы обратить внимание читателей на один момент. Если вы устанавливаете галку @alow private key to be export@, и после получения сертификата его экспортируете на другую машину или в другой профиль, то нужно не забывать, что новый ключ при автоэнролменте будет "доставлен" на ту первоначальную машину и в тот профиль, под которым был получен старый ключ.

Alex

Забыл уточнить, при использовании на шаблоне функции @Reenroll all certificate holders@

Comments are closed.