Regra de Coleta para evento com CertificationAuthority e ID 3

Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.3 (Rule)

Serviços de Certificado falharam em processar uma solicitação.

Knowledge Base article:

Resumo

Uma das principais funções de uma Autoridade de Certificação (AC) é avaliar as solicitações de certificado de clientes e, se critérios predefinidos forem atendidos, emitir certificados a esses clientes. Para a inscrição da certificação ser bem-sucedida, vários elementos devem estar estabelecidos antes de a solicitação ser enviada, incluindo uma AC com um certificado de AC válido; modelos de certificado adequadamente configurados, contas de cliente e solicitações de certificado; e uma maneira para o cliente enviar a solicitação à AC, ter a solicitação validada e instalar o certificado emitido.

Resoluções

Corrija problemas que impeçam solicitações de certificado serem processadas

Vários problemas podem impedir que uma solicitação de certificado seja processada. Se a mensagem de log de evento não contiver todas as informações de que você precisa para corrigir o problema, erros e avisos adicionais antes ou após essa mensagem de log de evento podem ajudá-lo a identificar a causa. 

Para identificar e resolver problemas que podem bloquear o processamento da solicitação de certificado, você deve:

Para executar os seguintes procedimentos, você deve ter uma permissão de Gerenciar AC ou ter recebido a devida autoridade.

Confirmar a cadeia de certificados para a AC

Para validar a cadeia para a AC:

Gerar e publicar novas CRLs

Se a saída da linha de comando indicar que uma CRL para uma AC expirou, gere novas CRLs de base e delta nessa AC e copie-as para os locais requeridos. Pode ser necessário reiniciar a AC offline para fazer isso.

Na AC, verifique a CRL publicada atual. Por padrão, a AC cria CRLs na pasta %windir%\System32\CertSrv\CertEnroll. Se as CRLs que se encontram atualmente nesse local tiverem expirado ou forem inválidas, é possível usar o procedimento a seguir para publicar uma nova CRL.

Para publicar uma nova CRL usando o snap-in da Autoridade de Certificação:

Também é possível gerar e publicar CRLs de um prompt de comando.

Para publicar uma CRL usando a ferramenta de linha de comando Certutil:

Se a CRL for identificada como indisponível, mas houver uma CRL válida no diretório local na AC, confirme que a AC pode conectar-se ao ponto de distribuição de AC, então use as etapas anteriores para gerar e publicar CRLs novamente.

As CRLs podem ser publicadas manualmente nos Serviços de Domínio Active Directory (AD DS) usando o comando a seguir:

certutil -dspublish"<crlname.crl>" ldap:///CN=<nome_AC>,CN=<nome_host_AC>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?certificateRevocationList?base?objectClass=cRLDistributionPoint

Substitua ;crlname.crl ;pelo nome do seu arquivo de CRL, <nome_AC> e <nome_host_AC> ;pelo nome da autoridade de certificação e pelo nome do host em que a autoridade de certificação está em execução e <contoso> e <com> ;pelo namespace do domínio de seu Active Directory.

Confirmar os pontos de distribuição de CRL configurados

Verifique todos os pontos de distribuição CRL configurados para confirmar que a publicação foi bem-sucedida e que novas CRLs estão disponíveis na rede.

Para verificar os pontos de distribuição da CRL configurados usando o snap-in da Autoridade de Certificação:

Para verificar as URLs configuradas do ponto de distribuição da CRL usando Certutil:

Verificar a fila de solicitações que falharam na AC

Para verificar a fila de solicitações que falharam na AC usando o snap-in da Autoridade de Certificação:

Para verificar as solicitações que falharam usando Certutil:

Adicional

Para confirmar que o processamento de solicitação de certificado está funcionando adequadamente:

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID3
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Processamento de solicitação (registro) do certificado AD CS – Falha na solicitação (geral)
Descrição do Evento: {0}
Event LogApplication

Member Modules:

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

Source Code:

<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.3" 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">3</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="AlertMessageID14bef193d56c4121a3a347a79ddf3336"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>