본문 바로가기

Exchange Server 2007,2010

Exchange 2007 HTTPS를 위한 인증서 발급

Exchange Server 2007
2008. 11. 28.
안혁
http://hyok.kr



Exchange Server 2007을 설치하면 기본 인증서가 있지만 새로운 인증서로 등록해야할 필요가 있습니다. Exchange Management Shell(이하 EMS)을 사용하여 인증서 요청 문서를 생성하고, 발급받은 인증서를 등록할 수 있습니다.

New-ExchangeCertificate -GenerateRequest -SubjectName "cn=autodiscover.hyok.kr" -DomainName "owa.hyok.kr", "ah-ex.hyok.kr", ah-ex, autodiscover.hyok.kr, autodiscover -PrivatekeyExportable $True -Path c:\certreq_new.txt

EMS에서 위 명령을 실행하면 c:\ 위치에 certreq_new.txt라는 이름으로 인증서 요청 문서가 생성됩니다.

-SubjectName 뒤에 오는 것은 주체 이름이라고 불려지는 항목이며, 이 FQDN에 대하여 인증서를 발급 요청하는 것입니다. 즉, 발급되는 인증서는 autodiscover.hyok.kr에 HTTPS 접속하는 것에 대하여 인증하는 역할을 하게 됩니다.

Outlook 2007에서 Exchange 연결 프로필을 생성할 때 메일 주소를 입력하라고 하는데, 예를 들어 anhyok@hyok.kr이라고 메일 주소를 입력했다면, Exchange Server의 정보를 확인하기 위하여 https://autodiscover.hyok.kr/autodiscover/autodiscover.xml에 정보를 요청합니다. 이 기능은 사용자가 서버 정보를 몰라도 연결 설정을 할 수 있다는 기능입니다. https 요청이므로 이를 위해서 Exchange Server에 등록되는 인증서는 autodiscover.hyok.kr을 주체 이름으로 하여 발급해야 합니다.

-DomainName 뒤에 오는 것은 SAN(Subject Alternative Name)이라고 불려지는 주체 대체 이름입니다. 공인 인증 기관에서 인증서를 발급 받으려면 비용이 발생하는데, a.hyok.kr, b.hyok.kr, c.hyok.kr 등 모든 FQDN을 위해 인증서를 발급한다면 비용에 대하여 걱정하지 않을 수 없을 것입니다. 하나의 인증서에 여러 개의 FQDN을 넣을 수 있도록 인증서를 발급할 수 있으며 이 FQDN들을 SAN이라고 합니다. 위의 경우 autodiscover.hyok.kr 이외이도 owa.hyok.kr, ah-ex.hyok.kr 등 여러가지에 대하여 인증서가 사용될 수 있도록 요청하였습니다.(ah-ex는 Exchange Server의 컴퓨터 이름입니다.)

SAN 첫번째 항목으로 owa.hyok.kr을 입력하였습니다. OWA에 접속할 때 https://autodiscover.hyok.kr/owa라고 해서 접속할 수 있겠지만, 사용자들은 이러한 경로보다는 https://owa.hyok.kr/owa 또는 https://webmail.hyok.kr/owa 등과 같은 이해하기 쉬운 주소를 선호할 것입니다. 이를 위해서 SAN에 owa.hyok.kr을 추가했습니다. 이와 같은 경우가 얼마든지 발생할 수 있기 때문에 SAN이 존재한다고 할 수 있습니다.

ISA 2006이라는 방화벽 솔루션은 주체 이름과 첫번째 SAN만을 통과시켜주도록 디자인되어 있습니다. 이 방화벽 없이 접속할 때는 모든 SAN으로 접속해도 인증서가 작동하지만  ISA 2006을 통하여 접근하게 되면 주체 이름과 첫번째 SAN만을 통과 시킵니다. 이는 오류가 아니라  계획된 설계라고 합니다.(http://blogs.technet.com/isablog/archive/2007/08/29/certificates-with-multiple-san-entries-may-break-isa-server-web-publishing.aspx)

하지만 다행히도 ISA 2006 SP1에서는 Multiple SAN을 지원한다고 합니다.(2008. 12. 09. 추가)(http://blogs.technet.com/isablog/archive/2008/05/23/isa-server-2006-service-pack-1-features.aspx)

SAN에 한 번 더 autodiscover.hyok.kr이 나오는데, 없을 경우 Outlook 2007 프로필 생성 시 인증서 오류가 발생합니다. 이에 대하여 정확한 이유는 모르겠습니다만, 주체 이름 및 주체 대체 이름에 넣으므로 해결이 되기에 이렇게 설정하고 있습니다.

c:\certreq_new.txt을 사용하여 인증 기관에서 인증서를 받았다면 다음의 명령으로 이 인증서를 가져오기 합니다.

Import-exchangeCertificate -path c:\certnew.cer

발급 받은 인증서의 파일 이름은 certnew.cer이라고 가정하였습니다.

Exchange Server에 인증서를 등록할 때 인증서의 Thumbprint가 필요합니다. 현재 가지고 있는 인증서 목록을 다음의 명령으로 확인합니다.

Get-ExchangeCertificate

명령을 실행하면 인증서 목록이 출력되며, 각각의 Thumbprint를 확인할 수 있습니다. 가장 최근에 가져오기 한 인증서가 가장 위에 출력됩니다. Thumbprint를 복사해둡니다.

Enable-ExchangeCertificate -Services "IMAP, POP, IIS, SMTP"

위 명령으로 인증서를 설정합니다. 실행하면 어떤 인증서를 사용할 것이냐고 묻기 때문에 방금 복사해둔 Thumbprint를 입력하면 해당 인증서를 사용하는 것으로 설정됩니다.

 ISA Server를 사용하는 경우, ISA Server에도 Exchange Server의 인증서를 등록하여야 합니다. (방화벽이 있다면 방화벽이 인증서를 대신 가지고 있어야 합니다. 내부 서버에 접근 못하게 하는 것이 방화벽의 역할이니까요.) 인증 기관에서 받은 파일을 사용하는 것이 아니라 서버에 등록된 인증서를 개인키 포함 내보내기 하여 사용해야 합니다.