Certificate Enrollment Using CEP/CES Windows Server 2012 Windows Server 2008 以前운영체제는사용자및컴퓨터인증서발급에필요한인증으로써 Kerberos 를사용합니다. 또한, 이러한인증서발급요청은트랜스포트층을통하여전송됩니다. 이때, 인증및인증서발급요청은 DCOM 구성요소를사용합니다. DCOM 를사용한인증서발급방법은인증서서비스를활용하기위한여러가지시나리오를적용할수없습니다. 예를들어, 포리스트사이의인증서자동등록 또는 회사내부네트워크에직접적으로연결할수없는컴퓨터들의인증서발급 은기존 DCOM 을사용하는프로토콜에서불가능합니다. 회사내부의중요서버인 CA 서버는방화벽내부에위치하는것이통상적인배치입니다. 그리고, 이러한방화벽은 RPC 및 DCOM 을위한포트는보안상의이유로블로킹합니다. 이러한방화벽제어때문에, 인증서서비스를다양한시나리오에서사용하기에제약을받을수있습니다. 이동철 2012-05-28
목차 데모환경... 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 페이지 1 / 66
CertSrv 로깅구성... 63 Appendix : Non-Domain 클라이언트의 CES/CEP 활용방안... 65 참조자료... 66 페이지 2 / 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 페이지 3 / 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) 페이지 4 / 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로 페이지 5 / 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 기반의인증서발급시나리오를활용할수있음을확인합니다. 페이지 6 / 66
1 Consolidate PKI in multi-forest environment : 여러개의포리스트를소유한조직이각포리스트당별도의 PKI 인프라를구성하지않고, 하나의포리스트에 PKI 인프라를구성하고, 다른포리스트들이사용할수있도록구성 2 Extranet deployment : 회사네트워크외부의사용자및컴퓨터들이인증서를발급받을수있도록구성 3 Extranet - Renewal-only mode deployment : 인터넷을통한오로지 Renewal 만가능 (no enrollment) 한인증서를구성 참고로, 아래그림은위 CEP/CES 서비스를 DMZ 영역에위치시켰을때, 필요한방화벽구성사항 에대한구조입니다. 페이지 7 / 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 를클릭합니다. 페이지 8 / 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 를클릭 합니다. 페이지 9 / 66
6. Select server roles 페이지에서, Active Directory Certificate Services 를선택한후, 부 가적인기능을추가한후 Next 를클릭합니다. 페이지 10 / 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) 가부가적으로설치됨을유의해야합니다. 페이지 11 / 66
10. Web Server Role (IIS) 페이지에서, Next 를클릭합니다. 페이지 12 / 66
11. Select role services 페이지에서, 기본설정을그대로사용하므로, Next 를클릭합니다. 12. Confirm installation selections 페이지에서, 설치구성요소를확인한후, Install 를클릭 하여, 설치를진행합니다. 페이지 13 / 66
13. Installation progress 페이지에서, 설치가완료되었음을확인한후, 아래에서 Configure 페이지 14 / 66
Active Directory Certificate Services on the destination server 링크를클릭하여, 후속 작업을완료합니다. 14. Credentials 페이지에서, CORP\administrator 계정이자동으로설정되어있음을확인한 후, Next 를클릭합니다. 페이지 15 / 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 임을확인합니다. 페이지 16 / 66
17. Authentication Type for CES 페이지에서, Windows integrated authentication 을선택 한후, Next 를클릭합니다. 본데모환경은도메인클라이언트를위해위옵션을선택합 니다. 18. Service Account for CES 페이지에서, Use the built-in application pool identity 를선 택한후, Next 를클릭합니다. 페이지 17 / 66
19. Server Certificate 페이지에서, Choose and assign a certificate for SSL later 를선택한 후, Next 를클릭합니다. CES 역할서비스는 HTTPS 를기반으로하기때문에, 서버인증서 가필요합니다. 서버인증서 는다음단계에서설치및구성합니다. 20. Confirmation 페이지에서, 구성사항을최종적으로확인한후, Configure 를클릭합니다. 페이지 18 / 66
21. Results 페이지에서, 구성이성공임을확인한후, Close 를클릭하여, 구성을완료합니다. 아래와같이 CES1 서버에 CES 관련웹어플리케이션이구성되어있음을확인할수있습니다. SSL 인증서등록 (on CES1.CORP.CONTOSO.com) 1. CES1.CORP.CONTOSO.com 서버에로그인한후, Tools -> Internet Information Service (IIS) Manager 를선택합니다. 페이지 19 / 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 페이지 20 / 66
Country/Region US 4. Online Certificate Authority 페이지에서, Specify Online Certification Authority 부분에 서 Select 를클릭합니다. 페이지 21 / 66
5. CORP-DC1-CA 를선택한후, OK 를클릭합니다. 6. Friendly Name, 부분에서, CORPCES1 를입력한후, Finish 를클릭합니다. 아래와같은오류가발생한다면, 페이지 22 / 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 를클릭합니다. 페이지 23 / 66
3. https 가추가되어있지않다면, Site Bindings 페이지에서 Add 를클릭합니다. 4. 아래와같이 Site Bindings 페이지에서, https 를선택한후, Edit 를클릭합니다. 5. Edit Site Binding 페이지에서, SSL certificate 부분에서, 앞서생성한 CORPCES1 를선택 한후, OK 를클릭합니다. 페이지 24 / 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 가선택되어있음을확인합니다. 페이지 25 / 66
3. CORP.CONTOSO.com -> Computers 순서로확장한후, CES1 컴퓨터계정을더블클릭한 후, Delegation 탭을선택합니다. 4. Delegation 탭에서 Trust this computer for delegation to specified services only 및 Use Kerberos only 선택한후, Add 를클릭합니다. 페이지 26 / 66
5. Add Services 페이지에서, Users or Computers 클릭한후, Enter the object names to select 에서, DC1를입력한후, OK를클릭합니다. DC1 서버는 Enterprise ROOT CA 역할을수행합니다. 즉, 사용자및컴퓨터에인증서를발급해주는역할을수행하는서버가 DC1임을확인합니다. 이번단계에서, CES1 서버가특정사용자및특정컴퓨터를대행해서, DC1 CA 서버에인증서를요청할수있도록구성하는권한을설정합니다. 페이지 27 / 66
6. Service Type 에서 HOST 및 rpcss 을선택한후, OK 를클릭합니다. CES1 컴퓨터계정 속성페이지를닫기위하여 OK 를클릭합니다. 페이지 28 / 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를클릭합니다. 페이지 29 / 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) 가부가적으로설치됨을유의해야합니다. 페이지 30 / 66
10. Web Server Role (IIS) 페이지에서, Next를클릭합니다. 11. Select role services 페이지에서, 기본설정을그대로사용하므로, Next를클릭합니다. 12. Confirm installation selections 페이지에서, 설치구성요소를확인한후, Install 를클릭하여, 설치를진행합니다. 13. Installation progress 페이지에서, 설치가완료되었음을확인한후, 아래에서 Configure 페이지 31 / 66
Active Directory Certificate Services on the destination server 링크를클릭하여, 후속 작업을완료합니다. 14. Credentials 페이지에서, CORP\administrator 계정이자동으로설정되어있음을확인한 후, Next 를클릭합니다. 페이지 32 / 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 를기반으로하기때문에, 서버인증서 가필요합니다. 서버인증서 는다음단계에서설치및구성합니다. 페이지 33 / 66
18. Confirmation 페이지에서, 구성사항을최종적으로확인한후, Configure 를클릭합니다. 19. Results 페이지에서, 구성이성공임을확인한후, Close 를클릭하여, 구성을완료합니다. 아래와같이 CEP1 서버에 CEP 관련웹어플리케이션이구성되어있음을확인할수있습니다. 페이지 34 / 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 페이지 35 / 66
4. Online Certificate Authority 페이지에서, Specify Online Certification Authority 부분에 서 Select 를클릭합니다. 5. CORP-DC1-CA 를선택한후, OK 를클릭합니다. 6. Friendly Name, 부분에서, CORPCEP1 를입력한후, Finish 를클릭합니다. 페이지 36 / 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 를클릭합니다. 페이지 37 / 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 페이지 38 / 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 를클릭합니다. 페이지 39 / 66
5. URI 를오른쪽마우스클릭후, Edit. 를클릭합니다. URI 값을복사한후, Notepad 에 값을 Paste 한후, 텍스트파일로저장합니다. 이값은 HTTPS 를사용하여 CEP 를발견할 수있도록클라이언트측의구성을위해사용될것입니다. 페이지 40 / 66
페이지 41 / 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 순서로확장합니다. 페이지 42 / 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 를선택합니다. 페이지 43 / 66
6. Certificate Services Client Certificate Enrollment Policy 를더블클릭한후, Configuration Model 를 Enabled 설정합니다. 7. Active Directory Enrollment Policy 라는기본 AD 제공자를제거하기위하여 Remove 를클릭합니다. 페이지 44 / 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 페이지 45 / 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 를클릭합니다. 페이지 46 / 66
10. User Configuration -> Policies -> Windows Settings -> Security Settings 순서로확장 한후, Public Key Policies 를선택합니다. 11. Certificate Services Client Certificate Enrollment Policy 더블클릭한후, 페이지 47 / 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 페이지 48 / 66
14. Contoso Enrollment Policy 를기본정책으로설정하기위해, Default 를선택한후, OK 를클릭합니다. Group Policy Management Editor 를 Close 합니다. 페이지 49 / 66
페이지 50 / 66
Exercise 4 : CEP/CES 를사용하여 HTTPS 기반인증서등록수행 본단계에서, CEP/CES 를사용하여 HTTPS 기반인증서등록을수행합니다. Exercise 4 를수행하는 동안, 수동인증서등록을수행할것입니다. Virtual Machine CLIENT1.CORP.CONTOSO.com Role 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 를클릭합 니다. 페이지 51 / 66
4. Certificates Current User 를확장한후, Personal 를오른쪽마우스클릭한후, All Tasks 를선택합니다. 수동인증서등록과정을수행하기위해 Request New Certificate 를선 택합니다. 5. Before You Begin 페이지에서 Next 를클릭합니다. 6. Certificate Enrollment Policy 페이지에서 Next 를클릭합니다. 아래앞서생성한 Contoso Enrollment Policy 정책이존재함을확인합니다. 페이지 52 / 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 페이지 53 / 66
8. 속성창을닫기위하여 OK 를클릭합니다. 9. 인증서등록을수행하기위해 Enroll 를클릭한후, Finish 를클릭합니다. 페이지 54 / 66
10. Personal 저장소에위치한발급된사용자인증서를더블클릭한후, Detail 탭을선택합니 다. Detail 탭의 Serial number 를선택한후, 값을복사합니다. 페이지 55 / 66
11. 명령어창에서아래명령어를수행합니다. Certutil v user store MY <SerialNumber> <SerialNumber> 부분은앞서 10 번에서복사했던실제 Serial number 로대체합니다. Serial number 앞과뒤에 quotation mark 를반드시사용해야합니다. 페이지 56 / 66
CERT_CEP_PROP_ID(87): 부분에서, 이인증서를발급받기위해사용된 CEP 및 CES URL 을확인 할수있습니다. 페이지 57 / 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 를수행합니다. 페이지 58 / 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 를선택합니다. 페이지 59 / 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 페이지 60 / 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 페이지 61 / 66
3. 일반적인 CES 구성상세정보를확인하기위하여아래명령어를사용합니다. Certutil.exe policy 4. 등록서버 URL 을확인하기위해아래명령어를수행합니다. Certutil.exe enrollmentserverurl 페이지 62 / 66
5. CA 의등록정책을확인하기위해아래명령어를사용합니다. Certutil.exe ca CertSrv 로깅구성 등록서버의요청를 CA 가처리하지못할경우, Certsrv 로깅은문제의원인을확인하기위한확 실한방법입니다. 페이지 63 / 66
1. DC1.CORP.CONTOSO.com 도메인컨트롤러에 CORP\Administrator 계정으로로그인합 니다. 2. CA 디버그로깅을활성화하기위해아래명령어를수행합니다. certutil setreg ca\debug 0xffffffe3 로그파일은기본적으로 %windir%\certsrv.log 에위치합니다. 이로깅설정이정상작동하기위 해서는 CA 서비스를재시작해야합니다. 페이지 64 / 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-enrollingnon-domain-joined-computers-for-certificates.aspx ) 페이지 65 / 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-enrollingnon-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 ) 페이지 66 / 66