Serviços de Certificados recusaram-se a processar uma solicitação de certificado extremamente longa.
As permissões de controle de acesso da autoridade de certificação (AC) garantem que componentes e usuários autorizados possam concluir as tarefas necessárias. Erros de controle de acesso podem identificar problemas em potencial associados ao uso insuficiente ou inadequado de permissões.
Trate uma tentativa de enviar uma solicitação de certificado longa
Solicitações de certificado extremamente longas podem representar uma tentativa de iniciar um ataque de negação de serviço.
A fonte deve ser identificada na mensagem de log do evento. Você também deve revisar as informações sobre todas as solicitações de certificado com falha para detectar se houve outras solicitações de certificado incomuns.
Para tratar desse problema em potencial:
Revise as solicitações de certificado com falha para determinar se a solicitação com falha é ou não de uma fonte confiável ou conhecida.
Se a solicitação tiver sido rejeitada por engano, modifique a configuração de MaxIncomingMessageSize no registro para permitir solicitações de certificado maiores.
Se a solicitação não tiver sido rejeitada por engano, identifique a fonte da solicitação e impeça que solicitações sejam enviadas dessa fonte.
Para executar esses procedimentos, você deve estar associado a Administradores locais ou ter a devida autoridade.
Examine solicitações de certificado com falha
Para examinar solicitações de certificado com falha:
No computador que hospeda a AC, clique em Iniciar, aponte para Ferramentas Administrativas e clique em Autoridade de Certificação.
Examine as solicitações com falha contidas na pasta Solicitações com Falha e determine se elas vieram de uma fonte confiável.
Também é possível abrir uma janela de prompt de comando e executar o seguinte comando: certutil -view LogFail.
Se a solicitação for de uma fonte legítima, mas rejeitada por ser grande demais, você pode aumentar o tamanho máximo da mensagem usando o procedimento a seguir, ou pedir ao solicitante do certificado o envio de uma nova solicitação de certificado.
Modificar o tamanho máximo da mensagem
A configuração de tamanho máximo de mensagem é de 10.000 bytes. Se, durante sua análise de solicitações de certificado com falha no procedimento anterior, você detectar solicitações de certificado legítimas rejeitadas por excederem esse valor, considere aumentar a configuração de registro para um valor que permita que solicitações similares tenham sucesso.
Para modificar o tamanho máximo da mensagem:
Cuidado: a edição incorreta do Registro pode danificar gravemente o sistema. Antes de fazer alterações no Registro, faça backup de todos os dados importantes.
No computador hospedando a AC, clique em Iniciar, digite cmd e pressione ENTER.
Digite certutil -setreg CA\MaxIncomingMessageSize <bytes> e pressione ENTER.
Para confirmar que o contexto de logon da AC está correto:
No computador que hospeda a AC, clique em Iniciar, aponte para Ferramentas Administrativas, e clique em Serviços.
Confirme que a palavra Iniciado que aparece no Status pertence ao serviço Serviços de Certificados do 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>