시작하며
시스코의 모든 제품은 PKCS #10에 의한 CSR (Certificate Signing Request)를 생성한 후에 CA 서버가 서명한 Certificate (인증서)를 받아 다시 제품에 주입합니다. 주입한 인증서를 기반으로 TLS 및 SRTP를 구현하는 것이 시스코 Secure IP Telephony 의 절차이지만, 정작 "Secure IP Telephony" 연재에서 CA를 구성하는 부분은 따로 정리하지 않았습니다.
실제 데모를 구성하거나 현장에서 구축을 위해서는 CA 서버가 반드시 필요하므로 이번 글에서는 마이크로소프트 CA 서버를 구축하는 과정을 간단하게 정리해보았습니다.
CA 서버는 PKI 기반에서 동작하므로 개념을 잡지 못한 분들은 아래링크의 글들을 먼저 읽을 것을 권합니다. 기초적인 내용은 여기서 따로 설명하지 않습니다.
2014/02/04 - [Secure UC] - 라인하트와 허클베리핀의 Secure IP Telephony
Certificate Services 설정하기
Microsoft Server 2003 이상 버전은 Certificate Service를 기본적으로 포함하고 있으므로 필요할 경우 따로 설치할 수 있습니다. CA (Certificate Authority) 기능을 활성화하기 우해 Server Manager를 시작힙니다.
위 그림의 왼쪽 탭에서 "Role"을 선택한 후 오르쪽 색션에서 "Add Roles"을 선택하면, 아래 그림과 같이 "Add Role Wizard"를 시작합니다. "Server Roles"에서 "Active Directory Certificate Services"를 선택한 후에 "Next"를 클릭합니다.
Active Directory Certificate Service는 Secure Wireless Network, VPN, IPSec, NAP 등과 같은 서비스에 인증서 기반 인프라를 제공합니다. "Next"를 선택합니다.
Role Services 페이지에서 "Certification Authority"와 "Certification Authority Web Enrollment"를 선택합니다.
"Certification Authority Web Enrollment"를 구동하기 위해서는 IIS 서비스가 필요하다는 경고창이 표시됩니다. 주저없이 "Add Required Role Services"를 클릭합니다.
"Setup Type" 페이지에서 마이크로소프트 CA의 두 가지 타입 가운데 하나를 선택합니다.
- Enterprise
Active Directory를 필요로 하며, Group Policy를 이용하여 모든 사용자와 컴퓨터를 위해 Root CA 인증서를 자동으로 전파합니다. AD 기반하에서 전사적으로 인증서 기반으로 사용할 때 이용합니다.
- Standalone
Active Directory를 필요로 하지 않으며, 이름 그대로 독립적으로 구성될 수 있습니다. 매우 강력한 보안을 필요로 하여 네트워크가 단절된 곳에 Root CA를 설치해야 할 경우 이용합니다.
"CA Type" 페이지에서 CA 서버가 루트 CA가 될지, Subordinate CA가 될 지를 결정합니다. 기업에 CA가 하나도 없다면 당연히 "Root CA"를 선택하고, 별도의 Root CA가 있을 경우에는 Root CA의 하위에 위치하는 Subordinate CA를 선택합니다.
"Private Key" 페이지에서 키를 생성합니다. Root CA 서버가 사용할 개인키를 생성합니다. 처음 생성하는 것이므로 "Create a new private key"를 섵택합니다.
"Cryptography" 페이지에서는 개인키 생성을 위해 필요한 세부적인 옵션을 결정합니다. 일반적으로 키 길이는 2048 비트, 해쉬 알고리즘은 SHA1을 이용합니다.
"CA Name" 페이지에서는 인증서에 사용되는 CA의 이름을 지정합니다. X.509 Distinguished name suffix는 CN 네임 뒤에 추가됩니다.
"Validity Period" 페이지에서 인증서의 유효 기간을 지정합니다. 짧을수록 암호수준은 높지만 관리가 매우 불편합니다.
"Certificate Database" 페이지에서는 인증서 저장 위치를 결정합니다.
"IIS" 페이지가 있는 이유는 "Certification Authority Web Enrollment" 서비스를 선택하면서 IIS 설치를 결정하였기 때문입니다.
IIS의 설정은 기본값으로 두고 "NEXT"를 클릭합니다.
지금까지 설정한 내용을 확인한 후에 "Install" 버튼을 클릭합니다.
아래 그림과 같이 설치를 진행합니다.
설치가 완료되면 "Installation succeeded"라고 표시됩니다.
Root CA에 접속하기
설치를 완료한 후에 접속해 보겠습니다. 접속을 위해서는 "http://서버 IP 주소/certsrv" 입니다.
CA 서버는 역할이 단순하므로 할 수 있는 것은 3 가지 입니다.
- Request a certificate
인증서가 필요한 기기를 위해 인증서를 요청합니다. - View the status of a pending certificate request
인증서를 요청한 후 진행중인 상황을 볼 수 있습니다. - Download a CA certificate, certificate chain or CRL
CA 서버의 인증서를 다운로드 받거나 인증서 취소 목록을 다운로드 받습니다.
CA가 만들어졌으므로 필요한 기기에 주입하기 위해 인증서를 다운로드 받아 보겠습니다."Download a CA Certificate, certificate chain or CRL"을 클릭하면 아래 화면으로 이동한 후 "Download CA certificate"를 선택합니다.
다운로드된 Root CA 인증서를 다른 인증서와 혼동되지 않도록 이름을 "CARootCert.csr"로 변경합니다. 인증서의 파일명의 변경은 인증서에 영향을 미치지 않습니다. 인증서의 구분은 파일명이 아닌 "CN" 이기 때문입니다.
유트브 동영상을 이용한 설치
지금까지 설명한 내용은 아래 유트브에서 확인할 수 있습니다.
마치며
지금까지 마이크로소프트 CA 서비스를 구축하고 CA 인증서를 다운로드하는 것까지 살펴보았습니다. Secure IP Telephony외에도 인증서가 필요한 영역에 사용해 보시기 바랍니다.
라인하트 (CCIEV #18487) -----------------------------------------------------
ucwana@gmail.com (라인하트의 구글 이메일)
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항)
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스)
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스)
세상을 이롭게 하는 기술을 지향합니다. ________________________________________________________