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의 인증서를 등록하여야 합니다. (방화벽이 있다면 방화벽이 인증서를 대신 가지고 있어야 합니다. 내부 서버에 접근 못하게 하는 것이 방화벽의 역할이니까요.) 인증 기관에서 받은 파일을 사용하는 것이 아니라 서버에 등록된 인증서를 개인키 포함 내보내기 하여 사용해야 합니다.
Posted by 안혁 windfruit

Exchange Server 2007
OWA
Office Communication Server 2007
Office Communicator Mobile

2008. 1. 31.
안혁
http://hyok.kr



PDA에서 Outlook Web Access 또는 Office Communicator Mobile을 사용하려면 PDA에 인증서 체인이 설치 되어야합니다. 다음은 이를 위한 작업이며, Windows Mobile 5에서 테스트 되었습니다.

<추가 - 2009.08.29.> Windows Mobile 6 이상에서는 인증서 체인 파일을 실행하는 것만으로 설치가 가능합니다. 이후 버전에서 다음 방법은 불 필요한 것으로 생각됩니다.

<추가 - 2010.01.29.> 공인 인증서를 사용할 경우 클라이언트(PDA)에 인증서 체인을 설치할 필요가 없습니다. 서버에 사설 인증서를 등록한 경우, 해당 인증서를 발급한 사설 인증 기관을 클라이언트가 신뢰할 수 있도록 해당 기관의 인증서 체인을 설치하는 것입니다.

인증서가 설치 되어있는 컴퓨터를 사용하여 PDA용 인증서를 생성하겠습니다.
인터넷 익스플로어에서 인터넷 옵션에 보면 다음과 같이 인증서를 확인 할 수 있습니다.

사용자 삽입 이미지
PDA용으로 배포할 인증 기관을 선택하고 보기 버튼을 클릭합니다.

사용자 삽입 이미지
사용자 삽입 이미지
손도장 값이 필요합니다. 메모장에 복사하여 두세요. 그리고 '파일에 복사' 버튼을 클릭합니다.

사용자 삽입 이미지
파일 내보내기를 Base 64 인코딩으로 선택하여 임의의 폴더에 저장합니다.

사용자 삽입 이미지
저장된 파일의 내용을 보면 다음과 같은 형태로 만들어 집니다. 시작/끝 표시인 첫 줄과 마지막줄을 제외한 내용을 사용하게 됩니다.

사용자 삽입 이미지
손도장은 빈 칸을 제거하여 분홍색 사각형안에, 파일로 저장된 내용은 주황색 사각형 안에 넣어 _setup.xml이라는 이름으로 저장합니다.

사용자 삽입 이미지
다음은 XML 예제입니다.

<wap-provisioningdoc>

 <characteristic type="CertificateStore">

  <characteristic type="ROOT" >

   <characteristic type="bf989ed8test13fcd8b93491dtest2b9f52c992f">

    <parm name="EncodedCertificate" value="

MIIEjDCCA3SgAwIBAgIQdWJxG4Cbk7xFMnfAr33j4jANBgkqhkiG9w0BAQUFADBT

MRIwEAYKCZImiZPyLGQBGRYCa3IxEjAQBgoJkiaJk/IsZAEZFgJjbzEVMBMGCgmS

JomT8ixkARkWBXNpczIxMRIwEAYDVQQDEwlPQ1MyMDA3Q0EwHhcNMDcxMjIwMDEx

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

kiaJk/IsZAEZFgJjbzEVMBMGCgmSJomT8ixkARkWBXNpczIxMRIwEAYDVQQDEwlP

Q1MyMDA3Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4ick7NxUx

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

rQ9wJsb5801+ezx/tQitK9C77IxIkcOB7CwSD6LE96kn2x0H+qzsUuVkkDaajQut

635fRIbzyGoSgnTN0fmnqNUEWfVArX6fDQzXwCHnRISG0AKYvWSBWiZLLZfxSjx8

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

jrtHW6/WnVwtAgMBAAGjggFaMIIBVjALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw

AwEB/zAdBgNVHQ4EFgQUgq/HZ8E7miMZw0ccuzJG0T4TyogwggEDBgNVHR8Egfsw

gfgwgfWggfKgge+GgbVsZGFwOi8vL0NOPU9DUzIwMDdDQSxDTj1zLWVjcC1vY3Ms

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

PUNvbmZpZ3VyYXRpb24sREM9c2lzMjEsREM9Y28sREM9a3I/Y2VydGlmaWNhdGVS

ZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBv

aW50hjVodHRwOi8vcy1lY3Atb2NzLnNpczIxLmNvLmtyL0NlcnRFbnJvbGwvT0NT

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

BjKJ3HNFjABHkntl9Bjw9nmTFwKfD9COlyJhq0C7BTmLUWmetdxY2BL4nOpK6HhP

zYQ/Pt4kf0VW0+Xk3jW9d/uUyiaj5qD1zsbDvxKGsrWnELRggckJo6MaC2PkSzWA

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

Na6U5rgENKtIkUzIyeKBuJn9CreAlNwctrhxHXPIPe19N9qN5y/IUHbAuvYwTqj/

6b0wYYzK/0WC9h5Thbcux4eMWQyscjdl6rjCt82bm6CT59W1rtrGfu0xM+mVbQHX

hjozp317uONIdaxfkGxGTg=="/>

   </characteristic>

  </characteristic>

 </characteristic>

</wap-provisioningdoc>

저장된 XML을 사용하여 PDA에 인증서 체인 설치에 사용할 CAB 파일을 생성합니다.
명령어는 다음과 같습니다.

makecab _setup.xml rootcert.cab

커맨드 창에서 명령어를 실행하면 다음과 같이 진행됩니다.
 

사용자 삽입 이미지
이렇게 해서 생성된 rootcert.cab가 PDA용 인증서 설치 파일 입니다. 이 파일을 PDA에 복사하여서 실행하면 인증서가 설치됩니다.




Posted by 안혁 windfruit
이전버튼 1 이전버튼