글 싣는 순서

       1. Service Discovery 의 이해
       2. Service Discovery 설정하기 

       3. Cisco Jabber for Windows 설치 및 인증서 관리

       4. Cisco Expressway 의 이해

       5. Cisco Expressway 설치 및 기본 설정하기
       6. Cisco Expressway 클러스터링 및 CUCM 연동
       7. Cisco Expressway 에 인증서 주입하기 
       8. Cisco Expressway 에서 Traversal Zone 구성하기 
       9. 사외에서 웹서버를 이용해 사진 추가하기
      10. Cisco Jabber 9.5 에서 URI Dialing 구성하기


시작하며

시스코 CUCM은 인증 서버 기능인 CAPF 기능을 이용하여 시스코 IP Phone 및 영상회의 단말에 대한 인증 기관 (Certificate Authority) 역할을 수행합니다. CAPF는 시스코 제품 기반의 Secure IP Telephony를 구현하여 TLS / SRTP를 구현할 때는 효과적이지만, 그외 CUCM의 기타 서비스나 3rd Party 솔루션 연동을 위한 인증 기관 역할을 수행하지 않아 불편합니다. 


따라서 기업의 보안 강화를 위해 인증 기관 역할을 수행할 인증서버를 갖추어야 합니다. 만일 인증서버가 없다면, 모든 장비들과 기기들이 Self-signed Certificate를 사용으로 다수의 루트 CA가 존재하는 구조가 만들어져 인증서 관리를 매우 복잡하게 합니다. 


인증 기관 역할을 하는 인증서버가 제대로 구축되지 않은 환경에서 어떤 문제를 야기하는 지를 Cisco Jabber For Windows 10.5를 설치하면서 살펴 보겠습니다.



Cisco Jabber for Windows 설치
Cisco Jabber for Windows 10.5 버전을 설치하기 전에 Service Discovery 설정을 하였다면, 설치 및 최초로그인 과정이 단순해질 것입니다. 설치 파일을 이용하여 설치를 시작합니다. 



 

"Accept and Install" 버튼을 클릭하면 바로 설치를 완료합니다. 




"Launch Cisco Jabber"를 선택하였으므로 자동으로 시스코 재버 (Cisco Jabber)가 시작합니다. 시스코 재버가 시작하면 사용자명과 패스워드를 입력하고 Sign In을 시도합니다. 




시스코 재버가 동작하기 위해 CUCM 및 CUCM IM&P와 통신을 시작하면서 서버가 전송해준 인증서를 검증할 수는 없다는 메세지와 함께 승인여부를 묻습니다.  


 

  


모든 CUCM 서버가 Self-signed Certificate을 보내주기 때문에 인증서 검증이 제대로 이루어지지 못하는 것입니다. 즉, Self-Signed Certificate를 검증하기 위한 Root CA의 인증서를 PC가 가지고 있지 못하기 때문입니다. 


Winodws OS의 인증서 관리
윈도우즈 OS에서 사용하는 인증서를 확인하기 위해 cmd 창에서 "certmgr"을 입력하면 "인증서 관리자" 창이 뜹니다. 아래 사진은 Cisco Jabber 를 로그온하기 전과 후의 상태입니다.  


 


최초 로그온 전에는 인증서가 없었지만, 최초 로그온한 후에는 CUCM 인증서가 설치되어 있습니다. "Certificate Not Valid" 창에서 "Accept"를 클릭하면서 인증서를 수동으로 승인하였기 때문입니다. Self-Signed Certificate를 검증하기 위해서는 모든 기기와 단말에 대한 인증서를 모든 기기가 공유해야하는 문제점이 있습니다. 


이런 문제를 해결하는 방법을 살펴보겠습니다. 즉, 최초 로그온 시에만 표시가 되긴 하지만 이창을 뜨지 않도록 설정하여 PKI 기반의 보안 강화를 하도록 하여 "Certificate Not Valid" 창이 뜨지 않도록 해보겠습니다. 



Root CA 인증서를 CUCM에 주입하기
Root CA 인증서를 다운로드하는 방법은 아래 글을 참조하시기 바랍니다.


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


다운로드한 Root CA 인증서를 CUCM에 주입하기 위해 "Cisco Unified OS Administation" 페이지로 이동합니다.  CUCM의 인증서 관리는 " Security >> Certificate Management"에 있습니다. 



"Upload Certificate / Certificate Chain"를 선택하여 Root CA의 Certificate를 주입합니다. 



위의 그림에서 CA의 인증서는 항상 "-trust"에 업로드합니다. CUCM과 Jabber는 Tomcat 서비스를 이용하여 통신하므로 "tomcat-trust"에 Root CA의 인증서를 주입합니다. 


CUCM의 Publisher의 Tomcat-trust에 업로드된 인증서는 자동으로 클러스터 내의 모든 CUCM Subscriber로 재분배되므로 따로 업로드할 필요가 없습니다. 


아래 그림에서 Root CA의 인증서가 Tomcat-trust에 업로드가 된 상태를 확인합니다.





CUCM에서 CSR 생성하기
CSR을 추출하는 하기 위해 "Generate CSR"을 하면 아래와 같은 창이 나타납니다. CUCM 10.0 이하 버전에서는 아래와 같은 창이 없이 인증서 추출이 필요한 서비스만을 선택합니다. 아래 창은 CUCM 10.5 입니다. 



옵션은 다음과 같이 선택한 후에 "Generate"를 클릭합니다. 

  • Certificate Name : tomcat 을 선택

  • Distribution : multi-server(SAN)를 선택

  • Key Length : 2048

  • Hash Algorithm : SHA256 


여기서 multi-server(SAN) 옵션에 대해 살펴보겠습니다. SAN은 Subject Alternate Name의 약자로 X.509 인증서 확장에 정의 되어 있습니다. SAN은 다수의 FQDN, 호스트네임 등을 포함할 수 있습니다. 즉, 인증서의 Subject Name 또는 SAN 필드에 다수의 FQDN이나 호스트네임이 포함하므로 각 서버별로 인증서를 별도로 받을 필요가 없습니다. CUCM의 Tomcat, CallManager, cup-xmpp, cup-xmpp-s2s 서비스는  SAN을 지원합니다. 위의 그림에서 보듯이 한꺼번에 4대에 대한 tomcat 서비스 인증서를 SAN으로 CSR을 생성합니다. 


CSR을  CA로 부터 서명받은 후 업로드하게 되면 클러스터 내의 모든 서버로 자동으로 분배됩니다. 이제 CUCM 클러스터내의 모든 서버에서 개별적으로 받지말고 한번에 처리할 수 있습니다. . 


생성 시에 CUCM Publisher와 Subscriber가 다른 관리자 이름과 패스워드을 사용할 수 있으므로 따로 입력 합니다.  

 




CSR이 성공적으로 추출되면 아래와 같은 메세지가 나타납니다.




CUCM에서 CSR 다운로드하기

창을 닫은 후에 방금 생성한 tomcat CSR을 다운로드 합니다. 



"Download CSR"을 클릭하여 파일을 다운로드 합니다. 




다운로드한 파일명은 tomcat.csr로 동일하므로 항상 파일명을 변경합니다.  파일명은 이해하기 쉽게 호스트네임과 CUCM 서비스명을 함께 명기하는 것이 좋습니다. 


tomcat CSR 파일을 노트패드를 이용하여 오픈합니다. 



노트패드 (Notepad)로 파일을 오픈하였지만 아래 처럼 보기가 어렵게 되어있을 경우 메뉴바에서 "Format >> Word Wrap"을 선택하면 아래 그림처럼 보기 좋게 됩니다. 





마이크로소프트 CA 서버에서 인증서 받기
마이크로소프트 CA 서버에 접속하기위해 웹브라우저에서 "http://<CA  IP주소>/certsrv" 를 입력합니다. 




"Request a certificate"를 선택한 후에 "Advanced certificate request"를 클릭합니다.






노트패드로 오픈한 CSR 파일의 내용을 Contol-c 와 Contol-v 로 카피앤 페이스트하고, Certificate Template는 Web Server를 선택합니다. 


"Submit"을 선택하면 아래 그림이 나타납니다. "Base 64 encoded"를 선택한 후에 "Download certificate"를 선택합니다. 



파일을 다운로드 합니다. 아래 그림에서 처럼 CA 서버도 certnew.cer 이라는 항상 같은 파일명으로 인증서를 발급하므로 파일명을 꼭 변경해야 합니다. 





tomcat 인증서를 CUCM에 업로드하기
인증서 업로드는 다운로드의 반대 과정입니다. CUCM에서 "Cisco Unified OS Administration 페이지로 이동합니다. "Security >> Certificate Management"로 접속한 후에 "Upload Certificate/Certificate chain"을 선택합니다.



Certificate Name은 tomcat을 선택한 후 파일을 지정합니다. 




"Upload File"파일을 선택한 후에 관리자 이름과 패스워드를 입력합니다. 



인증서 업로드가 성공적으로 완료되었다는 메세지가 나타납니다. 



위의 성공적인 업로드 메세지에 보시면, CUCM 클러스터 내의 모든 CUCM 및 IM&P 서버에서 CLI를 이용하여 "utils service restart Cisco Tomcat"라는 명령어로 Restart 할 것을 권고합니다. 웹브라우저를 이용하거나 CLI를 이용하거나 상관없이 Tomcat 서비스를 재시작합니다.





CUCM IM&P에 XMPP서비스 인증서 주입하기

Tomcat 서비스에 대한 인증서 업로드를 완료하였고, 이제는 XMPP를 위한 인증서 주입을 하겠습니다. 과정은 동일하므로 혼동되는 부분만 살펴보겠습니다. 전체적인 과정을 먼저 정리합니다.


  • Root CA 인증서를 CUCM IM&P의 cup-xmpp-trust 에 주입

  • cup-xmpp 서비스를 위한 CSR 생성

  • cup-xmpp 서비스를 위한 CSR 다운로드

  • 마이크로소프트 CA에서 CSR을 이용하여 인증서 생성

  • 마이크로소프트 CA에서 인증서 다운로드

  • CUCM IM&P의 cup-xmpp 서비스에 인증서 주입

  • CUCM IM&P에 CLI로 접근하여 "utils service restart Cisco XCP Router"로 재시작


XMPP 서비스에 대한 인증서 주입 시에 혼동되는 부분은 tomcat 설치에 사용된 값을 준용합니다.



PC에 Root CA 인증서 주입하기
실제 구축 시에는 사용자 PC에 일일히 주입할 수 없으므로  AD서버의 Group Policy 를 이용하여 한꺼번에 설치합니다만, 한대만 설치하기 때문에 수동으로 합니다.


PC에 Root CA 인증서를 받기 위해서는 마이크로소프트 CA에서 직접 다운로드하거나 CUCM에 업로드를 위해 다운로드 받았던 파일을 활용해도 상관없습니다. RootCA 인증서를 더블 클릭하면 아래 그림이 나타납니다.




"Install Certificate"를 클릭하면 "Certificate Import Wizard" 창이 나타납니다. 




"Next"를 선택합니다. 



 

"Place all certificates in the following store" 와 "Trusted Root Certification Authorities"를 선택한 후에 "Next"를 클릭합니다. 




"Finish"를 선택하면 Root CA 인증서를 PC에 주입이 완료됩니다. 




인증서 주입이 완료되었는 지를 확인하기 위해 CMD 창에서 "certmgr"을 입력합니다. 인증서 관리자에서 "Trusted Root Certification Authorities >> Certificates"를 선택합니다. 방금 업로드한 Root CA의 인증서가 있는 지를 확인합니다. 




마치며

다른 사용자 PC에 Cisco Jabber for Windows 를 설치합니다. 인증서 주입을 완료한 후 더이상 "Certificate Not Valid" 창이 뜨지 않을 것입니다.


소소하지만 PKI 기반의 인증서 관리로 Cisco Jabber를 더욱 안전하게 사용할 수 있습니다.



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


Posted by 라인하트

댓글을 달아 주세요



티스토리 툴바