怎樣信任一個自簽名的證書
從第一部分的介紹,我們看到Exchange 可以在內部使用自簽名證書。爲了讓客戶端在訪問CAS的時候不報有關證書的安全警告,有必要讓用戶信任這個自簽名證書。記住,讓用戶忽視安全警告絕對不是個好注意。
圖一 顯示了我們訪問OWA時,不信任的證書。
Figure 1: 自簽名證書不被信任
有幾種方法讓用戶信任自簽名證書。我只說一種用戶不需要任何動作的方法,使用組策略發佈證書。每次更新證書的時候,這個步驟都要做一遍。
1. 導出自簽名證書
爲了導出自簽名證書,你可以使用cmdlet Export-ExchangeCertificate。因爲導出包含了私鑰,所以你要設個密碼,就像下圖中一樣,設定一個安全字符串變量 $pwd。 只有當你設定了私鑰是可導出的時候,這個自簽名證書纔可以導出。
Figure 2: Export Self-Signed certificate
2. Publish Self-Signed certificate as trusted via Group Policy
Figure 2: 導出自簽名證書
2. 使用組策略發佈自簽名證書
通過組策略來發佈一個導出的證書到用戶的個人存儲中是可能的。下面的例子中,我在域級別上新建了一個組策略
Figure 3: 新建並鏈接一個新的GPO到域
我給新的GPO起了個名字叫 信任自簽名證書,我並沒有使用任何GPO源.
Figure 4: 命名新的GPO
因爲我想要導入一個到處過的自簽名證書,我依次選擇 用戶配置,策略,Windows設置,公鑰策略,右鍵點擊 信任的人,然後開始證書導入嚮導
Figure 5: 啓動證書導入嚮導
選中剛剛用 Export-ExchangeCertificate導出的證書
Figure 6: 選中一個文件導入
下一步,輸入導出私鑰時使用的密碼.
Figure 7: 輸入私鑰的保護密碼
證書被放置在用戶的個人證書存儲中.
Figure 8: 選擇證書被放置的位置
點擊完成.
Figure 9: 完成證書導入
彈出了一個框,告訴我們證書導入成功完成
Figure 10: The import was successful
下次用戶登陸,或者組策略刷新後,這個自簽名證書就會被標註成信任了。你可以再訪問OWA的時候看到。
Figure 11: 自簽名證書被信任
從公共CA得到證書
儘管Exchange可以使用自簽名證書,客戶端也能信任它,但是你要記住前一部分寫的:
1. 自簽名證書有效期只能是一年
2. 自簽名證書只被頒發者信任
3. 自簽名證書不支持 Outlook Anywhere 和 Exchange ActiveSync
因此,我建議你從CA申請一張證書。你可以選擇自己創建CA,或者從公共的CA上申請。微軟建議在下述情況下從公共CA上申請證書:
· 外部訪問Exchange (POP, IMAP, Outlook Web Access, Outlook Anywhere, Exchange ActiveSync, Autodiscover)
· 如果你想要和夥伴組織建立域安全(setup Domain security with partner organizations )。
如果你從公共CA上申請證書,會省不少麻煩事,比如讓沒有加入域的用戶信任CA,夥伴組織要跟你的Exchange環境配置域安全。
微軟有一篇KB (爲 Exchange 2007 和 Communications Server 2007 統一的 Communications 證書夥伴 KB929395),上面列出了可以爲Exchange和OCS提供UCC證書的CA。
Didda注:UCC證書即爲SAN證書,多主機名證書。
什麼是公共CA?
公共的CA,通常是根CA,一個被主流的瀏覽器和應用程序信任的證書頒發者,因此,它不需要被配置信任。當你從考慮從公共的CA申請證書的時候,你要考慮這個CA是否被你現在使用的應用程序信任,也要考慮這個證書是不是你需要的(考慮名字,有效期等)
證書中要包含的名字
Looking at a certificate, and why a certificate is not accepted to be used for encryption and authentication by Exchange, it usually boils down to any of the following four reasons:
我們來看,當你一個證書不能被用來爲Exchange加密和做認證的時候,問題主要集中在以下方面:
1. 安全證書是被一個不信任的CA頒發的。
2. 證書被頒發機構撤消
3. 證書過期
4. 證書上的名字和期望的名字不匹配
一些應用程序,比如OWA,仍然允許你使用一個不被信任的證書,或者這個證書是頒發給另外的站點的,我們並不推薦忽略這些警告,因爲這可能有些人想要欺騙你,進而攔截你的數據。下面是IE7 所發出的警告。
Figure 12: 證書安全警告
如果證書有問題,Outlook Anywhere 和 Exchange ActiveSync 就不能正常工作 (Figure 13)
Figure 13: 因爲證書包含的名字和目的站點的名字不匹配,Outlook Anywhere不能夠連接
讓我們來看看CAS的證書要包含哪些名字。
· CAS主機的NetBIOS名字
· CAS的FQDN名
· Exchange 自動發現域名
· 發佈Outlook Web Access, Outlook Anywhere, Exchange ActiveSync, Pop, and/or IMAP 到外部時用的名字。
HuB/Edge 所要使用的安全證書需要包含的名字
· Hub Server 的 FQDN 名。
· 所有接受域的域名。
至於UM服務器,你只需要將UM的FQDN名加入就可以了
模擬場景
假象你有如圖所示的環境
.
Figure 14: Exchange 組織示例
在這個環境中,你需要通過ISA發佈OWA和 outlook Anywhere, 郵件通過Edge 服務器發送和接收,ISA和Edge 都處在DMZ區域,Exchange 負責兩個Domain:ProExchange.Global 和 BelgianBeers.Rock。你已經同意和兄弟組織 Sunshine.Edu 建立 Domain Security. EdgeSync 負責把設置在Hub和Edge之間同步。你想要申請兩個證書,一個用來發布 OWA和Outlook Anywhere, 另外一個用來和Sunhine.Edu 建立 domain security.
Table 1 在這個環境中的Exchange服務器和它的角色。
FQDN Exchange Server | Exchange Server 2007 Sp1 (RU5) roles installed |
Edge.ProExchange.dmz | Edge Server role |
Ex2007EE.ProExchange.Global | Mailbox + Client Access + Hub Transport server role |
Ex2007SE.ProExchange.Global | Unified Messaging server role |
.Table 1
表二概括了訪問Exchange 要用到的 URL.
Connecting to | Connecting with HTTP(s) | Connecting using RPC |
Outlook Web Access | https://webmail.proexchange.global https://webmail.belgianbeers.rock | https://Ex2007EE.proexchange.global |
Outlook Anywhere | https://webmail.proexchange.global | https://Ex2007EE.proexchange.global |
Free and Busy information | https://webmail.proexchange.global/EWS/Exchange.asmx | https://Ex2007EE.proexchange.global/EWS/Exchange.asmx |
Download OAB | http://webmail.proexchange.global/OAB | http://Ex2007EE.proexchange.global/OAB |
Change Unified Messaging settings | https://webmail.proexchange.global/UnifiedMessaging/Service.asmx | https://Ex2007EE.proexchange.global UnifiedMessaging/Service.asmx |
Autodiscover | https://autodiscover.proexchange.global/autodiscover/autodiscover.xml https://autodiscover.belgianbeers.rock/autodiscover/autodiscover.xml | https://Ex2007EE.proexchange.global/Autodiscover/autodiscover.xml |
Table 2: URL's
通過cmdlet, 我們也能夠得到 Exchange web service 提供的URL.
Figure 15: 內部和外部的URL配置
Table 3 DNS上要註冊的信息
Name | Type | Data |
Autodiscover.ProExchange.Global | Alias (CNAME) | Webmail.ProExchange.Global |
Autodiscover.BelgianBeers.Rock | Alias (CNAME) | Webmail.BelgianBeers.Rock |
Webmail.ProExchange.Global | Host (A) | External IP ISA Server |
Webmail.BelgianBeers.Rock | Host (A) | External IP ISA Server |
ProExchange.Global | Mail Exchanger (MX) | [10] Edge.ProExchange.Dmz |
BelgianBeers.Rock | Mail Exchanger (MX) | [10] Edge.ProExchange.Dmz |
Edge.ProExchange.Dmz | Host (A) | External IP Edge Server |
Ex2007SE.ProExchange.Global | Host (A) | 10.10.10.102 |
Ex2007EE.ProExchange.Global | Host (A) | 10.10.10.101 |
Table 3: DNS 上註冊的信息
爲了安全的訪問OWA和發佈 Outlook Anywhere,下面的名字會被內部CAS的證書使用,並且要導出到ISA上
· Common Name = Webmail.ProExchange.Global, Outlook Anywhere 要求common name 和外部主機名要一致。
· Subject Alternative Names:
Webmail.ProExchange.Global
Webmail.BelgianBeers.Rock
Autodiscover.ProExchange.Global
Autodiscover.BelgianBeers.Rock
Ex2007EE.ProExchange.Global
Ex2007EE
Ex2007SE.ProExchange.Global
Ex2007SE
To enable EdgeSync, offer opportunistic TLS and configure domain security with your partner organization Sunshine.Edu, you need a certificate for your Microsoft Exchange Edge server role with the following names:
· Common Name = Edge.ProExchange.Dmz
· Subject Alternative Names:
ProExchange.Global
BelgianBeers.Rock
在第三部分,我會提供你詳細的步驟來創建一個包含多主機名的證書,並且教你如何導入並啓用它