본문 바로가기

Secure UC

[연재] CUCM 11.5 에서 Secure UC 구현하기 - 6. CUCM 8.6 이상 버전에서 전화기의 클러스터 변경하기

글 싣는 순서

1. CUCM에 인증서 올리기 
2. 전화기에 인증서 올리기 
3. CUCM Mixed Mode 전환하여 암호화 통신하기
4. CUCM 보안 관련 문제 정리 




시작하며
이번 연재의 "4. CUCM 보안 관련 문제 정리 " 장의 "3. TFTP 서버 장애 시 "Security by Default" 문제 해결 방법은 있나요?" 에 자세히 정리된 내용을 Step-by-Step으로 정리합니다. 이 내용을 이해하기 위해서는 ITL과 CTL 등에 대한 이해가 있어합니다. ITL에 대한 내용은 다음 글을 참조하시기 바랍니다


2012/12/04 - [Secure UC] - [연재] Cisco Secure IP Telephony의 이해 - (5) CUCM에서 사용되는 PKI


이 글은 두 부분으로 나누어져 있습니다. CUCM의 Call Manager 서비스 인증서가 교체되어도 정상적으로 동작하는 전화기들을 확인하는 과정과 CUCM 클러스터가 변경되어도 전화기가 정상적으로 동작하는 과정입니다 



CTL 파일에서 ITL Recovery 인증서 확인하기 

CUCM의 CLI 창에서 "show CTL"이라고 입력하면, 아래와 같은 정보가 표시됩니다.






CTL Record #4에서 CN=ITLRECOVERY_<호스트 도메인네임> 으로된 Subject를 확인합니다. 이것이 ITL Recovery에 사용되는 인증서입니다.


CUCM의 ITL 파일과 Tokenless CTL파일은 CallManager 키 대신에 ITL Recovery 키로 서명됩니다. 이는 CUCM과 전화기 사이의 신뢰가 깨어지는 것을 막기 위한 것으로, CUCM CallManager 키를 재생성하거나 CUCM 클러스터가 바뀌거나 할 경우에 유효합니다. ITL Recovery 인증서는 CUCM 인증서가 바뀌더라도 20년간 유효한 합니다.  또한, Self-signed 인증서이므로 Root CA가 필요없습니다.



CUCM의 CallManager 인증서 재생성하기
테스트를 위해 인증서를 재생성하기 위해 "Cisco Unified OS Administration"웹에 접속한 후 메뉴바에서 "Security >> Certification Management"를 선택합니다. 



이미 블로그에서 수차례 진행한 것이므로 CSR 생성과 인증서 업로드 과정은 생략합니다.  



CTL 파일 업데이트하기
CallManager 인증서가 변경되었으므로 CUCM CLI창에서 CTL 파일을 업데이트합니다. 명령어는 다음과 같습니다.


utils ctl update CTL File


명령어를 입력 후 계속하십니까? (Do you want to continue?) 라고 물어보면, "y"라고 입력합니다. 




CTL 파일이 업데이트되면 CallManager 서비스를 항상 재시작해야 합니다. Navigation 바에서 "Cisco Unified Serviceability" 를 선택하고, 메뉴바에서 "Tools >> Control Center - Feature Services"를 클릭합니다.  "Cisco CallManager"를 선택한 후 "Restart" 버튼을 클릭합니다. 




"OK"를 선택합니다.




Cisco Jabber가 정상적으로 동작하는 지 확인하기 
CallManager 서비스의 인증서가 바뀌고, 서비스를 재시작하여도 기존의 Cisco Jabber가 정상적으로 동작하는 지를 확인합니다. 인증서가 바뀌었지만, 정상적으로 동작하는 것을 확인합니다. 




Cisco Jabber가 암호화 모드에 있을 경우에 인증서가 재생성되면 정상적으로 등록하지 못합니다. CTL 파일이 새로운 Call Manager 인증서에 의해 서명되었기 때문입니다. 그래서 시스코 재버는 새로운 CTL파일을 다운로드하지 못합니다. 수동으로 전화기에서 ITL 파일을 삭제하면 되지만, 전화기가 많은 경우에 불가능합니다. 이때 사용하는 것이 "utils itl reset localkey"  입니다. 자세한 사항은 역시 4장에서 확인할 수 있습니다. 


 CUCM 12.0 부터는 CTL 파일이 처음부터 CallManager 키가 아니라 ITL Recovery키로 되어 있으므로 별도의 명령어없이 시스코 재버가 자동으로 등록됩니다. 





ITL Recovery 인증서를 다른 클러스터로 옮기기 위해 인증서 다운로드
테스트를 위해 인증서를 재생성하기 위해 "Cisco Unified OS Administration"웹에 접속한 후 메뉴바에서 "Security >> Certification Management"를 선택합니다. 그리고, ITL Recovery 파일을 쉽게 찾기 위해 "ITL"로 검색합니다. 



"ITLRECOVERY_ucm1.dcloud.cisco.com" 파일을 클릭하여 "Generate"를 서택합니다. 




인증서가 정상적으로 생성되었습니다.




생성된 ITLRECOVERY 인증서를 확인합니다. 


 


인증서를 클릭합니다. "Downlaod .DER file"을 클릭하여 파일을 다운로드합니다. 




다른 CUCM 클러스터에 인증서 업로드

지금까지 CUCM1이라는 클러스터에서 작업했습니다. ITLRECOVERY 파일을 ucm1 클러스터로 옮기겠습니다.  "Cisco Unified OS Administration"웹에 접속한 후 메뉴바에서 "Security >> Certification Management"를 선택합니다. 그리고, ITL Recovery 파일을 쉽게 찾기 위해 "ITL"로 검색합니다. ITL RECOVERY인증서가 ucm1 클러스터의 파일임을 확인합니다.




"Upload Certificate/Certificate chain"을 클릭한 후 "Certificate Purpose" 부분에서 "Phone-SAST-trust" 트러스트 스토어를 선택하고, ITL Recovery 키를 찾습니다. 




정상적으로 업로드 되었음을 확인합니다.




"Close" 를 선택한 후에 인증서가 cucm1의 ITLRECOVERY 키로 변경되었음을 확인합니다. 




ITL 파일이 변경되었으므로 CTL 파일 업데이트를 진행해야 합니다. 명령어는 다음과 같습니다.


utils ctl update CTLFIle


그리고, "show ctl"로 변경 여부를 확인합니다. 





CTL 파일이 변경되었으므로 다시 Callmanager 서비스를 재시작합니다. 


마치며
역시 이렇게 하면 됩니다라고 간단하게 명령어만 적어 놓는 것보다 Step-by-Step으로 하는 것이 이해하기 수월할 것입니다. 이제는 CUCM 클러스터 변경시에 ITL REcovery키를 이동시켜서 진행해보시기 바랍니다. 



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