본문 바로가기

Secure UC

[연재] CUCM 11.5 에서 Secure UC 구현하기 - 1. CUCM에 인증서 올리기

글 싣는 순서


시작하며
이미 Secure IPT에 대해서는 여러번 글을 정리하였습니다. 이론적인 배경은 충분히 설명하였으므로 CUCM 11.5 에서 달라진 부분과 시스코 자체 CAPF 만으로 간단하게 Secure IPT를 구현하는 것을 다룹니다.


CUCM 11.5 인증서 확인
CUCM은 설치할 때 자동으로 Self-signed Certification 을 사용합니다. 하나의 인증서를 만들어서 여러 서비스가 사용하는 구조가 아니라 서비스별로 별도의 인증서를 관리합니다. 

CUCM OS Administration 페이지에 접속하여  메뉴바에서 "Security >> Certification Management" 을 선택하면 아래와 같이 나타납니다. 인증서를 사용하는 서비스는 CallManager, TFTP, CAPF, Tomcat 등이며, 각 인증서를 검증하기 위한 Root Certification 및 Chain Certification을 저장하는 곳은 각 서비스의 트러스트 스토어입니다. 

예를들면, Certificate 항목의 "CallManager"는 서비스가 사용하는 인증서이고, CallManager-trust는 인증서를 검증하기 위한 루트 인증서가 저장됩니다. 

여기서 Private CA에서 인증되는 CUCM 인증서를 사용할 계획입니다. 일반적으로 웹접속을 위한 Tomcat 서비스, TLS / SRTP 를 위한 CallManager 서비스, 전화기에 펌웨어 및 구성정보를 안전하게 전달하기 위한 TFTP 서비스에 대해 인증서를 발행합니다. 

여기서는 CallManager 서비스에 대한 것만 예시합니다.  


CUCM의 CallManager 서비스를 위한 CSR 생성하기
시스코 CUCM은 PKCS #10 방식으로 인증서를 생성합니다. PKCS #10 은 단말이나 서버가 직접 Private Key (개인키) 와 Public Key (공개키)를 생성한 후에 공개키를 다른 단말에 배포하기 위해 인증기관에 인증을 요청하기 위한 CSR (인증서 서명 요청,Certificate Signing Request)을 생성하는 하는 것을 말하는 것으로 CSR의 상세 규격 및 구문을 정의합니다. 

"Generate CSR" 버튼을 클릭합니다. 생성하고자 하는 서비스를 선택합니다. CUCM 서버마다 인증을 모두 진행해도 되지만 귀찮습니다. 그래서 SAN (Subject Alternate Names)을 이용하여 클러스터내의 CUCM을 한장의 CSR로 처리합니다. "Generate"를 눌러 CSR을 생성합니다.


CallManager 서비스의 CSR 을 생성하면 현재 서비스중인 Self-Signed 인증서는 그대로 유지하면서 CSR을 발행하므로 서비스에는 영향이 없습니다. 


CSR 생성후에는 "Download CSR" 버튼을 클릭하여 다운로드 받습니다. 다운로드 받을 CUCM 서비스를 지정합니다. 


" Download CSR"을 클릭하여 CSR을 PC에 저장합니다. CSR 내용을 확인하기 위해 파란색의 "ucm1.dcloud.cisco.com"을 클릭합니다. 


다운로드 받은 파일을 노트패드를 이용하여 CSR을 봅니다.  



노트패드로 보게 되면 아래와 깉이 보입니다. 

제대로 보이도록 하기 위해 "Format >> Word Wrap"을 선택합니다. 


Microsoft CA 에서 CUCM 인증서 발행하기
다운로드 받은 CSR을 이용하여 CUCM 인증서를 생성해 보겠습니다. Microsoft CA는 보통 AD 서버와 같이 구축하는 것이 일반적입니다. WIndows Server의 기본 서비스이므로 윈도우즈 서버에서 활성화하면 됩니다. 자세한 내용은 아래 글을 참조하시기 바랍니다. 

2014/10/22 - [Secure UC] - 인증서 발행을 위한 마이크로소프트 CA 설치하기


웹으로 접속하여 "Request a certificate" 를 클릭합니다.  


"advanced certificate request"를 선택합니다. 


노트 패드의 CSR 내용을 "Saved Request"란에 복사하고, Certificate Template는 ClientServer를 선택합니다. 만일 ClientServer 템플릿이 없을 경우 아래 글을 이용하여 생성합니다.

ClientServer 인증서 템플릿 만들기 (중간 아래 부분에 있음)


"DER encoded"를 선택한 후 "Download certificate"를 선택합니다.

"Save File" 을 선택하고 "OK"를 클릭합니다.


파일은 아래도 상관없으므로 알아보기 쉽게 지정하고 "Save"를 클릭합니다. 


CUCM 인증서 검증을 위해 CA의 루트 인증서 다운로드
CUCM에 인증서를 업로드할 때 인증서 검증을 해야하며, 검증시 사용하는 것이 서명을 한 CA의 인증서가 필요합니다. 

"Downlaod a CA Certificate, certificate chain, or CRL"을 클릭합니다. 

파일명은 중요하지 않으므로 알기 쉽게 정의하고 저장합니다. 


CUCM에 인증서 얼로드하기
인증서를 만들었으므로 CUCM에 업로드합니다.

CUCM OS Administration 웹페이지의 메뉴바에서 "Security >> Certification Management"를 선택합니다. "Upload Certificate/Certificate chain"을 클릭합니다. 


인증서를 업로드할때는 항상 CA서버의 루트인증서를 Trust Store에 업로드 후에 CUCM 서비스 인증서를 업로드합니다. 틀리면 에러가 발생합니다.

"CallManager-trust"에 CA 루트 인증서를 선택한 후 "upload"을 클릭합니다.

업로드가 성공하며 아래와 같이 메세지 나타납니다.


그리고, CallManager  서비스에 새로운 인증서를 업로드합니다.  인증서를 선택한 후에 "upload"를 클릭합니다. 


업로드가 성공하며 아래와 같이 메세지 나타납니다.


Callmanager 서비스에 업로드된 인증서를 확인합니다. 


Callmanager-trust에 업로드된 인증서를 확인합니다.


관련 서비스를 재시작합니다.

"Cisco Unified Serviceability" 웹페이지에서 "Tools >> Control Center - Feature Services"를 선택합니다.


CUCM 을 선택합니다. 


"Cisco CallManager" 서비스와 "TFTP" 서비스를 "Restart"합니다.



마치며
CallManager 서비스만을 살펴보았지만, 다른 서비스도 마찬가지입니다. SAN을 이용하면 한번으로 클러스터내의 모든 CUCM 서버에 대한 인증서 발행이 됩니다.



라인
 유씨누스 (CCIEV #18487)
 ______________________________________________________
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (UC를 공부하는 사람들이 모인 구글 구룹스) 
세상을 이롭게 하는 기술을 지향합니다. _____________________________________________________