使用Microsoft Forefront TMG 2010作為安全Web網(wǎng)關(guān)
公司在建立安全策略時,一個主要目標(biāo)就是使員工能夠更安全地瀏覽 Internet。當(dāng)然,這涵蓋了非常廣闊的領(lǐng)域并涉及到多種要求,例如:
- 確保用戶遵守公司有關(guān) Internet 訪問的策略。
- 檢查通信情況并阻止?jié)撛诘膼阂廛浖涂梢苫顒印?/li>
- 告知最終用戶其 Web 通信受到檢查。
幸運(yùn)的是,使用 Microsoft Forefront Threat Management Gateway (TMG) 2010 中的安全 Web 網(wǎng)關(guān)功能可以幫助您滿足這些目標(biāo)。圖 1 顯示了可用于實(shí)現(xiàn)安全 Web 訪問網(wǎng)關(guān)的主要 Forefront TMG 2010 功能:
圖 1 用于安全 Web 網(wǎng)關(guān)方案的核心 Forefront TMG 2010 功能
在圖中可以看到,F(xiàn)orefront TMG 使用了三個主要的云組件:Microsoft Update、Telemetry Service 和 Microsoft Reputation Service (MRS)。Microsoft Update 用于更新反惡意軟件工具和 Network Inspection System (NIS) 簽名。Microsoft 惡意軟件響應(yīng)團(tuán)隊使用由 TMG 提供的遙測報告來了解發(fā)現(xiàn)了哪些攻擊,并據(jù)此提高簽名質(zhì)量。MRS 維護(hù)了一個巨大的分類 URL 數(shù)據(jù)庫,供 Forefront TMG 2010 查詢。
本文將著重介紹 URL 篩選和 HTTPS 檢查。在之前的 TechNet 雜志 2009 年二月的文章中已深入討論了惡意軟件檢查,該功能在 Forefront TMG 2010 中沒有改變。
使用 URL 篩選帶來更安全的瀏覽體驗(yàn)
URL 篩選可以看作是 Forefront TMG 的第一道防線,用于幫助確保組織的 Web 訪問安全。通過使用 URL 篩選來阻止對不良網(wǎng)站的請求,F(xiàn)orefront TMG 可花費(fèi)更少的時間來掃描惡意軟件,從而有更多時間來傳送有用的內(nèi)容。
URL 篩選由兩個主要部分組成:用于評估 Web 請求的 Web 代理篩選器,以及提供類別定義的 MRS,后者供篩選器用于確定如何對請求分類。下面是針對 Web 請求的簡化處理形式:
- Web 應(yīng)用程序通過 TMG 發(fā)送對“http://malware.contoso.com/nefarious”的請求。
- Web 代理篩選器通過 URL 篩選傳遞請求。
- URL 篩選將整個請求拆分為不同部分。在本例中,這幾個部分將為下列內(nèi)容:
- Com
- Contoso.com
- Malware.contoso.com
- Malware.contoso.com/nefarious
- URL 篩選在本地 URL 類別緩存中查找各個部分。
注意:如果請求無法與本地緩存中的 URL 類別匹配,則 URL 篩選將查詢 MRS。如果 MRS 返回“未知”,或者無法訪問 MRS,則 URL 篩選向 Web 代理篩選器返回“未知”響應(yīng)。
- URL 篩選知道與各個 URL 部分相關(guān)聯(lián)的類別后,即可確定將應(yīng)用到整個 URL 的類別。為此,TMG 使用由 MRS 提供的預(yù)定義優(yōu)先順序列表,告知 TMG 哪些類別優(yōu)先。例如:
- Com = 未知
- Contoso.com = 常規(guī)業(yè)務(wù)
- Malware.contoso.com = 惡意軟件
- Malware.contoso.com/nefarious = 未知
- 如果得到的 URL 類別集與某個拒絕規(guī)則匹配,則將拒絕請求,并將一個錯誤響應(yīng)返回到 Web 應(yīng)用程序。
- 如果 URL 類別不與拒絕規(guī)則匹配,而是與某個允許規(guī)則匹配,則根據(jù)匹配規(guī)則的其余條件處理請求。
- 如果請求無法與用戶創(chuàng)建的任何拒絕規(guī)則或允許規(guī)則匹配,則 TMG 規(guī)則將由默認(rèn)拒絕規(guī)則處理,并將拒絕響應(yīng)返回到 Web 應(yīng)用程序。
從統(tǒng)計角度而言,由于用戶具有 Web 使用習(xí)慣傾向,因此隨著 Forefront TMG 不斷處理用戶請求,URL 類別緩存與組織的相關(guān)度將越來越高。這樣,MRS 查詢與用戶請求的比率最終將降低。由于 URL 類別有可能改變,因此 MRS 為每個條目分配了一個生存時間。這樣,MRS 請求數(shù)永遠(yuǎn)不會完全為零,即使用戶始終訪問相同站點(diǎn)。
若要徹底了解 URL 篩選如何工作,還必須了解 Web 應(yīng)用程序如何創(chuàng)建連接和發(fā)出請求。Web 應(yīng)用程序通常按是否配置為充當(dāng) Web 代理客戶端的應(yīng)用程序而分為兩個類別。#p#
- Web (CERN) 代理:對此類 Web 應(yīng)用程序進(jìn)行配置,使其作為 Web 代理并能夠進(jìn)行相應(yīng)的操作。Web 應(yīng)用程序?qū)⑦B接到 Web 代理偵聽器,并按特定格式發(fā)出請求:
- HTTP:
METHOD http://website.contoso.com/path/page.aspx?querystring HTTP/1.x METHOD http://1.2.3.4/path/page.aspx?querystring HTTP/1.x
在這種情況下,F(xiàn)orefront TMG 以及 URL 篩選具有完整的 URL 可用于與 URL 篩選數(shù)據(jù)庫進(jìn)行比較。
注意:METHOD 可以是任何有效的 HTTP 方法,如 GET、POST 等。
- HTTPS:
CONNECT website.contoso.com:443 HTTP/1.x CONNECT 1.2.3.4:666 HTTP/1.x
對于這些請求,F(xiàn)orefront TMG 和 URL 篩選將只有主機(jī)名或 IP 地址(具體取決于客戶端如何發(fā)出請求)以及端口用于與 URL 篩選數(shù)據(jù)庫進(jìn)行比較。
- 非 Web 代理:在 Web 應(yīng)用程序未配置為充當(dāng) CERN 代理客戶端時,它嘗試將網(wǎng)站的名稱解析為 IP 地址,如果成功,則將使用原始 URL 中的任意端口嘗試連接到該 IP 地址。無論客戶端是 TMG Client(以前稱為防火墻客戶端)還是 SecureNET 客戶端(也稱為 SecureNAT 客戶端),將使用以下格式發(fā)送請求:
METHOD /path/page.aspx?querystring HTTP/1.x
在這種情況下,URL 篩選評估請求的能力取決于兩個條件:
- 連接是否定向到默認(rèn) HTTP 端口?如果是,則 Web 代理或許能夠截取此請求,并將它傳遞到 URL 篩選進(jìn)行比較。如果不是,則 URL 篩選將看不到請求,因此就無法與數(shù)據(jù)庫進(jìn)行比較。
- 如果將連接定向到默認(rèn) HTTPS 端口,則是否啟用 HTTPS 檢查?如果是,則 HTTPS 檢查可以橋接連接,并且 URL 篩選有機(jī)會將請求與數(shù)據(jù)庫進(jìn)行比較。
不太明顯的一點(diǎn)是,URL 篩選自身不提供任何形式的阻止機(jī)制,它僅僅使用與請求的 URL 關(guān)聯(lián)的類別向 Web 代理發(fā)出響應(yīng),因?yàn)?Web 代理(從而使得 URL 篩選)能夠理解該響應(yīng)。無論在什么情況下,當(dāng) URL 篩選接收到客戶端請求時,它按照圖 2 中所示運(yùn)行。
圖 2 URL 篩選的基本流程
如果 Forefront TMG 需要查詢 MRS,則使用單個 Web 服務(wù)調(diào)用對 MRS Web 服務(wù)門戶發(fā)出請求。MRS 處理由 Forefront TMG 提供的數(shù)據(jù),然后使用的當(dāng)前 URL 類別進(jìn)行響應(yīng),這些類別可應(yīng)用于收到的數(shù)據(jù) MRS。Forefront TMG 2010 具有預(yù)定義的域集,其中包括安裝 Forefront TMG 時啟用的門戶目標(biāo)(請參見圖 3)。
圖 3 MRS 域集
如果發(fā)現(xiàn) URL 篩選返回的 URL 類別符合“拒絕”規(guī)則,則 Forefront TMG 會將拒絕響應(yīng)(HTTP 結(jié)果代碼 502)發(fā)送到客戶端。根據(jù)客戶端是瀏覽器還是其他 Web 應(yīng)用程序,用戶或許可以看到 Forefront TMG 響應(yīng)頁;如果應(yīng)用程序不是瀏覽器(如 Windows Media Player 或 CERN 代理 FTP 應(yīng)用程序),用戶可能只會看到應(yīng)用程序自身發(fā)出的錯誤消息。
由于 Forefront TMG 為確定 URL 類別而必須執(zhí)行的成本最高的任務(wù)是查詢 MRS,因此相對于允許用戶訪問網(wǎng)站然后對其請求的所有內(nèi)容執(zhí)行惡意軟件掃描,此過程在 CPU、內(nèi)存和網(wǎng)絡(luò)資源方面的成本要低很多。#p#
使用 HTTPS 檢查對加密通道進(jìn)行控制
多年以來,用戶一直被建議為執(zhí)行安全的在線交易,必須使用帶有 SSL 的 HTTP (HTTPS)。但是,此安全通道也被用于惡意目的。用戶使用 HTTPS 啟動交易時,此通信通常是端到端(從用戶到目標(biāo)服務(wù)器)加密,從而使在兩端之間交換的內(nèi)容不會由兩端之間的任何設(shè)備訪問。雖然這是需要的行為,但由于您不希望任何人查看您的在線信用卡交易,由此造成的缺點(diǎn)是無法評估此通道內(nèi)發(fā)生的惡意操作。圖 4 突出顯示了使用 ISA Server 2006 作為防火墻時此操作的主要部分。
圖 4 傳統(tǒng) HTTPS 方案
圖 4 說明了客戶端訪問 HTTPS 站點(diǎn)的完整代理方案??偨Y(jié)起來,步驟分為兩個主要階段,概述如下:
階段 1 – SSL 隧道
- 客戶端連接到 Web 代理。
- 客戶端發(fā)出 SSL 隧道請求:CONNECT malicious.contoso.com:443 HTTP/1.1。
- Web 代理將 malicious.contoso.com 解析為 IP 地址 1.2.3.4。
- Web 代理在 TCP 端口 443 上連接到 1.2.3.4。
- Web 代理將“200 OK”發(fā)送到客戶端。
階段 2 – 加密對話
- 客戶端與 Web 服務(wù)器交換 SSL 握手消息、加密密鑰和證書。
- 客戶端現(xiàn)在與目標(biāo)服務(wù)器建立了端到端的加密隧道,并將通過此隧道開始進(jìn)行發(fā)送和接收方面的通信。
- ISA Server 使客戶端與服務(wù)器之間的該隧道保持打開,但不檢查通信,因?yàn)樗鼪]有此功能。
此方案中的階段 2 存在潛在風(fēng)險,邊緣防火墻并不了解該通道中真正傳輸?shù)膬?nèi)容。在目標(biāo)服務(wù)器已被劫持并插入了惡意代碼的情況下,存在的潛在風(fēng)險是目標(biāo)服務(wù)器將通過此加密通道發(fā)送惡意軟件,而客戶端將毫不遲疑地接收,因?yàn)閻阂廛浖碜岳響?yīng)受信任的連接。
Forefront TMG HTTPS 檢查功能可檢查通信,并在用戶與服務(wù)器之間維護(hù)單獨(dú)的加密通道,從而減少此威脅。圖 5 說明 Forefront TMG 如何達(dá)到此目的。
圖 5 運(yùn)行中的 HTTPS 檢查
總結(jié)起來,步驟仍分為兩個主要階段,但該過程現(xiàn)在包括檢查:
階段 1 – 客戶端請求
- 客戶端連接到 TMG 代理偵聽器。
- 客戶端發(fā)出 SSL 隧道請求:CONNECT malicious.contoso.com:443 HTTP/1.1。
- TMG 將 malicious.contoso.com 解析為 IP 地址 1.2.3.4。
- TMG 在 TCP 端口 443 上連接到 1.2.3.4。
- TMG 與服務(wù)器協(xié)商 SSL 連接并評估證書。
- 如果證書有效可信,則 TMG 將向客戶端發(fā)送“200 OK”響應(yīng)。
階段 2 – 帶有檢查的加密對話
- 客戶端和 TMG 交換 SSL 握手消息、加密密鑰和證書。請注意,由于 TMG 使用派生自 Web 服務(wù)器證書的信息構(gòu)建服務(wù)器證書,因此客戶端相信自身在與 Web 服務(wù)器通信。
- 現(xiàn)在,客戶端與 Forefront TMG 之間有加密隧道,而 Forefront TMG 與目標(biāo)服務(wù)器之間有加密隧道。Forefront TMG 將能夠按以下順序檢查客戶端與服務(wù)器之間的所有通信:
a) TMG 接收并解密來自目標(biāo)服務(wù)器的加密通信。
b) TMG 將惡意軟件檢查功能和 NIS 篩選器應(yīng)用到通信。c) 如果惡意軟件和 NIS 篩選器允許,TMG 會加密結(jié)果并發(fā)送到客戶端工作站。
d) 客戶端將接收、解密并處理通信。
若要與客戶端建立 SSL 握手,F(xiàn)orefront TMG 需要服務(wù)器證書。為了創(chuàng)建證書,F(xiàn)orefront TMG 根據(jù)原始服務(wù)器證書數(shù)據(jù)創(chuàng)建仿冒證書,并使用 HTTPS 檢查 CA 證書對其簽名。為確保獲得最佳性能,F(xiàn)orefront TMG 維護(hù)復(fù)制服務(wù)器證書的緩存。TMG 將在本地緩存中搜索復(fù)制服務(wù)器證書,如果未找到證書,則會復(fù)制上游服務(wù)器證書并放在緩存中。緩存僅存儲在內(nèi)存中。因此,在重新啟動防火墻服務(wù)后,仿冒證書緩存為空。
注意:緩存的大小(由證書數(shù)決定)由 LowLevelSettings.ClonedCertificatesCacheSize COM 屬性控制。#p#
HTTPS 檢查選項
配置 HTTPS 檢查之前,了解組成此功能的完整功能集和選項非常重要。圖 6 顯示了可以配置 HTTPS 檢查的區(qū)域。
圖 6 HTTPS 檢查功能集
在計劃實(shí)現(xiàn) HTTPS 檢查時,需要首先考慮證書設(shè)置,以確定是使用自簽名證書還是由內(nèi)部 CA 發(fā)出的證書。導(dǎo)入現(xiàn)有的受信任證書頒發(fā)機(jī)構(gòu)時,需要有包含頒發(fā)機(jī)構(gòu)的證書及其私鑰的 PFX 文件。您需要此私鑰對 TMG 發(fā)出的仿冒證書簽名,還必須確保為證書簽名設(shè)置了證書的密鑰使用。隨后,此 CA 證書必須部署在客戶端計算機(jī)上(位于本地計算機(jī)證書存儲區(qū)的“受信任根證書頒發(fā)機(jī)構(gòu)”下);否則,客戶端將不會信任從 TMG 接收的服務(wù)器證書。
在 Forefront TMG 上,可以通過 Web 訪問策略啟用 HTTPS 檢查功能。請按以下步驟操作,啟用此功能:
- 在 Forefront TMG 控制臺中,單擊“Web 訪問策略”,然后在“任務(wù)”窗格的“Web 保護(hù)任務(wù)”下選擇“配置 HTTPS 檢查”。
- 在“HTTPS 出站檢查”屏幕的“常規(guī)”選項卡上,選擇“啟用 HTTPS 檢查”復(fù)選框,如圖 7 中所示。
圖 7 啟用 HTTPS 檢查
本例中將使用 Forefront TMG 自簽名證書。單擊“生成”,此時將顯示類似于圖 8 中的頁面。
圖 8“生成證書”窗口
- 在“生成證書”頁上,根據(jù)公司需要填寫頒發(fā)者名稱、過期日期和 Issuer 語句,然后單擊“立即生成證書”。
- 此時將生成新證書并彈出“證書”頁。驗(yàn)證證書配置并單擊“關(guān)閉”。
- 單擊“確定”以關(guān)閉窗口。
- 在“HTTPS 出站檢查”窗口上,單擊“HTTPS 檢查受信任的根 CA 證書選項”按鈕。此時將顯示“證書部署選項”窗口,如圖 9 中所示。
圖 9 選擇如何部署證書
- 如果 TMG 屬于某個域,則建議的部署方法為“自動通過 Active Directory”。選擇此選項時,系統(tǒng)會自動使用組策略將 TMG CA 證書部署到客戶端計算機(jī)。單擊“域管理員憑據(jù)”按鈕,然后鍵入將供此操作使用的憑據(jù)。單擊“確定”。請注意,在用戶名字段中不應(yīng)包括域。
- 由于 Forefront TMG 使用 certutil 工具將 TMG CA 證書發(fā)布到 Active Directory,因此您可能會看到命令提示簡要窗口。依次在“自動證書部署成功”消息框和“證書部署選項”窗口上單擊“確定”。
- 單擊“確定”以完成。
重要說明:除了滿足組織的安全策略之外,在啟用 HTTPS 檢查功能之前,還需要評估所有法律和監(jiān)管規(guī)章??梢詫⑷魏握J(rèn)定為不適合使用 HTTPS 檢查的站點(diǎn)添加到例外列表中。#p#
增強(qiáng)的用戶體驗(yàn)
Forefront TMG 中的 HTTPS 檢查和 URL 篩選不僅有助于向最終用戶提供受保護(hù)的網(wǎng)絡(luò)漫游環(huán)境,還包括可增強(qiáng)最終用戶體驗(yàn)的功能,這一點(diǎn)可以通過提供信息性消息以及提供直接與最終用戶相關(guān)的自定義或精確錯誤消息來實(shí)現(xiàn)。
HTTPS 客戶端通知
為保證遵守公司的隱私策略,可以啟用客戶端通知,以便在對 SSL 站點(diǎn)進(jìn)行檢查時提醒最終用戶,并向最終用戶提供退出該站點(diǎn)的選項,從而保護(hù)最終用戶認(rèn)為或歸類為個人信息的內(nèi)容。圖 10 說明了此行為。
圖 10 HTTPS 檢查客戶端通知
用戶要接收 HTTPS 檢查通知,客戶端計算機(jī)必須安裝了 Forefront TMG Client,并且必須在本地計算機(jī)的“受信任根證書頒發(fā)機(jī)構(gòu)”證書存儲區(qū)中安裝了 HTTPS 檢查受信任根證書頒發(fā)機(jī)構(gòu)。請記住,如果您具有上游和下游 TMG 配置,則需要在下游代理而非上游代理上啟用 HTTPS 通知。
若要實(shí)現(xiàn) HTTPS 檢查客戶端通知,必須同時在 Forefront TMG 服務(wù)器和客戶端上啟用它。若要在服務(wù)器上啟用 HTTPS 檢查通知,請執(zhí)行以下操作:
- 在 Forefront TMG 管理控制臺中,單擊“Web 訪問策略”。
- 在右側(cè)窗格中的“任務(wù)”下,單擊“配置 HTTPS 檢查”。
- 在“客戶端通知”選項卡上,單擊“通知用戶將檢查 HTTPS 內(nèi)容”,然后單擊“確定”。
若要在 Forefront TMG Client 上啟用通知,請執(zhí)行以下操作:
- 在系統(tǒng)任務(wù)欄中右鍵單擊 Forefront TMG Client 圖標(biāo),然后單擊“配置”。
- 在“安全連接檢查”選項卡上,選擇“需要檢查發(fā)送到安全網(wǎng)站的內(nèi)容時通知我”,然后單擊“確定”。
URL 篩選錯誤消息
管理員可以根據(jù) URL 類別允許或拒絕最終用戶的 Web 訪問。如果用戶嘗試轉(zhuǎn)到已被拒絕的站點(diǎn),則將收到類似于圖 11 中所示的錯誤消息,其中說明對該站點(diǎn)的訪問已被拒絕,因?yàn)?Forefront TMG 管理員已將其這樣分類。
圖 11 拒絕訪問網(wǎng)頁
TMG 管理員可以自定義錯誤消息。為此,請執(zhí)行以下操作:
- 打開 Forefront TMG 管理控制臺并單擊“Web 訪問策略”。
- 雙擊以打開由管理員創(chuàng)建的用于允許或拒絕訪問的規(guī)則。
- 單擊“操作”選項卡,如圖 12 中所示。
圖 12 自定義 URL 篩選錯誤消息
您可以將任何自定義消息添加到“向用戶顯示拒絕通知”文本框。您甚至可以使用 HTML 內(nèi)容,只要該 HTML 在 HTML <body> 元素的上下文中有效即可,但不能包括任何腳本。
您還可以選擇顯示拒絕訪問的站點(diǎn)的類別。為此,請單擊“將拒絕請求類別添加到通知中”復(fù)選框。如果站點(diǎn)分類不正確,則這一點(diǎn)尤為重要,以便最終用戶可以告知您。相應(yīng)地,您可以通過遙測將此反饋發(fā)送到 Microsoft,同時設(shè)置覆蓋類別來糾正分類,直至修復(fù)好。
如果您希望更改整個 URL 篩選錯誤消息頁的外觀,則需要編輯 12232.htm HTML 頁。在 Forefront TMG (ISA Server) 產(chǎn)品團(tuán)隊博客的 Forefront TMG 2010 上的拒絕頁自定義頁上可以找到相關(guān)信息。
本文來源:微軟TechNet中文站
【編輯推薦】