본문 바로가기

Secure UC

[연재] CUCM 11.5 에서 Secure UC 구현하기 - 4. CUCM 보안관련 문제 정리

글 싣는 순서

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


시작하며
이번 연재의 시스코 보안과 관련된 몇 가지 사례들을 외전형식으로 묶었습니다.  


1. CUCM Mixed Mode의 특징은 무엇인가?
CUCM은 관리자의 의도와 상관없이 기본적으로 "Security By Default"기능이 적용되어 있습니다. 따라서, Non Secure Mode와  Mixed Mode의 차이는 TLS / SRTP를 적용할 수 있느냐 없느냐의 차이 뿐입니다. 전화기 펌웨어 및 구성정보는 모두 서명된 것만 이용할 수 있도록 되어 있습니다. 


2. Tokenless CTL 을 사용하는 환경에서 다시 비보안 모드로 전환하려면?  
CUCM 10.0 부터 소개된 명령어로 다음 세가지입니다. 

  • utils ctl set-cluster mixed-mode
    CUCM 클러스터를 Mixed Mode로 전환하며, 자동으로 CTL 파일을 생서합니다.

  • utils ctl set-cluster non-secure-mode
    CUCM 클러스터를 일반 모드로 전환하며, CTL 파일을 폐기합니다.

  • uilts ctl update CTLFile
    CUCM 클러스터내의 인증서 갱신이 발생했을 때, CTL 파일을 업데이트합니다.

3. TFTP 서버 장애 시 "Security by Default" 문제 해결 방법은 있나요?
CUCM의 TFTP 서버가 변경될 경우에는 전화기들이 TFTP 서버를 신뢰하지 못하여 구성정보를 받지 못할 수 있습니다. 예를 들면, 다른 곳에서 사용하던 전화기를 가지고 왔을 경우 새로운 전화기는 새로운 CUCM 클러스터에 등록되지 못합니다. 등록되도록 하기 위해서는 전화기가 가지고 있던 ITL 파일을 수동으로 삭제해야 합니다. 


TFTP 서버의 장애로 인해 변경될 경우를 생각해 보면 수천대에서 수만대를 수작업으로 ITL 파일을 파기할 수 없습니다. 그래서, 시스코 CUCM의 신규 설치 또는 업그레이드 시에 ITL Recovery Key를 생성하도록 하였으며, CUCM의 호스트 네임 또는 DNS 변경에도 ITL Recovery key가 변경되지 않도록 설계했습니다.

이런 대규모로 전화기들이 "Trust Update Filed"라는 메세지를 발생할 경우에는 다음과 같이 명령어를 이용합니다. 

"utils itl reset

위의 명령어는 ITL 파일의 TFTP 서명을 제거하고 ITL Recovery Key의 개인키로 서명을 한후 클러스터 내의 모든 TFTP로 전달합니다.  전화기들이 기존에 가지고 있는 ITL 파일내에는 ITL Recovery Key의 공개키 (Public Key)가 이미 전달되어 있습니다. TFTP 서비스가 자동으로 재시작하면서 새롭게 서명된 ITL 파일이 전화기로 전달되고 전화기는 인증서 검증이 가능해지므로 등록이 이루어집니다. 

ITL Recovery Key는 CUCM Publisher 에 있으므로 아래 같이 명령어를 사용합니다. 

admin:utils itl reset localkey
Enter CCM Administrator password :

Locating active Tftp servers in the cluster.....

Following is the list of Active tftp servers in the cluster

['test10pub', 'test10sub']
The reset ITL file was generated successfully


Transferring new reset ITL file to the TFTP server nodes in the cluster.........

Restarting Cisco Tftp service on host test10pub
Cisco Tftp service restarted on host test10pub
Successfully transferred reset ITL to node test10sub

Restarting Cisco Tftp service on host test10sub
Cisco Tftp service restarted on host test10sub


이런 일은 없겠지만, Publisher가 문제가 있거나 ITL Recovery Key 가 다른 서버에 있을 경우에는 Remote Key 명령어를 이용합니다. 


admin:utils itl reset remotekey joemar2-server.cisco.com joemar2
/home/joemar2/ITLRecovery.p12

Enter Sftp password :Processing token in else 0 tac
coutn is 1
Processing token in else 0 tac
coutn is 1



Enter CCM Administrator password :

Locating active Tftp servers in the cluster.....

Following is the list of Active tftp servers in the cluster

['test10pub', 'test10sub']
The reset ITL file was generated successfully


Transferring new reset ITL file to the TFTP server nodes in the cluster.........

Restarting Cisco Tftp service on host test10pub
Cisco Tftp service restarted on host test10pub
Successfully transferred reset ITL to node test10sub

Restarting Cisco Tftp service on host test10sub
Cisco Tftp service restarted on host test10sub


4. Device Pack 이 있는 데도 신규 전화기가 CUCM 클러스터에 등록되지 않아요?
아직도 이런 문제로 고민하는 분들이 있습니다. 원인인 시스코가 보안 강화를 위해 SHA1이 아니라 SHA2로 인증서를 서명하기 때문입니다. 새로운 Cisco Manufacturing 인증서가 MIC (시스코 공장에서 직접 설치한 인증서)로 탑재된 전화기들과 통신이 않되는 것이므로 기존 CUCM에 시스코 SHA2로 서명된 인증서를 업로드해야 합니다. 


새로운 인증서의 위치는 아래와 같습니다.

http://www.cisco.com/security/pki/certs/cmca2.cer

참고로 CUCM 10.5 이하 버전에서만 나오는 문제입니다. 인증서를 업로드할 trust store는 CAPF-trust 와 CallManager-trust 입니다. 



5. 루트인증서를 단말에 어떻게 삽입하나요?
참 복잡합니다. 기업의 CA 서버의 인증서를 모든 단말에 전달하는 방법을 생각해 보겠습니다.

  • 맥북
    .cer 인증서 파일을 클릭하면 "Keychain Access (키체인 접근)" 이 열립니다. 



    키체인 잠금 해제를 위해 어드민 계정으로 로그인합니다. "Trust" 항목을 확장하여 When using this certificate 항목을 "Always Trust"로 설정합니다. 




  • 윈도우즈
    .cer 인증서 파일을 클릭합니다. "Install Certificate" 항목을 선택한 후 "Place all cetificats in the following store" 선택하고, 지정 위치는 "Trusted Root Certification Authorities"로 지정합니다. 




    성공적으로 저장되면 다음과 같이 표시됩니다.




  • iOS (아이폰 및 아이패드)
    .cer 인증서를 이메일로 전송하여 열거나 사파리로 MS CA에 접속하여 직접 다운로드할 수 있습니다. 단말에서 직접 설치합니다.  

      


  • Android
    안드로이드 단말에서 인증서를 삽입하기 위해서 파일 확장자를 .cer 파일에서 .crt 로 변경해야 합니다. 그리고 이메일로 전달한 후 단말에서 직접 설치합니다.  

모든 기기를 일괄 배포하기 위해서는 AD에 연동되는 윈도우즈 단말들은 Policy Server 를 이용하면 됩니다. 


마치며
지금까지 이런 질문들이 많았습니다. 관련 질문들이 많아지면 다시 정리해봅니다.

참조자료

Security Guide for CUCM, Release 11.5(1) SU1

ITL Recovery Key에 대한 상세글


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