원본이 CertificationAuthority이고 ID가 22인 이벤트에 대한 수집 규칙

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

인증서 서비스가 요청을 처리하지 못했습니다.

Knowledge Base article:

요약

CA(인증 기관)의 주요 기능 중 하나는 클라이언트의 인증서 요청을 평가하는 것으로, 미리 정의된 조건을 충족할 경우에는 이러한 클라이언트에게 인증서를 발급합니다. 인증서 등록에 성공하려면 요청을 제출하기 전에 유효한 CA 인증서를 사용하는 CA, 올바르게 구성된 인증서 템플릿, 클라이언트 계정, 인증서 요청, 클라이언트가 CA에 요청을 제출하는 방법을 비롯한 여러 요소가 준비되어 있어야 하고 요청이 확인되면 발급된 인증서를 설치해야 합니다.

해결 방법

인증서 요청이 처리되지 않도록 하는 문제 해결

여러 가지 문제로 인해 인증서 요청이 처리되지 않을 수 있습니다. 이벤트 로그 메시지에 문제 해결에 필요한 정보가 없는 경우 이벤트 로그가 표시되기 전 또는 표시된 후 나타나는 추가 오류 및 경고를 보면 원인을 파악하는 데 도움이 될 수 있습니다. 

인증서 요청 처리를 차단할 수 있는 문제를 파악하여 해결하려면 다음을 수행해야 합니다.

다음 절차를 수행하려면 CA 관리 권한이 있거나 적절한 권한을 위임받아야 합니다.

CA에 대한 인증서 체인 확인

CA에 대한 인증서 체인을 확인하려면:

새 CRL 생성 및 게시

명령줄 출력에 CA에 대한 CRL이 만료되었다고 나타나면 이 CA에 대한 새 기준 및 델타 CRL을 생성하여 필요한 위치에 복사합니다. 이렇게 하려면 오프라인 CA를 다시 시작해야 할 수 있습니다.

CA에서 현재 게시된 CRL을 확인합니다. 기본적으로 CA는 %windir%\System32\CertSrv\CertEnroll 폴더에 CRL을 만듭니다. 현재 이 위치에 있는 CRL이 만료되었거나 유효하지 않은 경우 다음 절차에 따라 새 CRL을 게시할 수 있습니다.

인증 기관 스냅인을 사용하여 새 CRL을 게시하려면:

CRL은 명령 프롬프트에서도 생성 및 게시할 수 있습니다.

Certutil 명령줄 도구를 사용하여 CRL을 게시하려면:

CRL이 사용할 수 없다고 식별되었으나 CA의 로컬 디렉터리에 유효한 CRL이 있으면 CA가 CRL 배포 지점에 연결할 수 있는지 확인한 다음 이전 단계를 수행하여 CRL을 다시 생성한 다음 게시합니다.

다음 명령을 사용하면 CRL을 AD DS(Active Directory 도메인 서비스)에 수동으로 게시할 수 있습니다.

certutil -dspublish"<crlname.crl>" ldap:///CN=<CA 이름>,CN=<CA 호스트 이름>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?certificateRevocationList?base?objectClass=cRLDistributionPoint

crlname.crl을 CRL 파일 이름으로, <CA 이름> 및 <CA 호스트 이름>을 각각 CA 이름과 CA를 실행하는 호스트 이름으로, <contoso> 및 <com>을 Active Directory 도메인의 네임스페이스로 바꿉니다.

구성된 CRL 배포 지점 확인

게시에 성공했으며 네트워크에서 새 CRL을 사용할 수 있는지 구성된 CRL 배포 지점을 모두 확인합니다.

인증 기관 스냅인을 사용하여 구성된 CRL 배포 지점을 확인하려면:

Certutil을 사용하여 구성된 CRL 배포 지점 URL을 확인하려면:

CA에서 실패한 요청 큐 확인

인증 기관 스냅인을 사용하여 CA에서 실패한 요청 큐를 확인하려면:

Certutil을 사용하여 실패한 요청을 확인하려면:

추가 정보

인증서 요청 처리가 제대로 작동하는지 확인하려면:

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID22
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
AD CS 인증서 요청(등록) 처리 - 요청 실패(세부 정보 + 정보)
이벤트 설명: {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.22" 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">22</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="AlertMessageID515b77767c984710bc8f71a810107927"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>