Вопрос или проблема
Мы используем Windows для хостинга нашего внутреннего сервера ЦС для всех внутренних веб-серверов и других услуг с защищенной TLS, сертификатов. Перед обновлением до сервера 2022 года, если я правильно помню, с 2016 года я мог отправить запрос на сертификат в ЦС через рабочий стол, так как IIS не настроен, и получить выданный сертификат. Поскольку многие из этих сертификатов предназначены для Linux-сервисов и запрос создается через OpenSSL или Java, я использую пакетный файл с следующей командой для начала процесса: certreq -attrib "CertificateTemplate:WebServer"
.
После обновления я получал следующую ошибку при попытке получить выданный сертификат. Сертификат не выдан (Отказано) Отказано модулем политики Права на шаблон сертификата не позволяют текущему пользователю записаться на этот тип сертификата. 0x80094012 (-2146877422 CERTSRV_E_TEMPLATE_DENIED)
Я нашел эту страницу 4sysops.com и, судя по тому, что я из нее понял, мне нужно добавить компьютер, который делает запрос, на вкладку Безопасность для шаблона с правами Чтение и Запись. Компьютеры в данном случае – это системы Linux, и многие из них не находятся в AD, в том числе тот, для которого я пытаюсь получить сертификат, так что я не могу добавить эту систему в настройки безопасности. Я пытался добавить сервер ЦС и группу Компьютеры домена в настройки безопасности шаблона, но это ничего не изменило.
И теперь вопросы. Как я могу обойти эту проблему? Должен ли я добавить систему в AD? Могу ли я изменить какой-либо параметр, чтобы избежать этого? Если это невозможно, нужно ли мне настроить под-ЦС на компьютере с Linux только для этих систем без AD?
Ответ или решение
Решение проблемы: Отказ в разрешениях при отправке запроса сертификата в Windows Server 2022
Недавний переход на Windows Server 2022 стал причиной возникновения ошибки "Certificate not issued (Denied) Denied by Policy Module", связанной с правами доступа к шаблону сертификата, на который пытается ссылаться ваш запрос. Эта проблема может стать серьезным препятствием для получения сертификатов для ваших внутренних служб. Давайте разберем, как можно решить данную проблему, а также рассмотрим, нужны ли вам активные директории (AD) или какие-то альтернативные решения.
Понять проблему
Ошибка 0x80094012 (CERTSRV_E_TEMPLATE_DENIED
) указывает на то, что у текущего пользователя недостаточно прав для обработки запроса на сертификат. В Windows Server 2022, возможно, были изменены настройки безопасности или политики, которые влияют на права доступа к шаблонам сертификатов.
Проверка прав доступа к шаблону
- Откройте консоль управления сертификацией (certsrv.msc) на вашем CA-сервере.
- Перейдите к списку шаблонов сертификатов: щелкните правой кнопкой мыши на "Шаблоны сертификатов", затем выберите "Управление".
- Найдите нужный шаблон сертификата (в вашем случае это шаблон
WebServer
) и щелкните по нему правой кнопкой мыши, выбрав "Свойства". - Вкладка Безопасность покажет текущие разрешения. Убедитесь, что:
- У групповой учетной записи Domain Computers или учетной записи CA-сервера установлены права Read и Enroll.
Если ваши системы не являются частью Active Directory, это может быть проблемой.
Вы решения для восстановления доступа
-
Создание сертификата для рабочей группы:
- Если у вас нет возможности добавить ваши компьютеры в Active Directory, вы можете создать шаблон сертификата, который будет доступен для аутентификации, используя учетные записи службы.
- Один из возможных способов — настройка CA для работы с сертификатами для рабочей группы, однако этот процесс требует дополнительных настроек и иногда включает использование внешнего сервера.
-
Создание подчиненного CA на Linux:
- Если использование Active Directory невозможен, особенно для Linux-систем, вам можно рассмотреть возможность установки подчиненного CA на одной из ваших Linux машин.
- Такой подход позволит использовать OpenSSL для создания самоподписанных сертификатов. При этом можете настроить CA так, чтобы он доверял вашему Windows CA.
-
Пересмотр шаблона сертификата:
- Можно попробовать создать новый шаблон сертификата, который будет включать более широкие права для всех пользователей или групп, которые не находятся в AD.
- Примените этот новый шаблон и проверьте, поможет ли это в решении проблемы.
Заключение
На основании изложенных выше решений, определите, какое из них наилучшим образом соответствует вашим потребностям и возможностям. Если присоединение к Active Directory невозможно и ваши службы работают на Linux, настройка подчиненного центра сертификации может стать оптимальным вариантом. Это обеспечит необходимую гибкость и позволит получать сертификаты без дополнительных помех.
Выбор стратегии получения сертификатов будет зависеть от ваших инфраструктурных решений и требований безопасности. Надеюсь, эта информация поможет вам эффективно разрешить возникшую проблему.