인증서 서비스가 CRL(인증서 해지 목록)을 게시하지 못했습니다.
클라이언트에게 인증서를 신뢰할지 여부를 결정하는 데 필요한 정보를 제공하는 것은 CA(인증 기관) 및 PKI(공개 키 인프라)의 가장 중요한 보안 기능 중 하나입니다. 관리자의 경우 이는 예정된 만료 날짜에 도달하지 않은 신뢰할 수 없는 인증서를 즉시 해지하고 CRL(인증서 해지 목록)에 이 정보를 즉시 게시하는 것을 의미합니다. CRL 게시 및 가용성과 관련된 문제를 모니터링하고 해결하는 것은 PKI 보안의 중요한 기능입니다.
AD CS에서 인증서 해지 목록을 게시하도록 설정
이 이벤트 로그 메시지의 가능한 해결 방법은 다음과 같습니다.
이벤트 로그 메시지에서 LDAP(Lightweight Directory Access Protocol) 주소로 형식이 지정된 Active Directory 위치를 명시한 경우 CA(인증 기관)에 이 위치에 대한 쓰기 권한이 있는지 확인합니다. 이렇게 하려면 "Active Directory CRL 배포 지점 권한 확인" 섹션의 절차를 따르십시오.
이벤트 로그 메시지에서 참조된 모든 파일 위치에서 액세스 제어 목록을 살펴보고 CA 컴퓨터에 이러한 위치에 대한 쓰기 권한이 있는지 확인합니다. 이렇게 하려면 "CRL 배포 지점 권한 확인" 섹션의 절차를 따르십시오.
"네트워크 연결 확인" 섹션의 절차에 따라 CA와 도메인 컨트롤러 간의 네트워크 연결을 확인합니다.
네트워크 또는 권한 문제를 모두 해결한 다음 "새 CRL 게시" 섹션의 절차에 따라 새 CRL을 게시합니다.
계속해서 새 CRL을 게시할 수 없는 경우에는 "구성된 CRL 배포 지점의 유효성 확인" 섹션의 절차에 따라 CRL 배포 지점이 유효한지 확인하십시오.
이러한 절차를 수행하려면 CA 관리 권한이 있거나 적절한 권한을 위임받아야 합니다.
Active Directory CRL 배포 지점 권한 확인
Active Directory CRL 배포 지점 권한을 확인하려면:
Active Directory 관리 도구가 설치된 컴퓨터에서 시작을 클릭하고 관리 도구를 가리킨 후 Active Directory 사이트 및 서비스를 클릭합니다.
보기 메뉴에서 서비스 노드 표시를 클릭합니다.
Services를 두 번 클릭한 다음 Public Key Services를 두 번 클릭합니다.
AIA를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
보안 탭을 클릭하고 CA에 이 위치에 대한 쓰기 권한이 있는지 확인합니다.
파일 위치 CRL 배포 지점 권한 확인
파일 위치 CRL 배포 지점 권한을 확인하려면:
시작을 클릭하고 CRL을 게시하는 데 사용하는 파일 공유 주소를 입력한 다음 Enter 키를 누릅니다.
파일 공유를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
보안 탭을 클릭하고 CA에 이 위치에 대한 쓰기 권한이 있는지 확인합니다.
네트워크 연결을 확인합니다.
CA와 도메인 컨트롤러 간의 네트워크 연결에 문제가 있는지 확인하려면:
CA를 호스트하는 컴퓨터에서 명령 프롬프트 창을 엽니다.
ping <server_FQDN>을(를) 입력한 다음 Enter 키를 누릅니다. 여기서 server_FQDN은 도메인 컨트롤러의 FQDN(정규화된 도메인 이름)입니다. 도메인 컨트롤러에 연결할 수 있는 경우 다음과 유사한 응답을 받게 됩니다.
IP_address의 응답: 바이트=32 시간=3ms TTL=59
IP_address의 응답: 바이트=32 시간=20ms TTL=59
IP_address의 응답: 바이트=32 시간=3ms TTL=59
IP_address의 응답: 바이트=32 시간=6ms TTL=59 3
명령 프롬프트에서 ping <IP_address>을(를) 입력한 다음 Enter 키를 누릅니다. 여기서 <IP_address>은(는) 도메인 컨트롤러의 IP 주소입니다.
IP 주소로 도메인 컨트롤러에 성공적으로 연결할 수 있지만 FQDN으로는 연결할 수 없습니다. 이는 DNS(도메인 이름 시스템) 호스트 이름 확인에 문제가 있는 것입니다.
IP 주소로 도메인 컨트롤러에 성공적으로 연결할 수 없으면 네트워크 연결에 문제가 있을 수 있습니다. 고장 난 네트워크 카드 또는 연결이 끊긴 네트워크 케이블과 같은 모든 하드웨어 문제와 방화벽 구성 및 IPsec(인터넷 프로토콜 보안) 구성과 관련된 모든 이벤트 로그 오류를 확인하여 해결합니다.
새 CRL 게시
인증 기관 스냅인을 사용하여 새 CRL을 게시하려면:
시작을 클릭하고 관리 도구를 가리킨 다음 인증 기관을 클릭합니다.
해지된 인증서를 마우스 오른쪽 단추로 클릭하고 모든 작업을 가리킨 후 게시를 클릭하여 새 CRL을 게시합니다.
Certutil 명령줄 도구를 사용하여 새 CRL을 게시하려면:
명령 프롬프트 창을 엽니다.
구성된 모든 CRL 게시 위치에 CRL을 게시하려면 certutil -CRL을 입력한 다음 Enter 키를 누릅니다.
CRL을 Active Directory 위치에 직접 게시하려면 certutil -dspublish "<crlname.crl>" ldap:///CN=<CA name>,CN=<CA hostname>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?certificateRevocationList?base?objectClass=cRLDistributionPoint을(를) 입력하고 Enter 키를 누릅니다.
crlname.crl을 CRL 파일 이름으로, CA 이름 및 CA 호스트 이름을 CA 이름 및 CA를 실행하는 호스트 이름으로, contoso 및 com을 Active Directory 도메인의 네임스페이스로 바꿉니다.
구성된 CRL 배포 지점의 유효성 확인
구성된 CRL 배포 지점의 유효성을 확인하려면:
시작을 클릭하고 관리 도구를 가리킨 다음 인증 기관을 클릭합니다.
CA 이름을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
확장 탭을 클릭합니다. CRL을 이 위치에 게시 확인란에서 CRL 배포 지점 위치가 선택되어 있는지 확인하십시오.
CA에서 명령 프롬프트 창을 열고 명령 certutil -getreg ca\crlpublicationurls 명령을 실행하여 구성된 CRL 배포 지점 URL을 확인할 수도 있습니다.
CRL(인증서 해지 목록) 게시가 제대로 작동하는지 확인하려면 최근에 발급된 최종 엔터티(사용자 또는 컴퓨터) 인증서에 대해 다음 절차를 수행하십시오.
네트워크가 설치된 컴퓨터에서 명령 프롬프트 창을 엽니다.
certutil -url <cert.cer>을(를) 입력하고 Enter 키를 누릅니다.
<cert.cer>을(를) 인증서 내보내기 마법사로 인증서를 내보내서 만든 인증서의 이름으로 바꿉니다.
표시되는 대화 상자의 검색에서 CRL(CDP로부터)을 클릭한 다음 검색을 클릭합니다.
검색된 모든 CRL 배포 지점의 상태가 확인됨으로 표시되는지 확인합니다.
Target | Microsoft.Windows.CertificateServices.CARole.6.3 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 66 | ||
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.6.3.CertSvcEvents.66" Enabled="onEssentialMonitoring" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.6.3" 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">66</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="AlertMessageID6c8002bc89f54663ab6d88ca6fbd2570"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>