Let's Encrypt 인증서 적용

무료 사용이 가능한 Let's Encrypt SSL 인증서를 웹메일과 SMTP/POP3/IMAP 서비스에 적용해 보다 안전한 보안 통신 환경을 제공할 수 있습니다.

일반적인 SSL 인증서는 매년 비용과 시간을 들여 재발행해서 웹메일에 적용하고, PEM 인증서로 변환해 메일캐리어에 재등록해야 지속적인 SSL 서비스가 사용 가능합니다. 이에 비해 메일캐리어가 지원하는 Let's Encrypt SSL 인증서를 사용하면 최초 발행 후 재발행 작업과 메일캐리어 용 PEM 인증서 변환 및 적용 작업을 완전히 자동화할 수 있습니다. 따라서 처음 설정 이후 유지 관리가 매우 쉬운 SSL 서비스 환경을 구축할 수 있습니다.

  Note

메일캐리어 7.5.3과 Windows Server 2012R2부터 적용 가능합니다.

웹메일 사이트를 HTTPS로 운영하지 않을 경우 다운로드 링크 방식의 첨부 파일과 수신 확인 기능이 정상적으로 동작하지 않을 수 있습니다. 웹메일 대용량 파일이 다운로드 되지 않는 문제를 참고 바랍니다.

웹메일 사이트에 SSL 적용

IIS에 웹메일 사이트가 아래와 같이 mail.tabslab.com 이라는 호스트 이름으로 바인딩 되어 있을 경우 mail.tabslab.com에 대한 SSL 인증서를 발급받아 https://mail.tabslab.com로 접속 가능하게 구성할 수 있습니다.

호스트 이름을 명시적으로 사용해 표준 HTTP 포트인 80 포트에 바인딩되어 있어야 SSL 인증서를 발행할 수 있습니다.

웹메일 사이트는 인터넷에서 접근할 수 있어야 합니다. 인트라넷과 같은 내부 환경에서만 접근 가능할 경우 인증서가 발행되지 않습니다.

아래 모든 설명은 웹메일 사이트 및 메일 서버 이름이 mail.tabslab.com라는 가정하에 진행됩니다.

letsenc 01

Let's Encrypt SSL 인증서는 90일간 유효하므로 90일 내에 재발급을 받아야 지속적으로 사용할 수 있습니다. 번거로운 발급/재발급 작업을 자동화하기 위해 win-acme 도구를 사용할 수 있습니다.

win-acme 사용

  • 해당 프로그램은 메일캐리어 설치 폴더 아래의 Tools\win-acme 폴더에 설치됩니다.

  • win-acme에 대한 추가적인 정보는 https://www.win-acme.com/ 사이트에서 확인할 수 있습니다.

SSL 인증서 발행

  1. 명령 프롬프트를 관리자 권한으로 실행한 후 wacs.exe를 실행합니다.

    명령 프롬프트
    C:\Users\Administrator>cd C:\Program Files\TABS\MailCarrier\7.0\Tools\win-acme
    C:\Program Files\TABS\MailCarrier\7.0\Tools\win-acme>wacs.exe
  2. 아래 메뉴에서 N: Create certificate (default settings)을 선택합니다.

    명령 프롬프트
    N: Create certificate (default settings)
    M: Create certificate (full options)
    R: Run renewals (0 currently due)
    A: Manage renewals (0 total)
    O: More options...
    Q: Quit
  3. IIS에 등록되어 있는 사이트 목록이 출력됩니다. 사이트 중 SSL 인증서를 적용할 사이트 번호를 선택합니다. mail.tabslab.com 사이트는 MC7 WebAccess라는 이름으로 운영되고 있으므로 1을 선택합니다. 사이트 번호는 시스템에 따라 다릅니다.

    명령 프롬프트
    1: MC7 WebAccess (1 binding)
    2: MC7 WebManager (1 binding)
  4. 선택한 사이트의 바인딩 목록이 출력됩니다. mail.tabslab.com이 바인딩 되어있고 이를 선택합니다.

    명령 프롬프트
    1: mail.tabslab.com (Site 1)
  5. Continue with this selection? 질문에 y를 입력하면 아래와 같이 인증서 발행이 진행되고 https 사이트 바인딩이 자동으로 등록됩니다.

    명령 프롬프트
    [mail.tabslab.com] Authorizing...
    [mail.tabslab.com] Authorizing using http-01 validation (SelfHosting)
    [mail.tabslab.com] Authorization result: valid
    Requesting certificate [IIS] MC7 WebAccess, mail.tabslab.com
    Store with CertificateStore...
    Installing certificate in the certificate store
    Adding certificate [IIS] MC7 WebAccess, mail.tabslab.com @ 2022-11-7 12:05:36 to store WebHosting
    Installing with IIS...
    Adding new https binding *:443:mail.tabslab.com
    Committing 1 https binding changes to IIS
    Scheduled task looks healthy
    Adding renewal for [IIS] MC7 WebAccess, mail.tabslab.com
    Next renewal scheduled at 2023-1-1 12:05:29
    Certificate [IIS] MC7 WebAccess, mail.tabslab.com created
  6. IIS 관리자에서 웹메일 사이트 바인딩 정보를 확인하면 아래와 같이 https 바인딩이 추가되어 있고 SSL 인증서가 등록되어 있는 것을 확인할 수 있습니다.

    letsenc 02

  7. https://mail.tabslab.com로 접속 가능한지 확인합니다.

주기적인 인증서 갱신

윈도우 작업 스케줄러를 실행하면 [win-acme renew (acme-v02.api.letsencrypt.org)] 라는 이름으로 작업이 생성되어 있는 것을 확인할 수 있습니다. 이 작업은 인증서가 만료되기 전 인증서를 자동 갱신시키며, 갱신된 인증서를 IIS 웹사이트에 재적용시킵니다. 인증서가 자동 갱신되므로 지속적인 https 사이트 운영이 가능해집니다.

갱신된 인증서를 메일캐리어에서 자동으로 가져와 사용하기 위해서는 아래와 같이 작업 실행 계정을 변경할 필요가 있습니다. 기본적으로 SYSTEM 계정으로 실행되는 것을 Administrator 계정으로 변경합니다.

letsenc 05

메일캐리어 서비스에 적용

메일캐리어 관리 도구를 실행시킨 후 [메일 서버/메일 수신 서버/Smtp수신1]을 선택한 후 [속성] 대화상자를 실행시킵니다.

대화상자에서 [보안 통신(SSL)] 탭을 선택합니다.

[서버 인증서 파일(.pem)]에 mail.tabslab.com.pem을 입력합니다. 반드시 인증서를 발행한 호스트이름.pem으로 지정해야 합니다.

[보안 통신(SSL)을 사용합니다]를 선택한 후 확인 버튼을 클릭합니다.

letsenc 04

설치 폴더 아래의 Cert 폴더에 mail.tabslab.com.pem 파일이 생성된 것을 확인합니다.

MailCarrier 7 SMTPR Service를 재시작시키면 SMTP 수신 서버 로그 파일에 아래와 같은 SSL 관련 로그가 기록됩니다.

SMTP 수신 서버 로그
13:25:58 99,99,The certificate(mail.tabslab.com.pem) has been loaded.
13:25:58 99,99,The certificate(mail.tabslab.com.pem) has been loaded for SMTP submission.

POP3/IMAP 서버의 경우도 동일하게 작업합니다.

각 서비스가 인증서를 올바르게 로딩할 경우 아래와 같은 로그가 기록됩니다.

POP3 서버 로그
13:37:07 99,99,The certificate(mail.tabslab.com.pem) has been loaded for POP3/TLS.
13:37:07 99,99,The certificate(mail.tabslab.com.pem) has been loaded for POP3/SSL.
IMAP 서버 로그
13:37:03 99,99,The certificate(mail.tabslab.com.pem) has been loaded for IMAP/TLS.
13:37:03 99,99,The certificate(mail.tabslab.com.pem) has been loaded for IMAP/SSL.

향후 Let's Encrypt SSL 인증서 갱신 시 갱신된 인증서가 자동으로 메일캐리어 서비스에 적용되므로 추가적인 작업은 불필요합니다.

  Note

POP3 서버에 SSL을 적용할 경우 995번 포트를 수신하며 IMAP 서버에 SSL을 적용할 경우 993번 포트를 수신합니다. 995/993 포트는 SSL 전용 포트로 방화벽에서 해당 포트를 개방해야 외부에서 접속할 수 있습니다. SSL 통신만을 사용하도록 강제하고 싶다면 110/143 포트는 닫고 995/993 포트만 개방하도록 합니다(권장 사항).

만약 메일 클라이언트 프로그램이 POP3 STLS/IMAP STARTTLS 명령(일반 통신과 보안 통신을 전환할 수 있는 명령)을 지원한다면 995/993 포트 개방없이 기존 110/143 포트를 기반으로 SSL 통신을 이용할 수 있습니다.