Автоматическая регистрация сертификатов не включена windows 10

Обновлено: 07.07.2024

Ранее уже приходилось сталкиваться с проблемой невозможности корректного развёртывания ПО из-за того, что на целевых компьютерах с OC Windows не обновляется хранилище сертификатов доверенных корневых центров сертификации (далее для краткости будем называет это хранилище TrustedRootCA). На тот момент вопрос был снят с помощью развёртывания пакета rootsupd.exe, доступного в статье KB931125, которая относилась к ОС Windows XP. Теперь же эта ОС полностью снята с поддержки Microsoft, и возможно, поэтому данная KB-статья более недоступна на сайте Microsoft. Ко всему этому можно добавить то, что уже даже на тот момент времени решение с развёртыванием уже устаревшего в ту пору пакета сертификатов было не самым оптимальным, так как тогда в ходу были системы с ОС Windows Vista и Windows 7, в которых уже присутствовал новый механизм автоматического обновления хранилища сертификатов TrustedRootCA. Вот одна из старых статей о Windows Vista, описывающих некоторые аспекты работы такого механизма - Certificate Support and Resulting Internet Communication in Windows Vista . Недавно я снова столкнулся с исходной проблемой необходимости обновления хранилища сертификатов TrustedRootCA на некоторой массе клиентских компьютеров и серверов на базе Windows. Все эти компьютеры не имеют прямого доступа в Интернет и поэтому механизм автоматического обновления сертификатов не выполняет свою задачу так, как хотелось бы. Вариант с открытием всем компьютерам прямого доступа в Интернет, пускай даже на определённые адреса, изначально рассматривался как крайний, а поиски более приемлемого решения привел меня к статье Configure Trusted Roots and Disallowed Certificates ( RU ), которая сразу дала ответы на все мои вопросы. Ну и, в общем то, по мотивам этой статьи, в данной заметке я кратко изложу на конкретном примере то, каким образом можно централизованно перенастроить на компьютерах Windows Vista и выше этот самый механизм авто-обновления хранилища сертификатов TrustedRootCA, чтобы он использовал в качестве источника обновлений файловый ресурс или веб-сайт в локальной корпоративной сети.

Для начала, на что нужно обратить внимание, это на то, что в групповых политиках, применяемых к компьютерам, не должен быть задействован параметр блокирующий работу механизма авто-обновления. Это параметр Turn off Automatic Root Certificates Update в разделе Computer Configuration > Administrative Templates > System > Internet Communication Management > Internet Communication settings. Нам потребуется, чтобы этот параметр был Выключен, либо просто Не настроен.

Если взглянуть на хранилище сертификатов TrustedRootCA в разделе Локальный компьютер, то на системах, не имеющих прямого доступа в Интернет, набор сертификатов будет прямо так скажем небольшой:

image

В статье KB2677070 - Доступно автоматическое обновление отозванных сертификатов для систем Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2 можно найти актуальные на данный момент ссылки на файлы, прямой доступ к которым (минуя прокси с требованием аутентификации) может потребоваться для функций авто-обновления:

Но вариант прямого доступа в рамках данной заметки мы больше упоминать не станем и рассмотрим пример локализации процесса обновления в соответствии с ранее упомянутой статьёй.

Первое, что нам нужно сделать, это рассмотреть варианты получения актуальных файлов набора корневых сертификатов для их дальнейшего распространения внутри локальной сети.

Попробуем на компьютере имеющем прямое подключение к Интернету выполнить команду генерации SST файла, который будет в себе содержать актуальный набор файлов корневых сертификатов. В данном случае на компьютере с Windows 10 выполняется команда, вызывающая входящую в базовый состав ОС утилиту Certutil, которая в свою очередь обращается к веб-узлу Microsoft и создаёт по указанному нами пути SST файл:

image

Полученный в результате выполнения команды SST-файл по сути является контейнером, который содержит в себе все сертификаты для нужного нам обновления системы. Этот контейнер легко открывается в Проводнике Windows загружая ассоциированную с расширением файла оснастку управления сертификатами.

Этот файл удобно использовать, например, когда из всего подмножества доступных сертификатов нужно выбрать лишь некоторый набор и выгрузить их в отдельный SST файл для дальнейшей загрузки, например, с помощью консоли управления локальными сертификатами или с помощью консоли управления групповыми политиками (для импорта в какую-либо доменную политику через параметр Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities).

Однако для интересующего нас способа распространения корневых сертификатов, с помощью модификации работы механизма авто-обновления на конечных клиентских компьютерах, нам потребуется несколько иное представление множества актуальных корневых сертификатов. Получить его можно с помощью всё той же утилиты Certutil, но уже с другим набором ключей.

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

Ключи -f -f используются для форсированного обновления всех файлов в каталоге назначения.

В результате выполнения команды в указанной нами сетевой папке появится множество файлов общим объемом примерно в пол мегабайта:

image

Согласно ранее упомянутой статьи , назначение файлов следующее:

  • Файл authrootstl.cab содержит сторонние списки доверия сертификатов;
  • Файл disallowedcertstl.cab содержит список доверия сертификатов с недоверенными сертификатами;
  • Файл disallowedcert.sst содержит хранилище сериализованных сертификатов, включая недоверенные сертификаты;
  • Файлы с именами типа thumbprint.crt содержат сторонние корневые сертификаты.

Итак, файлы необходимые для работы механизма авто-обновления получены, и мы теперь переходим к реализации изменения схемы работы этого самого механизма. Для этого, как всегда, нам на помощь приходят доменные групповые политики Active Directory (GPO), хотя можно использовать и другие инструменты централизованного управления, весь всё, что нам нужно сделать на всех компьютерах - это изменить, вернее добавить, всего один параметр реестра RootDirURL в ветке HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate , который и определит путь к нашему сетевому каталогу, в котором мы ранее разместили набор файлов корневых сертификатов.

Говоря о настройке GPO, для реализации поставленной задачи, опять же, можно использовать разные варианты. Например, есть "олд-скульный" вариант с созданием собственного шаблона групповой политики, так как это описано в уже знакомой нам статье . Для этого создадим файл в формате административного шаблона GPO (ADM), например, с именем RootCAUpdateLocalPath.adm и содержимым:

Скопируем этот файл на контроллер домена в каталог %SystemRoot%\inf (как правило, это каталог C:\Windows\inf ). После этого перейдём в редактор доменных групповых политик и создадим отдельную новую политику, открыв затем её на редактирование. В разделе Computer Configuration > Administrative Templates… откроем контекстное меню и выберем пункт подключения нового шаблона политик Add/Remove Templates

image

В открывшееся окне с помощью кнопки обзора выберем ранее добавленный файл %SystemRoot%\inf\RootCAUpdateLocalPath.adm , и после того, как шаблон появится в списке, нажмём Close.

image

image

image

Сохраним проделанные изменения и применим созданную политику к доменному контейнеру, в котором расположены целевые компьютеры. Однако рассмотренный метод настройки GPO имеет ряд недостатков и именно поэтому я назвал его "олд-скульным".

Другой, более современный и более продвинутый метод настройки реестра клиентов - это использование Group Policy Preferences (GPP). При таком варианте мы можем создать соответствующий объект GPP в разделе групповой политики Computer Configuration > Preferences > Registry с обновлением параметра (Action: Update) реестра RootDirURL (тип значения REG_SZ)

image

При необходимости можем для созданного параметра GPP включить гибкий механизм нацеливания (Закладка Common > Опция Item-level targeting) на конкретный компьютер или группу компьютеров для предварительного тестирования того, что у нас в конечном итоге получиться после применения групповых политик.

Разумеется, нужно выбрать какой-то один вариант, либо с подключением собственного ADM-шаблона, либо с использованием GPP.

После настройки групповых политик на любом подопытном клиентском компьютере выполним обновление командой gpupdate /force c последующей перезагрузкой. После загрузки системы проверим в реестре наличие созданного ключа и попробуем проверить наличие факта обновления хранилища корневых сертификатов. Для проверки воспользуемся простым но действенным примером описанным в заметке Trusted Roots and Disallowed Certificates .

Для примера посмотрим, есть ли в хранилище сертификатов компьютера корневой сертификат, использованный для выпуска сертификата, который установлен на сайте с именем buypass.no (но на сам сайт пока не переходим :)).

image

Сделать это удобнее всего с помощью средств PowerShell:

image

После этого мы можем снова выполнить указанную ранее команду запроса к хранилищу корневых сертификатов и увидим, что теперь в нём действительно появился новый корневой сертификат, именно тот который фигурировал в событии event-лога Windows:

image

Как видим, механизм авто-обновления работает и теперь всё, что остаётся, это организовать поддержку в актуальном состоянии файлов в сетевой папке, запланировав, например на ночное время, ежесуточное выполнение задания обновления ранее упомянутой командой:

Многие сертификаты могут передаваться даже без уведомления клиента о происходящей регистрации сертификата. Сюда относятся многие типы сертификатов, выдаваемых компьютерам и службам, а также и многие сертификаты, выдаваемые пользователям.

Чтобы клиенты автоматически подавали заявки на сертификаты в доменной среде, необходимо выполнить указанные ниже действия.

Минимальным требованием для выполнения этой процедуры является членство в группе Администраторы домена или Администраторы предприятия или наличие эквивалентных прав. Дополнительные сведения см. в разделе Реализация ролевого администрирования.

На контроллере домена под управлением Windows Server 2008 R2 или Windows Server 2008 нажмите кнопку Пуск, выберите пункт Администрирование, а затем пункт Управление групповой политикой.

В дереве консоли дважды щелкните узел Объекты групповой политики в лесу и домене, содержащем изменяемый объект групповой политики Политика домена по умолчанию.

Щелкните правой кнопкой мыши объект групповой политики Политика домена по умолчанию и выберите команду Изменить.

В дереве консоли управления групповой политикой последовательно выберите Конфигурация пользователя, Конфигурация Windows, Параметры безопасности, затем щелкните пункт Политики открытого ключа.

Дважды щелкните Клиент службы сертификации - автоматическая регистрация.

Установите флажок Регистрировать сертификаты автоматически, чтобы включить автоматическую регистрацию сертификатов. Если требуется блокировать автоматическую регистрацию, установите флажок Не регистрировать сертификаты автоматически.

Если следует включить автоматическую регистрацию сертификатов, можно установить следующие флажки:

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

Перед выполнением этой процедуры необходимо настроить шаблон сертификата сервера с помощью оснастки "Шаблоны сертификатов" консоли управления (MMC) в центре сертификации, где выполняется AD CS. членство в группах "администраторы Enterprise " и "администраторы домена корневого домена" является минимальным требованием для выполнения этой процедуры.

Настройка автоматической регистрации сертификата сервера

на компьютере, где установлен AD DS, откройте Windows PowerShell®, введите mmcи нажмите клавишу ввод. Откроется консоль управления (MMC).

В меню Файл выберите Добавить или удалить оснастку. Откроется диалоговое окно Добавление или удаление оснасток .

В окне Доступные оснасткипрокрутите вниз до и дважды щелкните редактор "Управление групповыми политиками". Откроется диалоговое окно Выбор объекта Групповая политика .

В Групповая политика объектнажмите кнопку Обзор. Откроется диалоговое окно " Поиск объекта Групповая политика ".

В области домены, подразделения и связанные групповая политика объекты выберите Политика домена по умолчанию, а затем нажмите кнопку ОК.

Дважды щелкните Политика домена по умолчанию. в консоли разверните следующий путь: конфигурация компьютера, политики, Windows Параметры, безопасность Параметрыи политики открытого ключа.

Щелкните политики открытого ключа. На панели подробностей дважды щелкните параметр Клиент службы сертификации: автоматическая регистрация. Откроется диалоговое окно Свойства. Настройте следующие элементы и нажмите кнопку ОК.

  1. В окне Модель конфигурации выберите параметр Включено.
  2. Установите флажок обновлять сертификаты с истекшим сроком действия, обновить отложенные сертификаты и удалить отозванные сертификаты .
  3. Установите флажок Обновлять сертификаты, использующие шаблоны сертификатов.

Настройка автоматической регистрации сертификата пользователя

на компьютере, где установлен AD DS, откройте Windows PowerShell®, введите mmcи нажмите клавишу ввод. Откроется консоль управления (MMC).

В меню Файл выберите Добавить или удалить оснастку. Откроется диалоговое окно Добавление или удаление оснасток .

В окне Доступные оснасткипрокрутите вниз до и дважды щелкните редактор "Управление групповыми политиками". Откроется диалоговое окно Выбор объекта Групповая политика .

В Групповая политика объектнажмите кнопку Обзор. Откроется диалоговое окно " Поиск объекта Групповая политика ".

В области домены, подразделения и связанные групповая политика объекты выберите Политика домена по умолчанию, а затем нажмите кнопку ОК.

Дважды щелкните Политика домена по умолчанию. в консоли разверните следующий путь: конфигурация пользователя, политики, Windows Параметры, Параметры безопасности.

Щелкните политики открытого ключа. На панели подробностей дважды щелкните параметр Клиент службы сертификации: автоматическая регистрация. Откроется диалоговое окно Свойства. Настройте следующие элементы и нажмите кнопку ОК.

date

11.09.2019

directory

Windows 10, Windows 7, Windows Server 2012 R2, Windows Server 2016, Групповые политики

comments

комментариев 19

В операционные системы семейства Windows встроена система автоматического обновления корневых сертификатов с сайта Microsoft. Компания MSFT в рамках программы корневых сертификатов Microsoft Trusted Root Certificate Program, ведет и публикует в своем онлайн хранилище список сертификатов для клиентов и устройств Windows. Если проверяемый сертификат в своей цепочке сертификации относится к корневому CA, который участвует в этой программе, система автоматически скачает с узла Windows Update и добавит такой корневой сертификат в доверенные.

В этой статье попробуем разобраться, как можно вручную обновить список корневых сертификатов в TrustedRootCA в изолированных сетях, или компьютерах/серверах без прямого подключения к Интернету.

Примечание. Если ваши компьютеры выходят в Интернет через прокси-сервер, для того, чтобы работало автоматическое обновление корневых сертификатов на компьютера пользователей, Microsoft рекомендует открыть прямой доступ (bypass) к веб-узлам Microsoft. Но это не всегда возможно/применимо.

Управление корневыми сертификатами компьютера в Windows 10

Как посмотреть список корневых сертфикатов компьютера с Windows?

mmc оснастка диспетчера сертфикатов в windows

  1. Чтобы открыть хранилище корневых сертфикатов компьютера в Windows 10/8.1/7/Windows Server, запустите консоль mmc.exe;
  2. Нажмите Файл (File) -> Добавить или удалить оснастку (Add/Remove Snap-in), в списке оснасток выберите Сертификаты (Certificates) -> Добавить (Add);
  3. В диалоговом окне выберите что вы хотите управлять сертификатами учетной записью компьютера (Computer account);
  4. Далее -> Ok -> Ok;
  5. Разверните Certificates (Сертификаты) -> Trusted Root Certification Authorities Store (Доверенные корневые сертификаты). В этом списке содержится список корневых доверенных сертификатов вашего компьютера.

Вы также можете получить список доверенных корневых сертификатов со сроками действия с помощью PowerShell:

Get-Childitem cert:\LocalMachine\root |format-list

Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:

Get-ChildItem cert:\LocalMachine\root | Where

poweshell вывести список просроченных корневых сертфикатов в Windows

В консоли mmc вы можете просмотреть информацию о любом сертификате или удалить его из доверенных.

В целях безопасности рекомендует периодически проверять хранилище доверенных сертификатов на наличие поддельных сертификатов с помощью утилиты Sigcheck.

Вы можете вручную перенести файл корневого сертификата с одного компьютера на другой через функцию Экспорта/Импорта.

Утилита rootsupd.exe

В Windows XP для обновления корневых сертификатов использовалась утилита rootsupd.exe. В этой утилита содержится список корневых и отозванных сертификатов, зашитых в которой регулярно обновлялся. Сама утилита распространялась в виде отдельного обновления KB931125 (Update for Root Certificates).

Но, как вы видите, дата создания этих файлов 4 апреля 2013 (почти за год до окончания официальной поддержки Windows XP). Таким образом, с этого времени утилита не обновлялась и не может быть использована для установки актуальных сертификатов. Однако нам чуть позже понадобится файл updroots.exe.

Certutil: получение корневых сертификатов через Windows Update

Утилита управления и работы с сертификатами Certutil (появилась в Windows 10), позволяет скачать с узлов Windows Update и сохранить в SST файл актуальный список корневых сертификатов.

Для генерации SST файла, на компьютере Windows 10 с доступом в Интернет, выполните с правами администратора команду:

certutil.exe -generateSSTFromWU roots.sst

certutil.exe -generateSSTFromWU

В результате в целевом каталоге появится файл SST, содержащий актуальный список сертификатов. Дважды щелкните по нему для открытия. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты.

sst файл - контейнер для сертификатов

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

Совет. Для генерации индивидуальных файлов сертификатов можно использовать команду certutil -syncWithWU . Полученные таким образом сертификаты можно распространить на клиентов с помощью GPO.

Для установки всех сертификатов из SST файла и добавления их в список корневых сертфикатов компьютера можно воспользоваться командами PowerShell:

$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root

Также можно воспользоваться утилитой updroots.exe (она содержится в архиве rootsupd.exe, который мы распаковали в предыдущем разделе):

Обновить корневые сертфикаты в храниище Trusted Root Certification Authority

Запустите оснастку certmgr.msc и убедитесь, что все сертификаты были добавлены в хранилище Trusted Root Certification Authority.

Список корневых сертификатов в формате STL

authroot.stl

Файл authroot.stl представляет собой контейнер со списком доверенных сертификатов в формате Certification Trust List.

Certification Trust List

Данный файл можно установить в системе с помощью контекстного меню файла STL (Install CTL).

Install CTL

Или с помощью утилиты certutil:

certutil -addstore -f root authroot.stl

certutil addstore root

Также вы можете импортировать сертификаты из консоли управления сертификатами (Trust Root Certification Authorities –>Certificates -> All Tasks > Import).

Укажите путь к вашему STL файлу сертификатами.

импорт stl сертфикатов

После выполнения команды, в консоли управления сертификатами (certmgr.msc) в контейнере Trusted Root Certification Authorities (Доверенные корневые сертификаты) появится новый раздел с именем Certificate Trust List (Список доверия сертификатов).

Certificate Trust List в Trusted Root Certification Authorities

certutil -addstore -f disallowed disallowedcert.stl

Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах

Если у вас возникла задача регулярного обновления корневых сертификатов в изолированном от Интернета домене Active Directory, есть несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах домена с помощью групповых политик. В изолированных сетях Windows вы можете настроить обновление корневых сертификатов на компьютерах пользователей несколькими способами.

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

certutil.exe –generateSSTFromWU roots.sst

Второй способ предполагает получение актуальных корневых сертификатов с помощью команды:

В указанном сетевом каталоге появится ряд файлов корневых сертификатов (CRT) и в том числе файлы (authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt).

корневые сертфикаты crt для windows

Затем с помощью GPP нужно изменить значение параметра реестра RootDirURL в ветке HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate. Этот параметр должен указывать на сетевую папку, из которой клиентам нужно получать новые корневые сертификаты. Перейдите в секцию редактора GPO Computer Configuration -> Preferences -> Windows Settings -> Registry. И создайте новый параметр реестра со значениями:

настроить каталог RootDirURL для обновления сертфикатов с помощью gpo

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

Политика Turn off Automatic Root Certificates Update в разделе Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication settings должна быть выключена или не настроена.

В этой статье мы рассмотрели несколько способов обновления корневых сертификатов на ОС Windows, изолированной от Интернета.

Читайте также: