67
Certificate Enrollment Using CEP/CES Windows Server 2012 Windows Server 2008 以前 운영 체제는 사용자 및 컴퓨터 인증서 발급에 필요한 인증으로써 Kerberos 를 사용합니다. 또한, 이러한 인증서 발급 요청은 트랜스포트 층을 통하여 전송됩니다. 이때, 인증 및 인증서 발급 요청은 DCOM 구성 요소를 사용합니다. DCOM 를 사용한 인증서 발급 방법은 인증서 서비스를 활용하기 위한 여러 가지 시나리오를 적용할 수 없습니다. 예를 들어, “포리스트 사이의 인증서 자동 등록” 또는 “회사 내부 네트워크에 직접적으로 연결할 수 없는 컴퓨터들의 인증서 발급”은 기존 DCOM 을 사용하는 프로토콜에서 불가능합니다. 회사 내부의 중요 서버인 CA 서버는 방화벽 내부에 위치하는 것이 통상적인 배치입니다. 그리고, 이러한 방화벽은 RPC 및 DCOM 을 위한 포트는 보안상의 이유로 블로킹합니다. 이러한 방화벽 제어 때문에, 인증서 서비스를 다양한 시나리오에서 사용하기에 제약을 받을 수 있습니다. 이동철 2012-05-28

Certificate Enrollment Using CEP/CES · 2017-01-30 · Windows Server 2012 ADCS의 “CES (Certificate Enrollment Web Service)” 및 “CES (Certificate Enrollment Policy Web Service)”

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Certificate Enrollment

Using CEP/CES Windows Server 2012

Windows Server 2008 以前 운영 체제는 사용자 및

컴퓨터 인증서 발급에 필요한 인증으로써

Kerberos 를 사용합니다. 또한, 이러한 인증서 발급

요청은 트랜스포트 층을 통하여 전송됩니다. 이때,

인증 및 인증서 발급 요청은 DCOM 구성 요소를

사용합니다. DCOM 를 사용한 인증서 발급 방법은

인증서 서비스를 활용하기 위한 여러 가지

시나리오를 적용할 수 없습니다. 예를 들어,

“포리스트 사이의 인증서 자동 등록” 또는 “회사

내부 네트워크에 직접적으로 연결할 수 없는

컴퓨터들의 인증서 발급”은 기존 DCOM 을 사용하는

프로토콜에서 불가능합니다. 회사 내부의 중요

서버인 CA 서버는 방화벽 내부에 위치하는 것이

통상적인 배치입니다. 그리고, 이러한 방화벽은 RPC

및 DCOM 을 위한 포트는 보안상의 이유로

블로킹합니다. 이러한 방화벽 제어 때문에, 인증서

서비스를 다양한 시나리오에서 사용하기에 제약을

받을 수 있습니다.

이동철

2012-05-28

페이지 1 / 66

목차

데모 환경 ........................................................................................................................................................................................ 3

CEP/CES 개요 ................................................................................................................................................................................ 5

Exercise 1 : Certificate Enrollment Web Service 설치 및 구성 (on CES1.CORP.CONTOSO.com) ........ 8

CES 역할 서비스 설치 (on CES1.CORP.CONTOSO.com) ............................................................................... 8

SSL 인증서 등록 (on CES1.CORP.CONTOSO.com) ........................................................................................ 19

SSL 인증서를 웹 사이트에 바인딩 (on CES1.CORP.CONTOSO.com) ................................................... 23

Active Directory 에서 CES1 위임 구성 (on DC1 : Domain Controller) ............................................. 25

Exercise 2 : Certificate Enrollment Policy Web Service (CEP) 설치 및 구성 (on

CES1.CORP.CONTOSO.com) ................................................................................................................................................. 29

CEP 역할 서비스 설치 (on CEP1.CORP.CONTOSO.com) ........................................................................... 29

SSL 인증서 등록 (on CEP1.CORP.CONTOSO.com) ....................................................................................... 35

SSL 인증서를 웹 사이트에 바인딩 (on CEP1.CORP.CONTOSO.com) .................................................. 37

Certificate Enrollment Policy 을 위한 Friendly Name 구성 (on CEP1.CORP.CONTOSO.com) . 38

Exercise 3 : GPO를 사용하여 CEP URI 클라이언트 구성을 배포 및 관리 (on DC1 : Domain

Controller) ................................................................................................................................................................................... 42

Exercise 4 : CEP/CES 를 사용하여 HTTPS 기반 인증서 등록 수행 ................................................................ 51

HTTPS (CEP/CES)를 사용한 인증서 등록 검증 (on CLIENT1.CORP.CONTOSO.com) ................... 51

Exercise 5 : CEP/CES 기반 인증서 등록 Troubleshooting ................................................................................... 58

Certificate Enrollment Policy Web service (CEP) 상의 정책 캐시 Clearing (on

CEP1.CORP.CONTOSO.com 및 on CLIENT1.CORP.CONTOSO.com) .................................................... 58

CEP 서버로부터 정책을 얻기 위해 필요한 권한 ............................................................................................ 59

Certutil.exe를 사용한 구성 설정 검증 .................................................................................................................. 61

페이지 2 / 66

CertSrv 로깅 구성 .......................................................................................................................................................... 63

Appendix : Non-Domain 클라이언트의 CES/CEP 활용 방안.............................................................................. 65

참조 자료 ..................................................................................................................................................................................... 66

페이지 3 / 66

데모 환경

Windows Server 2012 ADCS의 “CES (Certificate Enrollment Web Service)” 및 “CES (Certificate

Enrollment Policy Web Service)” 구현을 위한 기본적인 데모 환경은 아래와 같습니다.

CEP 및 CES 를 사용할 수 있는 클라이언트는 Windows 7 및 Windows 2008 R2 이후의 운영체제

입니다. 본 데모 환경의 클라이언트는 Windows 8를 사용합니다.

Virtual Machine Role

DC1.CORP.CONTOSO.com Domain Controller (Windows Server 2012)

Enterprise Root CA

10.0.0.1

OCSP1.CORP.CONTOSO.com Member Server (Windows Server 2012)

Microsoft Online Responder Service

10.0.0.31

CEP1.CORP.CONTOSO.com Member Server (Windows Server 2012)

Microsoft Certificate Enrollment Web Service

페이지 4 / 66

10.0.0.34

(For CEP Installation/Configuration)

CES1.CORP.CONTOSO.com Member Server (Windows Server 2012)

Microsoft Certificate Enrollment Policy Web Service

10.0.0.33

(For CES Installation/Configuration)

CLIENT1.CORP.CONTOSO.com Member Client (Windows 8 Consumer Preview)

(Client to perform HTTPS based certificate enrollment)

페이지 5 / 66

CEP/CES 개요

Windows Server 2008 以前 운영 체제는 사용자 및 컴퓨터 인증서 발급에 필요한 인증으로써

Kerberos를 사용합니다. 또한, 이러한 인증서 발급 요청은 트랜스포트 층을 통하여 전송됩니다.

이때, 인증 및 인증서 발급 요청은 DCOM 구성 요소를 사용합니다. DCOM를 사용한 인증서 발급

방법은 인증서 서비스를 활용하기 위한 여러 가지 시나리오를 적용할 수 없습니다. 예를 들어,

“포리스트 사이의 인증서 자동 등록” 또는 “회사 내부 네트워크에 직접적으로 연결할 수 없는

컴퓨터들의 인증서 발급”은 기존 DCOM을 사용하는 프로토콜에서 불가능합니다. 회사 내부의

중요 서버인 CA 서버는 방화벽 내부에 위치하는 것이 통상적인 배치입니다. 그리고, 이러한

방화벽은 RPC 및 DCOM을 위한 포트는 보안상의 이유로 블로킹합니다. 이러한 방화벽 제어

때문에, 인증서 서비스를 다양한 시나리오에서 사용하기에 제약을 받을 수 있습니다. 아래 그림이

기존의 인증서 발급을 위한 기본적인 방법입니다.

이러한 제약 사항을 제거 및 인증서 서비스의 다양한 시나리오 적용을 위하여, Microsoft는

Windows Server 2008 R2 에서 WS-Trust 기반의 신규 인증서 등록 프로토콜을 지원합니다.

이러한 신규 인증서 등록 프로토콜을 지원하기 위하여, Windows Server 2008 R2에서 새로운

2가지 역할 서비스를 제공합니다. 신규 역할 서비스는 인증서 발급 요청 메시지를 TLS로

페이지 6 / 66

암호화하여 HTTPS로 전송할 수 있고, 인증서 발급을 위해 필요한 “인증 (Authentication)”을 위해

Kerberos에만 의존하지 않습니다. 포리스트 사이 및 웹을 통한 이러한 자동 인증서 발급은

Windows 7 및 Windows Server R2 이후 클라이언트에서 사용 가능합니다. 아래 그림은

CEP/CES 서비스를 사용하여 HTTPS를 통한 인증서 발급 구조입니다.

이러한 신규 역할 서비스는 아래와 같습니다:

Certificate Enrollment Policy Web Service (the policy service - CEP)

Certificate Enrollment Web Service (the enrollment service - CES)

위 신규 역할 서비스는 인증서 정책을 확인하고, HTTPS를 통한 인증서 발급을 지원합니다. 본

문서에서는 Windows Server 2012 기반으로 위 2가지 역할 서비스를 설치 및 구성합니다.

본 문서를 통해, CEP/CES를 사용하여, HTTPS를 통한 인증서 발급을 위해 필요한 요구 사항을

확인합니다. 또한, CEP/CES를 구축하기 위한 실제적인 step-by-step 절차를 확인하고, 구성 사항의

권장 사항도 확인합니다. 본 데모 환경을 사용하여, 아래와 같이 HTTPS 기반의 인증서 발급

시나리오를 활용할 수 있음을 확인합니다.

페이지 7 / 66

① Consolidate PKI in multi-forest environment : 여러 개의 포리스트를 소유한 조직이 각

포리스트당 별도의 PKI 인프라를 구성하지 않고, 하나의 포리스트에 PKI 인프라를

구성하고, 다른 포리스트들이 사용할 수 있도록 구성

② Extranet deployment : 회사 네트워크 외부의 사용자 및 컴퓨터들이 인증서를 발급받을

수 있도록 구성

③ Extranet - Renewal-only mode deployment : 인터넷을 통한 오로지 “Renewal 만 가능

(no enrollment)”한 인증서를 구성

참고로, 아래 그림은 위 CEP/CES 서비스를 DMZ 영역에 위치시켰을 때, 필요한 방화벽 구성 사항

에 대한 구조입니다.

페이지 8 / 66

Exercise 1 : Certificate Enrollment Web Service 설치 및 구성 (on

CES1.CORP.CONTOSO.com)

본 단계에서, Certificate Enrollment Web Service (CES) 역할 설치 및 구성을 합니다.

Virtual Machine Role

DC1.CORP.CONTOSO.com Domain Controller (Windows Server 2012)

Enterprise Root CA

10.0.0.1

CES1.CORP.CONTOSO.com Member Server (Windows Server 2012)

Microsoft Certificate Enrollment Policy Web Service

10.0.0.33

(For CES Installation/Configuration)

CES 역할 서비스 설치 (on CES1.CORP.CONTOSO.com)

1. CES1 서버에서 CORP\Administrator 계정으로 로그인합니다.

2. Server Manager를 수행하고, “Add roles and features” 를 클릭합니다.

페이지 9 / 66

3. Before you Begin 페이지에서, Next 를 클릭합니다.

4. Select installation type 페이지에서, “Role-based or feature-based installation” 을 선택

한 후, Next를 클릭합니다.

5. Select destination server 페이지에서, “Select a server from the server pool”을 선택한

후, “Server Pool” 부분에서, “CES1.CORP.CONTOSO.com” 서버를 선택한 후, Next를 클릭

합니다.

페이지 10 / 66

6. Select server roles 페이지에서, “Active Directory Certificate Services” 를 선택한 후, 부

가적인 기능을 추가한 후 Next를 클릭합니다.

페이지 11 / 66

7. Select features 페이지에서, 별도의 추가 기능을 선택하지 않고, Next를 클릭합니다.

8. Active Directory Certificate Services 페이지에서, Next를 클릭합니다.

9. Select role services 페이지에서, “Certificate Authority”를 선택하지 않고, “Certificate

Enrollment Web Service”를 선택한 후, 부가적인 기능을 추가한 후, Next를 클릭합니다.

“Certificate Authority”는 이미 DC1.CORP.CONTOSO.com 서버에 구성되어 있음을 확인합

니다. 또한, “Certificate Enrollment Web Service” 역할 서비스는 웹 서비스가 반드시 필

요하므로, Web Server Role (IIS) 가 부가적으로 설치됨을 유의해야 합니다.

페이지 12 / 66

10. Web Server Role (IIS) 페이지에서, Next를 클릭합니다.

페이지 13 / 66

11. Select role services 페이지에서, 기본 설정을 그대로 사용하므로, Next를 클릭합니다.

12. Confirm installation selections 페이지에서, 설치 구성 요소를 확인한 후, Install 를 클릭

하여, 설치를 진행합니다.

페이지 14 / 66

13. Installation progress 페이지에서, 설치가 완료되었음을 확인 한 후, 아래에서 “Configure

페이지 15 / 66

Active Directory Certificate Services on the destination server” 링크를 클릭하여, 후속

작업을 완료합니다.

14. Credentials 페이지에서, CORP\administrator 계정이 자동으로 설정되어 있음을 확인 한

후, Next를 클릭합니다.

페이지 16 / 66

15. Role Services 페이지에서, “Certificate Enrollment Web Service” 를 선택한 후, Next를

클릭합니다.

16. CA for CES 페이지에서, 기존 설치된 CORP.CONTOSO.com 도메인 내의 Enterprise ROOT

CA를 선택합니다. Enterprise ROOA CA 이름은 “CORP-DC1-CA” 임을 확인합니다.

페이지 17 / 66

17. Authentication Type for CES 페이지에서, “Windows integrated authentication” 을 선택

한 후, Next를 클릭합니다. 본 데모 환경은 도메인 클라이언트를 위해 위 옵션을 선택합

니다.

18. Service Account for CES 페이지에서, “Use the built-in application pool identity” 를 선

택한 후, Next를 클릭합니다.

페이지 18 / 66

19. Server Certificate 페이지에서, “Choose and assign a certificate for SSL later”를 선택한

후, Next를 클릭합니다. CES 역할 서비스는 HTTPS를 기반으로 하기 때문에, “서버 인증서”

가 필요합니다. “서버 인증서”는 다음 단계에서 설치 및 구성합니다.

20. Confirmation 페이지에서, 구성 사항을 최종적으로 확인 한 후, Configure 를 클릭합니다.

페이지 19 / 66

21. Results 페이지에서, 구성이 성공임을 확인 한 후, Close 를 클릭하여, 구성을 완료합니다.

아래와 같이 CES1 서버에 CES 관련 웹 어플리케이션이 구성되어 있음을 확인할 수 있습니다.

SSL 인증서 등록 (on CES1.CORP.CONTOSO.com)

1. CES1.CORP.CONTOSO.com 서버에 로그인 한 후, Tools -> Internet Information Service

(IIS) Manager 를 선택합니다.

페이지 20 / 66

2. CES1를 선택한 후, 중간 창의 Server Certificates를 더블 클릭합니다.

3. 오른편 내의 Actions 창에서 Create Domain Certificate를 클릭합니다. Distinguished

Name Properties 페이지에서 다음 정보를 입력한 후, Next를 클릭합니다.

Common Name – CES1.CORP.CONTOSO.com

Organization - Contoso

Organizational Unit - IT

City/Locality - Redmond

State/Province - WA

페이지 21 / 66

Country/Region – US

4. Online Certificate Authority 페이지에서, Specify Online Certification Authority 부분에

서 Select 를 클릭합니다.

페이지 22 / 66

5. CORP-DC1-CA 를 선택한 후, OK를 클릭합니다.

6. Friendly Name, 부분에서, CORPCES1 를 입력한 후, Finish를 클릭합니다.

아래와 같은 오류가 발생한다면,

페이지 23 / 66

http://social.technet.microsoft.com/Forums/en-US/winserversecurity/thread/348a9b8d-8583-488c-

9a96-42b892c4ae77

MMC Certificate Snap-In 오류 : The revocation function was unable to check revocation because

the revocation server was offline.

CES1.CORP.CONTOSO.com 서버 인증서를 요청했을 때, 위 오류가 발생했을 때, 서버 인증서를 발

급하는 DC1.CORP.CONTOSO.com (CA Name : CORP-DC1-CA) 서버에서 아래 명령어를 수행합니다.

certutil -setreg ca\CRLFlags +CRLF_REVCHECK_IGNORE_OFFLINE

DC1.CORP.CONTOSO.com (CA Name : CORP-DC1-CA) 의 CA 서비스를 재시작합니다.

SSL 인증서를 웹 사이트에 바인딩 (on CES1.CORP.CONTOSO.com)

1. CES1.CORP.CONTOSO.com 서버에 로그인 한 후, Tools -> Internet Information Service

(IIS) Manager 를 선택합니다.

2. CES1 -> Sites 순서로 확장한 후, Default Web Site를 선택합니다. 오른편의 Actions 창

내의 Bindings 를 클릭합니다.

페이지 24 / 66

3. https 가 추가되어 있지 않다면, Site Bindings 페이지에서 Add 를 클릭합니다.

4. 아래와 같이 Site Bindings 페이지에서, https 를 선택한 후, Edit 를 클릭합니다.

5. Edit Site Binding 페이지에서, SSL certificate 부분에서, 앞서 생성한 “CORPCES1”를 선택

한 후, OK를 클릭합니다.

페이지 25 / 66

Active Directory 에서 CES1 위임 구성 (on DC1 : Domain Controller)

1. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 CORP\Administrator 계정으로 로그인합

니다.

2. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 로그인 한 후, Server Manager 에서, Tools

-> Active Directory Users and Computers 를 선택합니다. Active Directory Users and

Computers 에서, View -> Advanced Features 가 선택되어 있음을 확인합니다.

페이지 26 / 66

3. CORP.CONTOSO.com -> Computers 순서로 확장한 후, CES1 컴퓨터 계정을 더블 클릭한

후, Delegation 탭을 선택합니다.

4. Delegation 탭에서 Trust this computer for delegation to specified services only 및

Use Kerberos only 선택한 후, Add를 클릭합니다.

페이지 27 / 66

5. Add Services 페이지에서, Users or Computers 클릭한 후, “Enter the object names to

select” 에서, DC1를 입력한 후, OK를 클릭합니다. DC1 서버는 Enterprise ROOT CA 역할

을 수행합니다. 즉, 사용자 및 컴퓨터에 인증서를 발급해 주는 역할을 수행하는 서버가

DC1임을 확인합니다. 이번 단계에서, CES1 서버가 특정 사용자 및 특정 컴퓨터를 대행해

서, DC1 CA 서버에 인증서를 요청할 수 있도록 구성하는 권한을 설정합니다.

페이지 28 / 66

6. Service Type 에서 HOST 및 rpcss 을 선택한 후, OK를 클릭합니다. CES1 컴퓨터 계정

속성 페이지를 닫기 위하여 OK 를 클릭합니다.

페이지 29 / 66

Exercise 2 : Certificate Enrollment Policy Web Service (CEP) 설치 및

구성 (on CES1.CORP.CONTOSO.com)

본 단계에서, Certificate Enrollment Policy Web Service (CEP) 역할 설치 및 구성을 합니다.

Virtual Machine Role

CEP1.CORP.CONTOSO.com Member Server (Windows Server 2012)

Microsoft Certificate Enrollment Web Service

10.0.0.34

(For CEP Installation/Configuration)

CEP 역할 서비스 설치 (on CEP1.CORP.CONTOSO.com)

1. CEP1 서버에서 CORP\Administrator 계정으로 로그인합니다.

2. Server Manager를 수행하고, “Add roles and features” 를 클릭합니다.

3. Before you Begin 페이지에서, Next 를 클릭합니다.

4. Select installation type 페이지에서, “Role-based or feature-based installation” 을 선택

한 후, Next를 클릭합니다.

5. Select destination server 페이지에서, “Select a server from the server pool”을 선택한

후, “Server Pool” 부분에서, “CEP1.CORP.CONTOSO.com” 서버를 선택한 후, Next를 클릭

합니다.

페이지 30 / 66

6. Select server roles 페이지에서, “Active Directory Certificate Services” 를 선택한 후, 부

가적인 기능을 추가한 후 Next를 클릭합니다.

7. Select features 페이지에서, 별도의 추가 기능을 선택하지 않고, Next를 클릭합니다.

8. Active Directory Certificate Services 페이지에서, Next를 클릭합니다.

9. Select role services 페이지에서, “Certificate Authority”를 선택하지 않고, “Certificate

Enrollment Policy Web Service”를 선택한 후, 부가적인 기능을 추가한 후, Next를 클릭

합니다. “Certificate Authority”는 이미 DC1.CORP.CONTOSO.com 서버에 구성되어 있음을

확인합니다. 또한, “Certificate Enrollment Policy Web Service” 역할 서비스는 웹 서비스

가 반드시 필요하므로, Web Server Role (IIS) 가 부가적으로 설치됨을 유의해야 합니다.

페이지 31 / 66

10. Web Server Role (IIS) 페이지에서, Next를 클릭합니다.

11. Select role services 페이지에서, 기본 설정을 그대로 사용하므로, Next를 클릭합니다.

12. Confirm installation selections 페이지에서, 설치 구성 요소를 확인한 후, Install 를 클릭

하여, 설치를 진행합니다.

13. Installation progress 페이지에서, 설치가 완료되었음을 확인 한 후, 아래에서 “Configure

페이지 32 / 66

Active Directory Certificate Services on the destination server” 링크를 클릭하여, 후속

작업을 완료합니다.

14. Credentials 페이지에서, CORP\administrator 계정이 자동으로 설정되어 있음을 확인 한

후, Next를 클릭합니다.

페이지 33 / 66

15. Role Services 페이지에서, “Certificate Enrollment Policy Web Service” 를 선택한 후,

Next를 클릭합니다.

16. Authentication Type for CEP 페이지에서, “Windows integrated authentication” 을 선택

한 후, Next를 클릭합니다.

17. Server Certificate 페이지에서, “Choose and assign a certificate for SSL later”를 선택한

후, Next를 클릭합니다. CEP 역할 서비스는 HTTPS를 기반으로 하기 때문에, “서버 인증서”

가 필요합니다. “서버 인증서”는 다음 단계에서 설치 및 구성합니다.

페이지 34 / 66

18. Confirmation 페이지에서, 구성 사항을 최종적으로 확인 한 후, Configure 를 클릭합니다.

19. Results 페이지에서, 구성이 성공임을 확인 한 후, Close 를 클릭하여, 구성을 완료합니다.

아래와 같이 CEP1 서버에 CEP 관련 웹 어플리케이션이 구성되어 있음을 확인할 수 있습니다.

페이지 35 / 66

SSL 인증서 등록 (on CEP1.CORP.CONTOSO.com)

1. CEP1.CORP.CONTOSO.com 서버에 로그인 한 후, Tools -> Internet Information Service

(IIS) Manager 를 선택합니다.

2. CEP1를 선택한 후, 중간 창의 Server Certificates를 더블 클릭합니다.

3. 오른편 내의 Actions 창에서 Create Domain Certificate를 클릭합니다. Distinguished

Name Properties 페이지에서 다음 정보를 입력한 후, Next를 클릭합니다.

Common Name – CEP1.CORP.CONTOSO.com

Organization - Contoso

Organizational Unit - IT

City/Locality - Redmond

State/Province - WA

Country/Region – US

페이지 36 / 66

4. Online Certificate Authority 페이지에서, Specify Online Certification Authority 부분에

서 Select 를 클릭합니다.

5. CORP-DC1-CA 를 선택한 후, OK를 클릭합니다.

6. Friendly Name, 부분에서, CORPCEP1 를 입력한 후, Finish를 클릭합니다.

페이지 37 / 66

SSL 인증서를 웹 사이트에 바인딩 (on CEP1.CORP.CONTOSO.com)

1. CEP1.CORP.CONTOSO.com 서버에 로그인 한 후, Tools -> Internet Information Service

(IIS) Manager 를 선택합니다.

2. CEP1 -> Sites 순서로 확장한 후, Default Web Site를 선택합니다. 오른편의 Actions 창

내의 Bindings 를 클릭합니다.

3. https 가 추가되어 있지 않다면, Site Bindings 페이지에서 Add 를 클릭합니다.

4. 아래와 같이 Site Bindings 페이지에서, https 를 선택한 후, Edit 를 클릭합니다.

페이지 38 / 66

5. Edit Site Binding 페이지에서, SSL certificate 부분에서, 앞서 생성한 “CORPCEP1”를 선택

한 후, OK를 클릭합니다.

Certificate Enrollment Policy 을 위한 Friendly Name 구성 (on CEP1.CORP.CONTOSO.com)

1. CEP1.CORP.CONTOSO.com 서버에 로그인 한 후, Tools -> Internet Information Service

페이지 39 / 66

(IIS) Manager 를 선택합니다.

2. CEP1 -> Sites -> Default Web Site 순서로 확장한 후,

ADPolicyProvider_CEP_Kerberos 를 선택합니다.

3. 가운데 창의 ASP.NET 하위의 Application Settings 를 더블 클릭합니다.

4. Friendly Name를 오른쪽 마우스 클릭 후, Edit를 클릭합니다. Value 부분에 Contoso

Enrollment Policy 를 입력한 후, OK를 클릭합니다.

페이지 40 / 66

5. URI 를 오른쪽 마우스 클릭 후, Edit. 를 클릭합니다. URI 값을 복사 한 후, Notepad 에

값을 Paste 한 후, 텍스트 파일로 저장합니다. 이 값은 HTTPS를 사용하여 CEP를 발견할

수 있도록 클라이언트 측의 구성을 위해 사용될 것입니다.

페이지 41 / 66

페이지 42 / 66

Exercise 3 : GPO를 사용하여 CEP URI 클라이언트 구성을 배포 및 관

리 (on DC1 : Domain Controller)

본 단계에서, GPO를 사용하여 CEP URI 클라이언트 구성을 배포 및 관리합니다.

Virtual Machine Role

DC1.CORP.CONTOSO.com Domain Controller (Windows Server 2012)

Enterprise Root CA

10.0.0.1

1. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 CORP\Administrator 계정으로 로그인합

니다.

2. 좌측 하단의 Start 를 클릭한 후, “Group Policy Management Administrative Tools” 도

구를 클릭합니다.

3. Forest: Corp.CONTOSO.com -> Domains -> CORP.Contoso.com, -> Group Policy

Objects 순서로 확장합니다.

페이지 43 / 66

4. 오른쪽 창에서, Default Domain Policy를 오른쪽 마우스 클릭한 후, Edit를 선택합니다.

Note: Default Domain Policy 는 오로지 데모 환경에서 사용됩니다. 모범 사례는 DC 및 CA에 직

접적으로 연결할 수 없는 컴퓨터 및 사용자들을 OU로 구성하여, 해당 OU에 PKI 설정을 구성합니

다.

5. Computer Configuration -> Policies -> Windows Settings -> Security Settings 순서

로 확장한 후, Public Key Policies 를 선택합니다.

페이지 44 / 66

6. Certificate Services Client – Certificate Enrollment Policy 를 더블 클릭한 후,

Configuration Model 를 Enabled 설정합니다.

7. Active Directory Enrollment Policy 라는 기본 AD 제공자를 제거하기 위하여 Remove

를 클릭합니다.

페이지 45 / 66

8. Add를 클릭한 후, 앞서 Exercise 2에서 확인했던 CEP URI 값을 “Enter enrollment policy

server URI” 에 입력한 후, “Validate Server” 를 클릭합니다. “Validate Server” 를 클릭한

후, “Certificate enrollment policy properties” 영역에서 “was validated successfully” 메

시지를 확인 한 후, Add를 클릭합니다.

Exercise 2에서 확인한 CEP URI 값은 아래와 같습니다.

https://cep1.corp.contoso.com/ADPolicyProvider_CEP_Kerberos/service.svc/CEP

페이지 46 / 66

아래와 같은 오류가 발생할 수도 있습니다.

Certificate Web Enrollment Policy Service, Access was denied by the remote endpoint. 0x803d0005

( http://social.technet.microsoft.com/Forums/en-IE/winserversecurity/thread/809459c7-e090-48d2-

bdff-ab42b3ba8270 )

위 오류에 대한 해결책

Users cannot access an IIS-hosted website after the computer password for the server is changed

in Windows 7 or in Windows Server 2008 R2

( http://support.microsoft.com/default.aspx?scid=kb;EN-US;2545850 )

9. “Contoso Enrollment Policy” 를 기본 정책으로 설정하기 위해, Default 를 선택한 후,

OK를 클릭합니다.

페이지 47 / 66

10. User Configuration -> Policies -> Windows Settings -> Security Settings 순서로 확장

한 후, Public Key Policies를 선택합니다.

11. Certificate Services Client – Certificate Enrollment Policy 더블 클릭한 후,

페이지 48 / 66

Configuration Model 를 Enabled 설정합니다.

12. Active Directory Enrollment Policy 라는 기본 AD 제공자를 제거하기 위하여 Remove

를 클릭합니다.

13. Add를 클릭한 후, 앞서 Exercise 2에서 확인했던 CEP URI 값을 “Enter enrollment policy

server URI” 에 입력한 후, “Validate Server” 를 클릭합니다. “Validate Server” 를 클릭한

후, “Certificate enrollment policy properties” 영역에서 “was validated successfully” 메

시지를 확인 한 후, Add를 클릭합니다.

Exercise 2에서 확인한 CEP URI 값은 아래와 같습니다.

https://cep1.corp.contoso.com/ADPolicyProvider_CEP_Kerberos/service.svc/CEP

페이지 49 / 66

14. “Contoso Enrollment Policy” 를 기본 정책으로 설정하기 위해, Default 를 선택한 후,

OK를 클릭합니다. Group Policy Management Editor 를 Close 합니다.

페이지 50 / 66

페이지 51 / 66

Exercise 4 : CEP/CES 를 사용하여 HTTPS 기반 인증서 등록 수행

본 단계에서, CEP/CES를 사용하여 HTTPS 기반 인증서 등록을 수행합니다. Exercise 4를 수행하는

동안, 수동 인증서 등록을 수행할 것입니다.

Virtual Machine Role

CLIENT1.CORP.CONTOSO.com Member Client (Windows 8 Consumer Preview)

(Client to perform HTTPS based certificate enrollment)

HTTPS (CEP/CES)를 사용한 인증서 등록 검증 (on CLIENT1.CORP.CONTOSO.com)

1. CLIENT1 서버에서 CORP\User1 계정으로 로그인합니다.

2. 로그인 후, GPO 설정을 업데이트하기 위해, CMD 에서 gpupdate /force 를 수행합니다.

3. MMC 를 수행하여, Certificates 스냅-인을 Add 한 후, Finish를 클릭합니다. OK를 클릭합

니다.

페이지 52 / 66

4. Certificates – Current User를 확장한 후, Personal를 오른쪽 마우스 클릭한 후, All Tasks

를 선택합니다. 수동 인증서 등록 과정을 수행하기 위해 Request New Certificate 를 선

택합니다.

5. Before You Begin 페이지에서 Next 를 클릭합니다.

6. Certificate Enrollment Policy 페이지에서 Next 를 클릭합니다. 아래 앞서 생성한

“Contoso Enrollment Policy” 정책이 존재함을 확인합니다.

페이지 53 / 66

7. Request Certificates 페이지에서 “User” 를 선택한 후, Details를 클릭합니다. Properties

선택 한 후, Certification Authority 탭을 선택합니다.

등록 서버(Enrollment Server)를 아래와 같이 확인할 수 있습니다. 등록 서버의 값을 확인해 보면,

HTTPS 기반 CES를 사용한 인증서 등록이 가능함을 알 수 있습니다.

https://ces1.corp.contoso.com/CORP-DC1-CA_CES_Kerberos/service.svc/CES

페이지 54 / 66

8. 속성 창을 닫기 위하여 OK를 클릭합니다.

9. 인증서 등록을 수행하기 위해 Enroll 를 클릭한 후, Finish를 클릭합니다.

페이지 55 / 66

10. Personal 저장소에 위치한 발급된 사용자 인증서를 더블 클릭한 후, Detail 탭을 선택합니

다. Detail 탭의 “Serial number”를 선택한 후, 값을 복사합니다.

페이지 56 / 66

11. 명령어 창에서 아래 명령어를 수행합니다.

Certutil –v –user –store MY “<SerialNumber>”

<SerialNumber> 부분은 앞서 10번에서 복사했던 실제 “Serial number”로 대체합니다. “Serial

number” 앞과 뒤에 quotation mark를 반드시 사용해야 합니다.

페이지 57 / 66

CERT_CEP_PROP_ID(87): 부분에서, 이 인증서를 발급받기 위해 사용된 CEP 및 CES URL을 확인

할 수 있습니다.

페이지 58 / 66

Exercise 5 : CEP/CES 기반 인증서 등록 Troubleshooting

본 단계에서, CEP/CES 기반 인증서 등록에서 발생할 수 있는 문제에 대한 troubleshooting 방법을

확인해 봅니다.

Virtual Machine Role

DC1.CORP.CONTOSO.com Domain Controller (Windows Server 2012)

Enterprise Root CA

10.0.0.1

CEP1.CORP.CONTOSO.com Member Server (Windows Server 2012)

Microsoft Certificate Enrollment Web Service

10.0.0.34

(For CEP Installation/Configuration)

CLIENT1.CORP.CONTOSO.com Member Client (Windows 8 Consumer Preview)

(Client to perform HTTPS based certificate enrollment)

Certificate Enrollment Policy Web service (CEP) 상의 정책 캐시 Clearing (on

CEP1.CORP.CONTOSO.com 및 on CLIENT1.CORP.CONTOSO.com)

AD 내의 인증서 템플릿 및 이러한 인증서 템플릿의 ACL이 변경되었다면, CES/CEP를 사용하여 발

급되는 인증서에서 이러한 변경 사항이 반영되지 않을 수도 있습니다. 이러한 문제를 해결하기

위해서는 CEP 서버 상의 “정책 캐시”를 삭제해야 합니다.

1. CEP1 서버에서 CORP\Administrator 계정으로 로그인합니다.

2. CEP 서버 상의 정책 캐시를 업데이트하기 위하여, IISRESET 또는 restarting the policy

service application pool를 수행합니다.

페이지 59 / 66

3. CLIENT1 서버에서 CORP\Administrator 계정으로 로그인합니다.

4. Client Machine (CLIENT1) 컴퓨터 상의 “정책 캐시” 를 삭제하기 위해서, 아래 폴더의 내

용을 삭제합니다.

%ProgramData%\Microsoft\Windows\X509Enrollment\ or %USERPROFILE%\AppData\Loc

al\Microsoft\Windows\X509Enrollment

CEP 서버로부터 정책을 얻기 위해 필요한 권한

CEP URI 연결하기 위해 사용된 인증에 기반하여, 클라이언트는 정책을 확보합니다. 인증된 사용자

는 특정 인증서 템플릿에 “읽기” 및 “등록(Enroll)” 권한이 반드시 할당되어야 합니다.

1. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 CORP\Administrator 계정으로 로그인합

니다.

2. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 로그인 한 후, Server Manager 에서, Tools

-> Certification Authority 를 선택합니다.

3. CORP-DC1-CA 를 확장한 후, Certificate Templates를 오른쪽 마우스 클릭한 후, Manage

를 선택합니다.

페이지 60 / 66

4. Certificate Templates 콘솔에서, User 인증서 템플릿을 더블 클릭합니다.

5. Security 탭에서, Group or User Names 하위에서 “Domain Users” 를 선택합니다.

6. “Domain Users” 그룹이 User 템플릿에 대한 권한이 Read 및 Enroll 이 할당되어 있음을

확인합니다.

7. User 인증서 템플릿을 닫습니다.

Note - If “Client Certificate Authentication” or “Username and Password” is used as

authentication method then there are some other checks needs to be performed as listed below.

As in this lab we are not using these authentication methods so these checks are provided for

information only.

For machine certificates, in addition to the authenticating user having read and enroll on the

template, the machine must have read and enroll as well. If the requesting machine does not

페이지 61 / 66

have enroll, the user performing the enrollment or renewal will be able to see the policy but will

fail upon the enrollment or renewal request.

If using renewal-only mode, user the enrollment web service is running as must have “request

certificates” permission on the CA

If there is not at least one certificate enrollment web service configured for a CA configured to

issue a template, that template will not be returned as part of the policy, regardless of

permissions settings.

( Renewal only mode) Check Certificate and AD Subject Name Settings.

If renewal requests are failing in renewal only mode, check that there is sufficient information for

the CA to retrieve and verify the requester name from the original certificate. This is required for a

successful renewal only mode renewal request. A CA operating in renewal only mode verifies the

subject information for the new certificate in the following manner.

First, it looks in the CA database for the original certificate with the same serial number and

public key ,

If the above fails, then it uses the UPN in the Subject Alternative Name (SAN) extension of the

original certificate, if one is present, to perform an AD lookup.

If a UPN is not present in the original certificate, it tries to perform the check using the contents

of the subject name extension in the original certificate.

If none of the above is successful, the renewal request will fail.

Certutil.exe를 사용한 구성 설정 검증

1. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 CORP\Administrator 계정으로 로그인합

니다.

2. 등록 서비스 URI 를 포함한 CA Enrollment Services object attributes 를 확인할 수 있

습니다.

Certutil.exe –adca

페이지 62 / 66

3. 일반적인 CES 구성 상세 정보를 확인하기 위하여 아래 명령어를 사용합니다.

Certutil.exe –policy

4. 등록 서버 URL을 확인하기 위해 아래 명령어를 수행합니다.

Certutil.exe –enrollmentServerURL

페이지 63 / 66

5. CA의 등록 정책을 확인하기 위해 아래 명령어를 사용합니다.

Certutil.exe –ca

CertSrv 로깅 구성

등록 서버의 요청를 CA가 처리하지 못 할 경우, Certsrv 로깅은 문제의 원인을 확인하기 위한 확

실한 방법입니다.

페이지 64 / 66

1. DC1.CORP.CONTOSO.com 도메인 컨트롤러에 CORP\Administrator 계정으로 로그인합

니다.

2. CA 디버그 로깅을 활성화하기 위해 아래 명령어를 수행합니다.

certutil –setreg ca\debug 0xffffffe3

로그 파일은 기본적으로 %windir%\certsrv.log 에 위치합니다. 이 로깅 설정이 정상 작동하기위

해서는 CA 서비스를 재 시작해야 합니다.

페이지 65 / 66

Appendix : Non-Domain 클라이언트의 CES/CEP 활용 방안

Non-Domain 클라이언트들이 CES/CEP를 활용하여, MMC 인증서 스냅인을 통해 인증서를 발급받

을 수 있습니다.

아래 링크를 참조합니다.

Enabling CEP and CES for enrolling non-domain joined computers for certificates

( http://blogs.technet.com/b/askds/archive/2010/05/25/enabling-cep-and-ces-for-enrolling-

non-domain-joined-computers-for-certificates.aspx )

페이지 66 / 66

참조 자료

Enabling CEP and CES for enrolling non-domain joined computers for certificates

( http://blogs.technet.com/b/askds/archive/2010/05/25/enabling-cep-and-ces-for-enrolling-

non-domain-joined-computers-for-certificates.aspx )

Certificate Web Enrollment Policy Service, Access was denied by the remote endpoint. 0x803d0005

( http://social.technet.microsoft.com/Forums/en-IE/winserversecurity/thread/809459c7-e090-48d2-

bdff-ab42b3ba8270 )

Users cannot access an IIS-hosted website after the computer password for the server is changed

in Windows 7 or in Windows Server 2008 R2

( http://support.microsoft.com/default.aspx?scid=kb;EN-US;2545850 )