Aperçu
Nous avons rencontré ce problème sur certains serveurs virtuels migrés d'un fournisseur «cloud» vers notre centre de données interne. La cause principale était les autorisations sur le %SystemRoot%\System32\catroot2
dossier. Il y avait un certain nombre de différences entre les autorisations sur ce dossier sur un serveur sain et celles sur le serveur migré. Je crois que la clé était que cela TrustedInstaller
n'avait pas full access
.
Symptômes supplémentaires
En regardant le journal des applications dans l'Observateur d'événements, nous avons vu un certain nombre d'erreurs:
Source: CAPI2
EventId: 257
Text: The Cryptographic Services service failed to initialize the Catalog Database. The ESENT error was: -1032.
Source: ESENT
EventId: 490
Text: Catalog Database (416) Catalog Database: An attempt to open the file "C:\Windows\system32\CatRoot2\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}\catdb" for read / write access failed with system error 5 (0x00000005): "Access is denied. ". The open file operation will fail with error -1032 (0xfffffbf8).
L'indice se trouve dans le texte de l'erreur ESENT; c'est-à-dire que les autorisations d'accès à un fichier sous le dossier catroot2.
Résolution
Donnez au compte Trusted Installer le contrôle total sur le dossier catroot2 et ses enfants.
Au cas où cela ne suffirait pas, à titre de comparaison, l'exécution icacls %systemroot%\system32\catroot2
sur un serveur sain donne ceci:
C:\Windows\system32\catroot2 NT SERVICE\CryptSvc:(F)
NT SERVICE\CryptSvc:(OI)(CI)(IO)(F)
NT SERVICE\TrustedInstaller:(I)(F)
NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
BUILTIN\Administrators:(I)(F)
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
BUILTIN\Users:(I)(RX)
BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
CREATOR OWNER:(I)(OI)(CI)(IO)(F)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)
NB: Pour ajouter Trusted Installer, vous devrez rechercher dans les comptes d'ordinateurs locaux nt service\trustedinstaller
.
Après avoir remplacé les autorisations catroot2
, assurez-vous de replace permissions on child objects & containers
cocher la case pour vous assurer que les éléments enfants ont également leurs autorisations résolues.
Aucun redémarrage n'est requis pour le correctif lui-même (bien évidemment, une fois que les mises à jour recommenceront à fonctionner, vous devrez probablement redémarrer pour celles-ci).