인증서 서비스에서 CA 인증서를 Active Directory에 추가할 수 없습니다.
AD CS(Active Directory 인증서 서비스)에는 AD DS(Active Directory 도메인 서비스)의 특정 개체에 대해 적어도 읽기 권한이 필요하며 경우에 따라서는 쓰기 권한이 필요합니다. 이러한 Active Directory 개체에 액세스하지 못하면 AD CS가 시작되지 않을 수 있습니다.
AD CS를 사용하여 CA 인증서를 Active Directory 도메인 서비스에 추가
AD CS(Active Directory 인증서 서비스)를 사용하여 로그 메시지에서 식별되는 CA(인증 기관) 인증서를 AD DS(Active Directory 도메인 서비스)에 추가하려면:
CA에 필수 AD DS 컨테이너 및 개체에 대한 권한이 있는지 확인합니다.
CA 인증서가 AIA 컨테이너에 있는지 확인합니다.
CA 인증서가 없는 경우 CA 인증서를 AIA 컨테이너에 수동으로 게시합니다.
이 절차를 수행하려면 Domain Admins 그룹의 구성원이거나 적절한 권한을 위임받아야 합니다.
필수 AD DS 컨테이너 및 개체에 대한 권한 확인
CA에 AD DS 컨테이너와 해당 컨테이너 내의 개체에 대한 필수 권한이 있는지 확인하려면:
도메인 컨트롤러에서 시작을 클릭한 다음 관리 도구를 가리키고 Active Directory 사이트 및 서비스를 클릭합니다.
Active Directory 사이트 및 서비스 [도메인 이름]을 클릭합니다. 여기서 [도메인 이름]은 사용자 도메인 이름입니다.
보기 메뉴에서 서비스 노드 표시를 클릭합니다.
Services 및 Public Key Services를 차례로 두 번 클릭한 다음 아래에 나열된 각 컨테이너 또는 컨테이너 내에 나열된 개체를 마우스 오른쪽 단추로 클릭한 후 속성을 클릭합니다.
보안 탭에서 필요한 권한을 확인합니다.
다음은 CA를 호스트하는 컴퓨터에 필요한 모든 Active Directory 권한입니다. 이러한 권한 중 일부는 Cert Publishers 그룹의 구성원이어야 얻을 수 있습니다.
등록 서비스 컨테이너 CA 컴퓨터에는 고유 개체에 대한 읽기 및 쓰기 권한이 있습니다.
AIA 컨테이너 Cert Publishers 그룹에는 AIA 컨테이너에 대한 모든 권한이 있고 CA 컴퓨터에는 AIA 컨테이너 내의 고유 개체에 대한 모든 권한이 있습니다.
CDP 컨테이너 Cert Publishers 그룹에는 CDP 컨테이너 아래에 있는 CA 컨테이너에 대한 모든 권한이 있고 CA 컴퓨터에는 고유 컨테이너의 모든 CRL(인증 해지 목록) 개체에 대한 모든 권한이 있습니다.
인증 기관 컨테이너 Cert Publishers 그룹에는 이 컨테이너 내의 개체에 대한 모든 권한이 있습니다.
인증서 템플릿 컨테이너 Enterprise Admins 및 Domain Admins 그룹(CA 컴퓨터 아님)에는 이 컨테이너 및 컨테이너 내의 대부분의 개체에 대한 모든 권한 또는 읽기 및 쓰기 권한이 있습니다.
KRA 컨테이너 CA 컴퓨터에는 고유 개체에 대한 모든 권한이 있습니다.
OID 컨테이너 Enterprise Admins 및 Domain Admins 그룹(CA 컴퓨터 아님)에는 이 컨테이너 및 이 컨테이너 내의 대부분의 개체에 대한 모든 권한 또는 읽기 및 쓰기 권한이 있습니다.
NTAuthCertificates 개체 Enterprise Admins 및 Domain Admins 그룹(CA 컴퓨터 아님)에는 모든 권한 또는 읽기 및 쓰기 권한이 있습니다.
도메인 컴퓨터 및 도메인 사용자 컨테이너 Cert Publishers 그룹에는 AD CS가 배포된 포리스트에 있는 각 사용자의 userCertificate 속성 및 컴퓨터 개체에 대한 읽기 및 쓰기 권한이 있습니다.
이러한 절차를 수행하려면 CA 관리 권한이 있거나 적절한 권한을 위임받아야 합니다.
CA 인증서가 AIA 컨테이너에 있는지 확인합니다.
AD DS에서 AIA 컨테이너의 내용을 보려면:
도메인 컨트롤러에서 시작을 클릭하고 cmd를 입력한 다음 Enter 키를 누릅니다.
certutil -cainfo를 입력하고 Enter 키를 누릅니다.
명령 출력에서 삭제된 짧은 이름 뒤에 나열된 속성을 기록합니다.
그런 후 다음 명령을 입력하고 Enter 키를 누릅니다.
certutil -viewstore ldap:/// CN=<MyCA>,CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?cACertificate?base?objectclass=certificationAuthority
이전 명령에서 MyCA를 삭제된 짧은 이름 속성으로 바꾸고 contoso 및 com을 Active Directory 루트 도메인의 LDAP(Lightweight Directory Access Protocol) 고유 이름으로 바꿉니다.
CA 인증서가 AIA 컨테이너에 표시되지 않았으나 필수 권한이 있는 경우 다음 절차에 따라 CA 인증서를 게시합니다.
수동으로 CA 인증서 게시
CA 인증서를 AD DS에 수동으로 게시하려면:
CA에서 시작을 클릭하고 cmd를 입력한 다음 Enter 키를 누릅니다.
루트 CA 인증서에 대해 certutil [-f] -dspublish <CAcert.cer> RootCA 명령을 입력한 다음 Enter 키를 누릅니다.
하위 CA 인증서에 대해 certutil [-f] -dspublish <CAcert.cer> SubCA 명령을 입력한 다음 Enter 키를 누릅니다.
<CAcert.cer>을(를) 인증서 파일 이름으로 바꿉니다. "-f" 플래그를 지정하면 개체가 삭제된 경우에도 개체를 다시 만듭니다.
CA 및 AD DS(Active Directory 도메인 서비스) 간의 연결을 확인하려면:
CA를 호스트하는 컴퓨터에서 명령 프롬프트 창을 엽니다.
nltest /sc_verify: [도메인 이름]을 입력하고 Enter 키를 누릅니다.
다음 절차에 따라 필수 AD DS 컨테이너 및 개체에 대한 권한을 확인합니다.
[도메인 이름]을 CA가 설치된 네임스페이스의 이름으로 바꿉니다.
필수 AD DS 컨테이너 및 개체에 대한 권한 확인
이 절차를 수행하려면 Domain Admins 그룹의 구성원이거나 적절한 권한을 위임받아야 합니다.
CA에 AD DS 컨테이너 및 해당 컨테이너 내의 개체에 대한 필수 권한이 있는지 확인하려면:
도메인 컨트롤러에서 시작을 클릭한 다음 관리 도구를 가리키고 Active Directory 사이트 및 서비스를 클릭합니다.
Active Directory 사이트 및 서비스 [도메인 이름]을 클릭합니다. 여기서 [도메인 이름]은 사용자 도메인 이름입니다.
보기 메뉴에서 서비스 노드 표시를 클릭합니다.
Services 및 Public Key Services를 차례로 두 번 클릭한 다음 아래에 나열된 각 컨테이너 또는 컨테이너 내에 나열된 개체를 마우스 오른쪽 단추로 클릭한 후 속성을 클릭합니다.
보안 탭에서 필요한 권한을 확인합니다.
다음은 CA를 호스트하는 컴퓨터에 필요한 모든 Active Directory 권한입니다. 이러한 권한 중 일부는 Cert Publishers 그룹의 구성원이어야 얻을 수 있습니다.
등록 서비스 컨테이너 CA 컴퓨터에는 고유 개체에 대한 읽기 및 쓰기 권한이 있습니다.
AIA 컨테이너 Cert Publishers 그룹에는 AIA 컨테이너에 대한 모든 권한이 있고 CA 컴퓨터에는 AIA 컨테이너 내의 고유 개체에 대한 모든 권한이 있습니다.
CDP 컨테이너 Cert Publishers 그룹에는 CDP 컨테이너 아래에 있는 CA 컨테이너에 대한 모든 권한이 있고 CA 컴퓨터에는 고유 컨테이너의 모든 CRL(인증 해지 목록) 개체에 대한 모든 권한이 있습니다.
인증 기관 컨테이너 Cert Publishers 그룹에는 이 컨테이너 내의 개체에 대한 모든 권한이 있습니다.
인증서 템플릿 컨테이너 Enterprise Admins 및 Domain Admins 그룹(CA 컴퓨터 아님)에는 이 컨테이너 및 컨테이너 내의 대부분의 개체에 대한 모든 권한 또는 읽기 및 쓰기 권한이 있습니다.
KRA 컨테이너 CA 컴퓨터에는 고유 개체에 대한 모든 권한이 있습니다.
OID 컨테이너 Enterprise Admins 및 Domain Admins 그룹(CA 컴퓨터 아님)에는 이 컨테이너 및 이 컨테이너 내의 대부분의 개체에 대한 모든 권한 또는 읽기 및 쓰기 권한이 있습니다.
NTAuthCertificates 개체 Enterprise Admins 및 Domain Admins 그룹(CA 컴퓨터 아님)에는 모든 권한 또는 읽기 및 쓰기 권한이 있습니다.
도메인 컴퓨터 및 도메인 사용자 컨테이너 Cert Publishers 그룹에는 AD CS가 배포된 포리스트에 있는 각 사용자의 userCertificate 속성 및 컴퓨터 개체에 대한 읽기 및 쓰기 권한이 있습니다.
Target | Microsoft.Windows.CertificateServices.CARole.6.3 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 106 | ||
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.106" 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">106</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="AlertMessageID4f12f8d124ed4ece99544c9a9730fa37"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>