mars
2010
Cet article fait suite au précédent à propos de la migration d’ADDS+ADCS vers Server Core 2008 R2. Je vais maintenant migrer le service ADCS. Accrochez-vous, il y a de nombreuses étapes !
Pour commencer, il faut créer un répertoire %userprofile%\Documents\migrateCAkit qui servira à stocker tous les fichiers nécessaires à la migration. Il faut ensuite récupérer le fichier SetupCA.vbs que je stocke dans migrateCAkit. Ce fichier va nous servir à installer l’autorité sur un serveur Core. J’aurais préféré un fichier Powershell :p
Toute la suite se passera dans le répertoire %userprofile%\Documents\migrateCAkit. On commence ensuite la sauvegarde des différents éléments de l’autorité. Je suis sur une autorité d’entreprise donc il est possible de sauvegarder les modèles de certificats. Cela se fait avec la commande suivante :
certutil -catemplates > catemplates.txt
Il faudrait également sauvegarder le CSP (Cryptographic Service Provider) de votre autorité s’il n’est pas standard : je vous laisse consulter Technet pour cela.
Passons à la sauvegarde de l’autorité. Celle-ci se déroule en deux étapes : la sauvegarde de la base de données et de la clé privée de l’autorité. Je vais commencer par la sauvegarde de la clé avec
certutil -backupKey %userprofile%\Documents\migrateCAkit\backupCA
Cela aura pour effet de créer le répertoire backupCA pour ensuite demander un mot de passe pour crypter la clé privée.
!! ATTENTION !! Le mot de passe choisit doit être complexe : il va protéger votre clé privée d’autorité de certification pendant la migration. Il doit donc être choisi avec attention. Une fois que la clé aura été sauvegardée (le fichier sera nommé
certutil -backupDB %userprofile%\Documents\migrateCAkit\backupCA
Le temps de sauvegarde varie selon le nombre de clés stockées dans votre autorité. A partir de maintenant, il est souhaitable que personne ne génère de certificats : ces derniers seraient perdus. Si vous souhaitez une disponibilité de service et donc ne pas éteindre votre PKI, vous pourrez faire une sauvegarde incrémentielle et la restaurer sur l’autorité du serveur Core. Je me place dans le cas où la disponibilité de service n’est pas obligatoire donc je vais éteindre l’autorité avec
sc stop certsvc
Je pourrai ensuite sauvegarder les paramètres de mon ancienne autorité : ces paramètres sont stockés pour la majorité dans la base de registre. D’autres sont stockés dans l’annuaire de l’AD (CN=Public Key Services,CN=Services,CN=Configuration,DC=todorovic,DC=adds où DC=… désigne le nom de mon domaine AD) et donc accessibles depuis n’importe où (pas besoin de migrer). Pour sauvegarder les paramètres de la base de registre, il faut lancer
regedit /e CAsettings.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Certsvc
Cela va exporter la branche Certsvc dans un fichier de registre. Ce fichier contiendra le nom de machine du premier serveur. Le nom du serveur Core sera probablement différent, il sera donc nécessaire de modifier la clé CAServerName du fichier de registre. Vous pouvez le faire manuellement avec notepad, voici un exemple automatisé en powershell
Get-Content CAsettings.reg | Foreach-Object { $_ -replace "oldserver","newserver"} | Set-Content CAsettingsCore.reg
Cet exemple peut paraître long mais l’auto-complétion de Powershell aide à aller vite Notez que je créé un nouveau fichier CAsettingsCore.reg : cela permet d’avoir le fichier original sous la main si besoin.
Maintenant, il est temps de copier le répertoire %userprofile%\Documents\migrateCAkit vers le serveur Core.