В этой заметке мы рассмотрим процедуру миграции автономного центра сертификации (Standalone Certification Authority) с ОС Windows Server 2012 R2 на ОС Windows Server 2022 в рамках одного и того же виртуального сервера с переустановкой ОС. Одним из условий рассматриваемого примера будет сохранение имени сервера, хотя в целом данное условие не является обязательным.
Общий план действий будет следующий:
- Создание резервной копии данных ЦС в Windows Server 2012 R2
- Удаление служб ЦС из Windows Server 2012 R2
- Переустановка ОС и установка служб ЦС в Windows Server 2022.
- Первичная конфигурация ЦС
- Восстановление базы данных и конфигурации ЦС из резервной копии
Шаг 1. Резервное копирование данных ЦС в Windows Server 2012 R2
Резервное копирование ЦС будет представлять собой сохранение сертификата ЦС, закрытого ключа ЦС и базы данных выданных сертификатов. Помимо этого нам потребуется сохранить ключ системного реестра, который хранит все настройки ЦС.
На сервере с Windows Server 2012 R2 в оснастке управления Certification Authority (certsrv.msc) в основном контекстном меню для ЦС выбираем пункт "Back up CA…"
В открывшемся окне мастера резервного копирования включаем опции сохранения закрытого ключа и сертификата ЦС "Private key and CA certificate" и сохранения базы данных сертификатов "Certificate database and certificate database log", а также указываем путь к защищённому от стороннего доступа каталогу для сохранения резервных копий.
Для защиты закрытого ключа в составе резервной копии зададим некий сложный пароль.
Мастер сохранит резервную копию данных в указанный каталог и среди прочего зашифрует данные о закрытом ключе с использованием указанного нами пароля в специальном файле-контейнере.
Процедуру создания резервной копии можно выполнить не только с помощью графической оснастки управления, но и с помощью PowerShell, командой следующего вида:
Backup-CARoleService -Path "C:\CABackupPS" -Password (ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force) -KeepLog
На выходе мы получим подкаталог с базой данных сертификатов и зашифрованный файл-контейнер в формате *.p12, содержащий в себе закрытый ключ ЦС.
Далее переходим в редактор системного реестра Windows и находим в нём ключ реестра, который хранит расширенные настройки ЦС:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration
Сохраняем содержимое этого ключа в *.reg файл, используя пункт меню "Export".
Аналогичное действие можно выполнить с помощью командной строки и команды следующего вида:
reg export "HKLM\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration" "C:\CABackupPS\Reg-CA1-WS2012R2.reg"
Сохраняем содержимое каталога с файлами резервной копии в защищённое стороннее место.
Шаг 2. Удаление служб ЦС из Windows Server 2012 R2
Данный шаг является опциональным для автономного ЦС, но будет желательным в случае, если выполняется переустановка/миграция доменного ЦС. В случае с доменным ЦС для удаления "Active Directory Certificate Services" нам потребуется права уровня Enterprise Admins.
Сначала деактивируем компоненту "Certification Authority Web Enrollment", если она была установлена ранее. Если этого предварительно не сделать, то при попытке удаления ключевой компоненты "Certification Authority" мы получим ошибку с сообщением о том, что сначала необходимо удалить "Web Enrollment".
Uninstall-AdcsWebEnrollment -Force
Затем в оснастке "Server Manager" деактивируем компоненты роли "Active Directory Certificate Services"
Шаг 3. Переустановка ОС и установка служб ЦС в Windows Server 2022
После удаления роли AD CS, выводим сервер из домена, форматируем диск и начисто устанавливаем ОС Windows Server 2022. При настройке сервера (по условиям нашего примера) используем прежнее имя hostname.
После первичной настройки ОС и ввода в домен переходим в оснастку управления "Server Manager" и активируем ранее используемые компоненты "Certification Authority" и "Certification Authority Web Enrollment" для роли "Active Directory Certificate Services"
Шаг 4. Первичная конфигурация ЦС
После завершения процесса установки роли, переходим по ссылке "Configure Active Directory Certificate Services on the destination server"
Откроется мастер конфигурирования AD CS, в котором на шаге "Credentials" нужно указать учётные данные пользователя, от имени которого будет выполнять конфигурация ЦС. Для доменного ЦС требуются права уровня Enterprise Admins. А в нашем примере, для автономного ЦС, достаточно прав локального администратора сервера.
На шаге "Role Services" выбираем компоненты, которые хотим сконфигурировать.
На шаге "Setup Tyte" в нашем случае выбирается тип развёртывания – автономный ЦС: "Standalone CA".
На шаге выбора типа ЦС в нашем случае выбирается "Root CA", так как в нашем примере используется развёртывание автономного корневого ЦС.
На шаге "Private Key" выбираем пункт экспорта сертификата ЦС и ассоциированного с ним закрытого ключа ЦС: "Use existing private key" > "Select a certificate and use its associated private key".
В окне импорта сертификата указываем путь к контейнеру *.p12 и пароль, который мы использовали ранее при создании резервной копии ЦС.
Убеждаемся в том, что сертификат ЦС подгрузился без ошибок.
На следующем шаге оставляем пути к БД в значениях по умолчанию и дожидаемся успешного завершения конфигурирования ЦС.
После этого можем перейти в оснастку Certification Authority и убедиться в том, что ЦС успешно запущен со своим прежним именем и сертификатом.
Шаг 5. Восстановление базы данных и конфигурации ЦС из резервной копии
Теперь настало время восстановить базу данных всех ранее выданных и отозванных сертификатов. Для этого в оснастке Certification Authority в основном контекстном меню для ЦС выбираем пункт "Restore CA…"
Перед началом работы мастера восстановления мы получим предупреждение о том, что в ходе восстановления служба сертификации будет будет остановлена.
В открывшемся окне мастера восстановления включаем опции восстановления закрытого ключа и сертификата ЦС "Private key and CA certificate" и восстановления базы данных сертификатов "Certificate database and certificate database log", а также указываем путь к каталогу с созданной ранее резервной копией ЦС.
Далее укажем пароль, который мы использовали ранее для защиты закрытого ключа в составе резервной копии.
Мастер восстановления должен отработать без ошибок.
По окончании работы мастера восстановления будет предложено снова запустить службу сертификации.
После этого в оснастке Certification Authority проверяем наличие выданных и отозванных ранее сертификатов.
Далее нам остаётся восстановить информацию о конфигурации ЦС в системном реестре Windows из ранее сохранённого *.reg файла.
В нашем случае восстановление из *.reg файла выполняется без каких-либо изменений в этом файле. В случае же, если миграция ЦС выполняется с изменением имени сервера, то в файл потребуется внести корректировки.
В нашей резервной копии FQDN имя сервера встречается, как минимум, 2 раза - в параметрах CAServerName и WebClientCAMachine. В случае необходимости, вы можете изменить эти параметры.
Закрываем графическую оснастку Certification Authority, запускаем командную строку с правами администратора и выполняем последовательно команды остановки службы сертификации, восстановления настроек реестра из *.reg файла и повторного запуска службы сертификации.
net stop CertSvc
reg import "C:\CABackupPS\Reg-CA1-WS2012R2.reg"
net start CertSvc
Снова открываем графическую оснастку Certification Authority и проверяем восстановленные настройки ЦС. Например, можно убедиться в том, что успешно восстановлены ранее настроенные точки публикации распространения списка отзыва сертификатов.
После окончания процедуры восстановления (в целях безопасности) не забываем провести зачистку резервных копий ЦС, содержащих закрытий ключ.
Автономный ЦС не поддерживает работу с шаблонами сертификатов, поэтому, в нашем случае, на данном этапе процесс миграции ЦС можно считать законченным. В случае же доменного ЦС, могут потребоваться дополнительные манипуляции с шаблонами сертификатов, информацию о которых можно найти по ссылкам ниже.
Дополнительные источники информации:
- Anthony Bartolo : Step-By-Step: Migrating The Active Directory Certificate Service From Windows Server 2008 R2 to 2019
- PeteNetLive KB ID 0001473 : Moving Certificate Services To Another Server
- Jack Roper : Migrating the AD Certificate Authority Service server role from 2012 R2 to 2019 - ‘template information could not be loaded’ error
- Microsoft Q&A : Move from DC 2012R2 to 2022 and move CA role
Добавить комментарий