IIS 8.5의 인증서 리바인딩

등록일시: 2014-05-30 08:00,  수정일시: 2014-05-28 10:04
조회수: 7,373
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

본문에서는 갱신된 인증서를 자동으로 리바인딩해주는 IIS 8.5의 인증서 리바인딩 기능을 살펴봅니다. (IIS 8.5는 Windows Server 2012 R2와 Windows 8.1에서 지원됩니다.)

호환성

버전 비고
IIS 8.5 인증서 리바인딩 기능은 IIS 8.5에서만 사용할 수 있습니다.
IIS 8.0
IIS 7.5
IIS 7.0

내용

문제점

IIS 웹 사이트에 사용된 인증서가 만료되어 갱신되면 이 새로운 인증서를 웹 사이트에 리바인딩해야 합니다. 이 작업은 인증서가 자동으로 갱신되더라도 반드시 필요한 작업입니다. 그러나, 많은 사이트들과 인증서들을 운영하고 있는 관리자에게는 수작업으로 인증서를 리바인딩하는 작업이 대단히 번거로운 인증서 관리 업무가 될 수도 있습니다. 인증서가 만료됐음에도 불구하고 웹 사이트에 새로운 인증서가 리바인딩되지 않으면, 이 문제가 해결될 때까지 웹 사이트에 연결하는 클라이언트들은 인증서 만료에 대한 경고를 받게 되므로 사이트 이용에 거부감이 들게 만드는 원인이 될 수도 있습니다.

해결방법

IIS 8.5는 갱신된 인증서를 자동으로 리바인딩시켜주는 새로운 기능을 제공해줍니다. 인증서 리바인딩(Certificate Rebind)이라는 이름의 이 새로운 기능을 사용하면 갱신된 인증서가 웹 사이트에 자동으로 리바인딩 되는 것을 보장할 수 있습니다. 이 기능은 IIS 관리자의 서버 인증서(Server Certificates) 화면에서 서버에 존재하는 모든 HTTPS 웹 사이트들을 대상으로 한 번에 활성화시킬 수 있습니다.

인증서 리바인딩 기능은 Windows 8과 Windows Server 2012의 인증서 수명주기 알림 서비스(Certificate Services Lifecycle Notifications)라는 지원 메커니즘을 이용합니다. 이 메커니즘은 인증서 관련 작업이 발생할 때마다, 즉 새로운 인증서가 설치됐다거나 기존 인증서가 만료됐다거나 또는 인증서가 갱신됐다거나 할 때마다 시스템 이벤트를 생성합니다. 이 알림 메커니즘에 대한 보다 자세한 정보는 Certificate Services Lifecycle Notifications 기사를 참고하시기 바랍니다.

인증서 리바인딩을 활성화시키면 IIS가 시스템의 작업 스케줄러(Task Scheduler)에 새로운 작업을 등록하는데, 이 작업은 인증서 갱신 이벤트(이벤트 ID 1001)에 의해 트리거되도록 구성되어 있습니다. 이 이벤트가 발생하면 (가령 수작업으로 인증서를 갱신하거나 자동 등록을 통해서 인증서가 갱신되면), 스케줄에 등록된 작업이 IIS의 명령줄 도구인 appcmd.exe를 실행합니다. 이 때, appcmd에 만료된 인증서의 지문(Thumbprint)과 새로운 인증서의 지문이 매개변수로 전달됩니다. appcmd는 이 두 인자를 이용해서 만료된 인증서가 바인딩 된 웹 사이트들을 찾아내서 바인딩을 해제시킨 다음, 다시 해당 웹 사이트들에 새로운 인증서를 바인딩시킵니다. 만약, 자동 등록(Autoenrollment)을 통해서 인증서들이 자동으로 갱신되도록 설정되어 있고, 이 인증서 리바인딩 기능도 활성화되어 있다면 모든 과정이 자동으로 처리될 것입니다.

인증서 리바인딩을 처리해주는 스케줄 작업은 Windows 8이나 Windows Server 2012의 작업 스케줄러에서 확인할 수 있습니다. 먼저, 실행 창에서 taskschd.msc를 실행하거나 검색을 이용해서 작업 스케줄러를 실행합니다. 그리고, 좌측 패인의 작업 스케줄러 라이브러리(Task Scheduler Library) 트리 뷰에서 Microsoft 노드 하위의 Windows 노드를 열고, 그 하위의 CertificateServicesClient 노드를 선택합니다. 다만, 이 작업의 내용을 변경하는 것은 가급적 권장하지 않습니다. 또한, IIS 관리자에서 인증서 리바인딩 기능을 비활성화시키면 작업 스케줄러의 CertificateServicesClient에 등록된 관련 작업도 삭제됩니다.

굳이 IIS의 인증서 리바인딩 구성을 사용하지 않더라도, 직접 작업 스케줄러에 사용자 지정 작업을 등록해서 인증서 수명주기 알림 서비스의 이벤트를 활용해서 인증서를 관리할 수도 있습니다.

단계별 지침

갱신된 인증서의 자동 리바인딩 사용하기

  1. IIS 관리자를 실행합니다.
  2. 좌측의 연결(Connections) 패인에서 서버를 선택합니다. 인증서 리바인딩 기능은 서버 수준에서만 활성화시킬 수 있습니다.
  3. 메인 패인의 IIS 영역에서 서버 인증서(Server Certificates)를 마우스로 더블 클릭합니다.
    Server Certificates Pane
  4. 작업(Actions) 패인에서 갱신된 인증서의 자동 리바인딩 사용(Enable Automatic Rebind of Renewed Certificate) 링크 버튼을 클릭합니다.
    Server Certificates Actions Pane

요약

IIS 8.5의 인증서 리바인딩 기능을 이용하면 갱신된 인증서를 자동으로 웹 사이트에 리바인딩시킬 수 있습니다. 인증서 리바인딩 기능은 인증서 수명주기 알림 서비스가 생성하는 이벤트를 이용합니다. 그리고, 인증서 리바인딩을 처리해주는 스케줄 작업은 Windows 작업 스케줄러의 CertificateServicesClient 노드 하위에 생성됩니다.