Les services de certificats ont refusé de traiter une demande de certificat extrêmement longue.
Les autorisations de contrôle d'accès de l'autorité de certification garantissent que les composants et utilisateurs autorisés puissent effectuer les tâches requises. Les erreurs de contrôle d'accès peuvent identifier des problèmes potentiels liés à une utilisation insuffisante ou inappropriée des autorisations.
Traiter une tentative d'envoi de demande de certificat longue
Les demandes de certificats extrêmement longues peuvent constituer une tentative de lancement d'attaque par déni de service.
La source doit être identifiée dans le message du journal des événements. Vous devez également consulter les informations relatives à toutes les demandes de certificats ayant échoué, afin de détecter s'il y a eu d'autres demandes de certificats inhabituelles.
Pour traiter ce problème potentiel :
Consultez les demandes de certificats ayant échoué pour déterminer si la demande ayant échoué provient ou non d'une source connue et fiable.
Si la demande a été rejetée par erreur, modifiez le paramètre MaxIncomingMessageSize dans le Registre pour autoriser des demandes de certificats plus volumineuses.
Si la demande n'a pas été rejetée par erreur, identifiez la source de la demande et empêchez les demandes de cette source d'être envoyées.
Pour effectuer ces procédures, vous devez être membre du groupe Administrateurs local, ou l'autorité appropriée doit vous avoir été déléguée.
Consulter les demandes de certificats ayant échoué
Pour consulter les demandes de certificats ayant échoué
Sur l'ordinateur hébergeant l'autorité de certification, cliquez sur Démarrer, pointez sur Outils d'administration et cliquez sur Autorité de certification.
Examinez les demandes ayant échoué contenues dans le dossier Demandes ayant échoué et déterminez si elles provenaient d'une source fiable.
Vous pouvez également ouvrir une fenêtre d'invite de commandes et exécuter la commande suivante : certutil -view LogFail.
Si la requête provenait d'une source légitime mais a été rejetée parce qu'elle était trop volumineuse, vous pouvez augmenter la taille maximale du message grâce à la procédure suivante, ou faire en sorte que le demandeur de certificat envoie une nouvelle demande de certificat.
Modifier la taille maximale du message
Le paramètre par défaut de la taille maximale du message est de 10 000 octets. Si, pendant que vous consultez des demandes de certificats ayant échoué lors de la procédure susmentionnée, vous détectez des demandes de certificats légitimes ayant été rejetées parce qu'elles dépassaient cette valeur, envisagez d'augmenter ce paramètre de Registre à une valeur permettant le succès de requêtes similaires.
Pour modifier la taille maximale du message :
Attention : Toute modification incorrecte du Registre peut endommager gravement votre système. Avant d'apporter des modifications au Registre, sauvegardez toutes vos données importantes.
Sur l'ordinateur hébergeant l'autorité de certification, cliquez sur Démarrer, entrez cmd, puis appuyez sur ENTRÉE.
Tapez certutil -setreg CA\MaxIncomingMessageSize <octets> puis appuyez sur ENTRÉE.
Pour confirmer que le contexte de connexion de l'autorité de certification est correct :
Sur l'ordinateur hébergeant l'autorité de certification, cliquez sur Démarrer, pointez sur Outils d'administration et cliquez sur Services.
Confirmez que le mot Démarré s'affiche dans l'État du service Services de certificats Active Directory.
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 60 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.60" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">60</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageIDf35538bb2517423d95f7d32e661b5ffa"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>