餡餅還是陷阱 TMG2010升級(jí)經(jīng)驗(yàn)談
編者按:在2011年3月26日岳雷老師就在《51CTO技術(shù)沙龍之關(guān)于Windows運(yùn)維的那些事》中向大家介紹了有關(guān)TMG的經(jīng)驗(yàn)。有興趣的朋友可以點(diǎn)擊這里訪問當(dāng)天的視頻專題,并且下載當(dāng)天講師的PPT。
從去年年底開始,我開始負(fù)責(zé)公司的ISA2006服務(wù)器升級(jí)項(xiàng)目,目標(biāo)是把ISA2006升級(jí)到最新版的TMG2010 SP1。經(jīng)過三個(gè)多月的努力,終于基本達(dá)到了預(yù)期目標(biāo)。任務(wù)完成之余,回顧項(xiàng)目經(jīng)歷,有一些經(jīng)驗(yàn)和大家分享一下,供有意升級(jí)ISA2006的朋友們參考。
一、TMG升級(jí)評(píng)估
現(xiàn)有的ISA2006是否需要升級(jí)到TMG?工程師只要想升級(jí)ISA2006,一定會(huì)被領(lǐng)導(dǎo)問這個(gè)問題。要回答這個(gè)問題,首先要評(píng)估升級(jí)后的收益。俗話說,無利不起早嘛。相比ISA2006,TMG2010的新增功能大致有下列內(nèi)容:
1、企業(yè)級(jí)的安全整合和管理
2、架構(gòu)變更與提升
3、Web非法軟件掃描與過濾
4、路由架構(gòu)改進(jìn)
5、網(wǎng)絡(luò)入侵保護(hù)系統(tǒng)
6、郵件安全傳輸與過濾
7、人性化管理與集成操作
這些功能乍一看都不錯(cuò),但究竟能用到哪些,這就要結(jié)合自己的實(shí)際環(huán)境好好分析分析了。我們升級(jí)TMG主要是基于哪些考慮呢?首先,TMG的架構(gòu)變更對(duì)我們很有吸引力。ISA2006使用X86架構(gòu),X86架構(gòu)管理高性能服務(wù)器時(shí)有些力不從心。我們ISA2006服務(wù)器的硬件很好,4顆4核CPU的刀片服務(wù)器,16G內(nèi)存,但I(xiàn)SA2006只使用了3G內(nèi)存,讓人感覺硬件資源浪費(fèi)得很嚴(yán)重。ISAf2006升級(jí)到TMG之后,TMG2010使用X64架構(gòu),管理硬件資源要好上很多。至少內(nèi)存使用達(dá)到8G以上了,感覺硬件利用率提升了不少,小賺了一筆。
其次,TMG提供的ISP冗余功能我們也很感興趣。ISP冗余支持TMG服務(wù)器使用兩條ISP鏈路,而且可以在兩條ISP鏈路上選擇故障轉(zhuǎn)移模式或負(fù)載平衡模式。我們公司的業(yè)務(wù)對(duì)互聯(lián)網(wǎng)有很強(qiáng)的依賴性,雖然我們選擇的電信運(yùn)營商可靠性不錯(cuò),很少掉鏈子,但畢竟不能把雞蛋都放到一個(gè)籃子里啊。所以對(duì)使用單ISP接入方案我們還是有些小小的忐忑不安,現(xiàn)在有了ISP冗余,那就可以選擇兩家可靠的電信運(yùn)營商來設(shè)計(jì)一套高可用的ISP接入環(huán)境,這下就可以踏踏實(shí)實(shí)地把心放到肚子里了。
我們升級(jí)還有一個(gè)技術(shù)之外的原因,那就是我們的領(lǐng)導(dǎo)是微軟的骨灰級(jí)粉絲,對(duì)微軟產(chǎn)品的最新版本有非常濃厚的興趣。一般來說,只要微軟服務(wù)器出了SP1,基本上領(lǐng)導(dǎo)就要督促我們考慮升級(jí)問題了。這些年我們總是第一時(shí)間體驗(yàn)微軟的服務(wù)器產(chǎn)品,積極升級(jí),積極測試,積極排錯(cuò),給微軟產(chǎn)品改進(jìn)做出了相當(dāng)大的貢獻(xiàn)啊。
看到這兒,有些朋友可能就要問了:“不對(duì)啊,TMG還有很多改進(jìn)功能啊,怎么沒聽到你提啊,是不是你這家伙偷懶啊”?其實(shí)還真不是我偷懶,有些功能不錯(cuò),但并不適合我們的環(huán)境。比如,網(wǎng)絡(luò)入侵檢測保護(hù)是個(gè)不錯(cuò)的功能,可是這個(gè)功能需要專門的許可證,是收費(fèi)的,現(xiàn)在這年頭,一提到錢就容易傷感情…..所以還是算了吧。再舉個(gè)例子,Web非法軟件掃描中包括了一個(gè)URL篩選功能,其實(shí)就是微軟做的一個(gè)上網(wǎng)行為管理系統(tǒng)。這個(gè)功能看起來也不錯(cuò),系統(tǒng)可以根據(jù)用戶的訪問地址,自動(dòng)判斷出用戶是訪問一個(gè)正常的商業(yè)站點(diǎn),還是訪問一個(gè)娛樂站點(diǎn),甚至是訪問非法的色情,賭博站點(diǎn)。如果用戶訪問的目標(biāo)地址異常,例如在上班時(shí)間訪問playboy的網(wǎng)站,URL篩選可以自動(dòng)限制用戶的訪問行為。這個(gè)功能看起來不錯(cuò),可是我們測試了一下,發(fā)現(xiàn)這套系統(tǒng)對(duì)國內(nèi)互聯(lián)網(wǎng)公司的識(shí)別準(zhǔn)確率實(shí)在是差點(diǎn)意思。在URL篩選中輸入我們公司的網(wǎng)址,結(jié)果把我們這個(gè)金融公司識(shí)別成了房地產(chǎn)公司,這也就算了。我們?cè)儆脀ww.163.net測試一下,居然把這個(gè)老牌的郵件運(yùn)營商識(shí)別成了色情公司(目前這個(gè)問題已經(jīng)被修正),我們想了又想,實(shí)在是不敢啟用這個(gè)功能。萬一哪天這個(gè)功能導(dǎo)致用戶無法訪問正常的業(yè)務(wù)系統(tǒng),我們就麻煩了。算了,不求有功,但求無過,還是別折騰了。大家一定要相信一點(diǎn),穩(wěn)定是壓倒一切的!
說了這么多,其實(shí)就一個(gè)意思,ISA2006是否需要升級(jí)并沒有標(biāo)準(zhǔn)答案,應(yīng)該根據(jù)自己的使用環(huán)境,因地制宜地進(jìn)行決策。如果目前使用的產(chǎn)品可以滿足需求,新產(chǎn)品的功能又基本使用不上,那我的建議是可以考慮不升級(jí),畢竟升級(jí)是有風(fēng)險(xiǎn)的,沒有明顯的收益就沒必要去做了。如果目前的產(chǎn)品無法滿足需求,而且我們又擁有升級(jí)所需要的資源(往往升級(jí)后對(duì)硬件資源的需求會(huì)提高),那就不妨積極地體驗(yàn)一下最新版本帶來的新功能。#p#
二、TMG升級(jí)注意事項(xiàng)
ISA2006是32位的服務(wù)器產(chǎn)品,TMG是64位產(chǎn)品。因此,我們不可能從ISA2006就地升級(jí)到TMG2010,只能考慮把ISA2006的配置遷移到TMG2010。好在從ISA2006遷移到TMG2010并不困難,微軟支持多種場景下的遷移方案。相比較從ISA2004升級(jí)到ISA2006,TMG的遷移方案可以設(shè)計(jì)得更加靈活。TMG的遷移要注意下列事項(xiàng):
1、 TMG2010標(biāo)準(zhǔn)版可以升級(jí)到TMG2010企業(yè)版。也就是說,我們可以從ISA2006標(biāo)準(zhǔn)版遷移到TMG2010標(biāo)準(zhǔn)版,然后從TMG2010標(biāo)準(zhǔn)版再升級(jí)到TMG2010企業(yè)版。在ISA2006中,標(biāo)準(zhǔn)版和企業(yè)版差別非常大,企業(yè)版的配置存儲(chǔ)在配置存儲(chǔ)數(shù)據(jù)庫(CSS)中,而標(biāo)準(zhǔn)版根本就沒有CSS。因此ISA2006如果想從標(biāo)準(zhǔn)版升級(jí)到企業(yè)版,只能是先卸載ISA2006標(biāo)準(zhǔn)版,然后重新安裝ISA2006企業(yè)版。在TMG中,標(biāo)準(zhǔn)版和企業(yè)版之間的鴻溝已經(jīng)消失了,標(biāo)準(zhǔn)版也擁有CSS!從標(biāo)準(zhǔn)版升級(jí)到企業(yè)版,只需要輸入一個(gè)序列號(hào)就OK了。看起來,TMG標(biāo)準(zhǔn)版和企業(yè)版的區(qū)別主要體現(xiàn)在版權(quán)上,技術(shù)上已經(jīng)沒有區(qū)別了。這種設(shè)計(jì)方案對(duì)企業(yè)其實(shí)更加有利,企業(yè)完全可以先購買低價(jià)的TMG標(biāo)準(zhǔn)版。如果隨著企業(yè)的發(fā)展,標(biāo)準(zhǔn)版產(chǎn)品不堪重負(fù)了,企業(yè)可以從容地把TMG升級(jí)為企業(yè)版,完全沒有后顧之憂!
2、 從ISA2006導(dǎo)出配置數(shù)據(jù)時(shí),必須導(dǎo)出機(jī)密信息和用戶配置數(shù)據(jù),如下圖所示。如果導(dǎo)出數(shù)據(jù)中沒有包括加密的機(jī)密信息,TMG導(dǎo)入時(shí)會(huì)報(bào)錯(cuò)。另外,我們也不能僅僅導(dǎo)出ISA2006的防火墻策略,TMG也不支持這種導(dǎo)入方式。其實(shí)我們做TMG項(xiàng)目時(shí)最初僅僅想把ISA的防火墻策略遷移到TMG上,因?yàn)槲覀冇行?dān)心整體導(dǎo)入ISA2006的配置信息后會(huì)對(duì)TMG的健康狀態(tài)產(chǎn)生影響。為什么這樣說呢,主要是因?yàn)橹暗腎SA2006服務(wù)器上發(fā)生過一些莫名其妙的問題,例如只要一啟用WPAD,就會(huì)影響用戶連接WSUS服務(wù)器。這個(gè)奇怪的問題在微軟開了CASE,微軟也一直沒有搞定,因此我們對(duì)ISA2006的健康狀況就有些隱隱約約的擔(dān)心。我們特別害怕ISA2006的這種亞健康狀態(tài)會(huì)隨著配置的遷移傳染給TMG,這樣我們可就沒有退路了。以前ISA2006有問題時(shí),大家總是很期盼地說:等到升級(jí)TMG就歐了!一旦TMG再有問題,那就要被群眾扁死啊。所以啊,我們被迫在TMG上整體導(dǎo)入ISA配置后,立即在TMG上對(duì)防火墻策略單獨(dú)進(jìn)行了備份,以防萬一。好在TMG導(dǎo)入ISA配置后工作得不錯(cuò),到目前為止?fàn)顟B(tài)保持得還是相當(dāng)穩(wěn)定的。(圖1)
三、TMG新功能
1、ISP-R
ISP-R是TMG中一個(gè)非常好用的新增功能,我們對(duì)這個(gè)功能仰慕已久,可惜ISA一直沒有提供這個(gè)功能。無數(shù)管理員曾經(jīng)在論壇上無助地詢問:ISA服務(wù)器能否使用兩條ISP鏈路啊?答案是否定的!四年等一回,TMG終于給我們帶來了ISP-R?,F(xiàn)在ISP-R既可以利用兩條ISP鏈路實(shí)現(xiàn)負(fù)載平衡,也可以實(shí)現(xiàn)故障轉(zhuǎn)移。如下圖所示,TMG服務(wù)器上同時(shí)使用了兩條活動(dòng)的ISP鏈路。(圖2)
使用ISP-R要特別注意DNS服務(wù)器的配置。ISP-R檢測鏈路狀態(tài)的方法是通過被檢測鏈路隨機(jī)訪問DNS根服務(wù)器,如果訪問成功,鏈路狀態(tài)就是健康的;如果一連三次訪問失敗,TMG會(huì)把鏈路狀態(tài)標(biāo)注為不可用。如果你不想讓TMG檢測DNS根服務(wù)器,希望TMG檢測一個(gè)國內(nèi)的DNS服務(wù)器,你可以參考下列腳本進(jìn)行修改。還有一點(diǎn)要注意的是,ISP-R只對(duì)NAT數(shù)據(jù)有效。也就是說,ISP-R對(duì)TMG本地主機(jī)是不起作用的。如果你希望TMG服務(wù)器通過電信的ISP鏈路訪問電信的DNS服務(wù)器,通過網(wǎng)通的ISP鏈路訪問網(wǎng)通的DNS服務(wù)器,你需要使用route add命令寫靜態(tài)路由。
Configuring verification of link status
In the default setting, TMG checks the status of the ISP link by trying to establish a TCP connection on port 53 (DNS zone transfer) to a list* of root DNS server on a round robin basis. If a connection can be established, TMG will consider the link active.
Although, the IP addresses and the TCP port used for the verification cannot be configured directly from the management console, If you need to modify these settings, e.g. because you setup your TMG server without direct access to the internet, you can do this by using the TMG COM, through simple Visual Basic script like this one:
Note: Please take an export of TMG configuration prior to running the script. To get the original behavior you need to import the original configuration
‘ ==================================================================
‘ we need to get the ISP Redundancy configuration object first:
set oRoot = CreateObject(“FPC.Root”)
set oArray = oRoot.GetContainingArray()
set oExternalNetwork = oArray.NetworkConfiguration.Networks(“External”)
set oISPRCfg = oExternalNetwork.ISPRedundancyConfig
‘ ===================================================================
‘ if you want to remove the complete list of connectivity verification
‘addresses:
oISPRCfg.ConnectivityVerificationRemoteIpAddresses.RemoveAll()
‘ To add a new address (in this case 192.168.1.1) to check the connectivity:
oISPRCfg.ConnectivityVerificationRemoteIpAddresses.Add “192.168.1.1”
‘ To change the TCP port for connectivity verification (default: 53)
oISPRCfg.ConnectivityVerificationRemotePort = 53
‘ To save the changes
oISPRCfg.Save
2、監(jiān)控
TMG的報(bào)表功能得到了增強(qiáng),我們可以在TMG中針對(duì)重要用戶輸出單獨(dú)的訪問報(bào)表。如下圖所示,我們可以在TMG中創(chuàng)建用戶活動(dòng)報(bào)告,訪問報(bào)告中將輸出用戶的訪問內(nèi)容,訪問時(shí)間,訪問類別等參數(shù)。我們既可以輸出單個(gè)用戶的訪問報(bào)告,也可以針對(duì)多個(gè)用戶進(jìn)行輸出。(圖3)
報(bào)告輸出的效果如下圖所示。通過這種報(bào)告,我們可以很容易地針對(duì)用戶進(jìn)行上網(wǎng)行為監(jiān)控,輔導(dǎo)用戶在上班時(shí)間合理使用互聯(lián)網(wǎng)鏈路。(圖4)
#p#
四、TMG產(chǎn)品缺陷
微軟的服務(wù)器產(chǎn)品以補(bǔ)丁總多而著稱,因此大家在使用過程中慢慢有了這樣一個(gè)習(xí)慣,如果一個(gè)服務(wù)器產(chǎn)品沒有出SP1,一般不會(huì)考慮在生產(chǎn)環(huán)境中應(yīng)用。但這次我發(fā)現(xiàn)即使有了SP1也不一定包打天下,SP1仍然會(huì)有一些缺陷,下面是我使用TMG2010 SP1的經(jīng)歷。
TMG2010安裝完成后,我馬上在第一時(shí)間安裝TMG2010 SP1。SP1安裝完成后,立刻發(fā)現(xiàn)重啟服務(wù)器后10多分鐘還沒能進(jìn)入系統(tǒng),我的冷汗立刻就流下來了。額的娘啊,不會(huì)剛打完SP1就崩潰了吧。還好,又等了幾分鐘,終于進(jìn)入系統(tǒng)了,最奇怪的是,查看一下還沒有發(fā)現(xiàn)有什么錯(cuò)誤,難道TMG要休息一下?感覺去微軟論壇看看,這才發(fā)現(xiàn)有類似問題的還大有人在,看來這是TMG2010 SP1的通病。解決方法微軟也提供了,TMG2010 SP1 Update1就可以解決這個(gè)問題,打了Update1之后,TMG算是恢復(fù)正常了。只能感嘆這個(gè)TMG2010 SP1是怎么測試的,難道測試時(shí)沒有重啟過系統(tǒng)?
TMG服務(wù)器安裝完成后,我們使用兩個(gè)TMG服務(wù)器組成了一個(gè)陣列,然后又配置了負(fù)載平衡。負(fù)載平衡的效果非常好,1500個(gè)用戶,分布在兩臺(tái)服務(wù)器上的人數(shù)分別是740和760。但是,在TMG的控制臺(tái)上觀察,發(fā)現(xiàn)目前只使用了第一臺(tái)TMG服務(wù)器的Web緩存,第二臺(tái)TMG服務(wù)器的Web緩存利用率為零。Web緩存非常重要,這可不是鬧著玩的,我趕緊對(duì)TMG服務(wù)器上的緩存內(nèi)容進(jìn)行檢測。如果想檢測TMG的緩存內(nèi)容,可以去微軟下載TMG Tools。TMG Tools中有一個(gè)名為Cachedir的工具,可以實(shí)時(shí)查看TMG服務(wù)器的緩存內(nèi)容。我用Cachedir檢查了兩臺(tái)服務(wù)器,發(fā)現(xiàn)內(nèi)容很正常,而且兩臺(tái)服務(wù)器緩存都有用戶訪問。那TMG控制臺(tái)上又怎么解釋呢?查了半天,也沒有結(jié)果,算了,去微軟開個(gè)CASE吧。還好,微軟很快就在測試環(huán)境中復(fù)現(xiàn)了這個(gè)故障。過了幾天,微軟工程師正式答復(fù):這是個(gè)產(chǎn)品Bug,這個(gè)CASE我們免費(fèi)。現(xiàn)在我們只能等產(chǎn)品組出Hotfix,但什么時(shí)候能提供hotfix,就沒有具體的時(shí)間表了,請(qǐng)您耐心等待…我又奇怪了,這個(gè)現(xiàn)象非常明顯啊,難道一直沒有針對(duì)陣列進(jìn)行測試?這微軟到底是怎么做產(chǎn)品測試的!
過了一段時(shí)間,SCOM服務(wù)器也開始來找麻煩了。SCOM服務(wù)器基本每天都會(huì)報(bào)幾個(gè)TMG Web緩存的錯(cuò)誤,大致內(nèi)容是這樣的:
警報(bào): Forefront TMG 服務(wù)器 - 緩存: “當(dāng)前每個(gè)請(qǐng)求的緩存提取平均毫秒數(shù)”錯(cuò)誤
來源: Caching - HQ-TMG2
路徑: HQ-TMG2.chamc.com.cn
上次修改者: 系統(tǒng)
上次修改時(shí)間: 2011/1/19 19:04:18
警報(bào)描述: 800.375927734375
這個(gè)警報(bào)并不復(fù)雜,意思是SCOM服務(wù)器三分鐘內(nèi)隨機(jī)統(tǒng)計(jì)了5個(gè)客戶機(jī)向TMG服務(wù)器發(fā)起一個(gè)Web請(qǐng)求后所需要的平均響應(yīng)時(shí)間,TMG服務(wù)器發(fā)現(xiàn)客戶機(jī)平均需要經(jīng)過800豪秒才能從TMG服務(wù)器收到回應(yīng)。這就有些不對(duì)了,SCOM服務(wù)器認(rèn)為這個(gè)平均值應(yīng)該在300毫秒以下??紤]到客戶機(jī)發(fā)起請(qǐng)求后,如果請(qǐng)求的內(nèi)容在TMG的Web緩存中,那響應(yīng)速度應(yīng)該在10毫秒以內(nèi)。因此,看到這個(gè)警報(bào),我就考慮是否TMG的緩存性能出現(xiàn)了問題??墒?,我很快就發(fā)現(xiàn)一個(gè)難以自圓其說的現(xiàn)象。SCOM服務(wù)器發(fā)起這個(gè)警報(bào)的時(shí)間,基本都是在夜間或雙休日,工作時(shí)間內(nèi)反而沒有警報(bào)。那就不對(duì)了, TMG服務(wù)器應(yīng)該在工作時(shí)段負(fù)載重啊,怎么反而在工作時(shí)段沒有這個(gè)警報(bào)呢?沒轍了,再去微軟開個(gè)CASE吧。微軟工程師的水平還是挺高的,查了一番資料后給了我一個(gè)挺好的解釋:是這樣的,如果用戶訪問的內(nèi)容在TMG的緩存中,那TMG的響應(yīng)速度是很快的;如果用戶訪問的內(nèi)容不在TMG的緩存中,例如用戶下載文件,或者用戶使用視頻點(diǎn)播,這種情況下TMG就得先從互聯(lián)網(wǎng)服務(wù)器下載數(shù)據(jù),然后才能響應(yīng)用戶,這樣響應(yīng)時(shí)間就會(huì)很長,需要上千甚至上萬毫秒都有可能。在工作時(shí)間內(nèi),很多用戶提交的Web請(qǐng)求都可以在TMG緩存中得到響應(yīng),因此緩存的利用率高。平均一下,每個(gè)用戶提交Web請(qǐng)求所需要的平均響應(yīng)時(shí)間就會(huì)非常短,SCOM就不容易報(bào)警。非工作時(shí)間呢,使用TMG服務(wù)器的用戶少了,TMG的Web緩存利用率就低了,用戶的Web請(qǐng)求就不容易從TMG緩存中獲得響應(yīng)(你可以想象一下,非工作時(shí)間用戶訪問的是神馬內(nèi)容),因此統(tǒng)計(jì)出來的平均響應(yīng)時(shí)間就長,這時(shí)就有可能觸發(fā)SCOM警告了。
聽了微軟的解釋,我覺得豁然開朗。哦,原來TMG服務(wù)器的緩存性能沒問題,這時(shí)好事,值得高興啊。但是,但是,仔細(xì)一想就不對(duì)了,TMG服務(wù)器沒問題,你SCOM報(bào)什么警啊!存心騷擾是不是?我向微軟的工程師咨詢:既然如此,SCOM的這個(gè)警報(bào)到底有什么意義呢?這回輪到微軟的工程師張口結(jié)舌了,只能推說要和產(chǎn)品組反映這個(gè)問題,然后給我答復(fù)。過了幾天,微軟工程師來電話了:經(jīng)過和產(chǎn)品組確認(rèn),確定這又是一個(gè)產(chǎn)品Bug!解決方法是等待產(chǎn)品組的Hotfix,Hotfix沒出來之前建議先把SCOM的這個(gè)警報(bào)禁用,免得收到無意義的警報(bào)。既然是Bug,那這個(gè)CASE還是免費(fèi)的…
五、TMG升級(jí)總結(jié)
雖然TMG產(chǎn)品還存在一些小缺陷,但不能否認(rèn)TMG相比之前的ISA2006還是有很大進(jìn)步的。至少在產(chǎn)品穩(wěn)定性方面,TMG比ISA2006強(qiáng)大了很多。以前我們使用ISA2006時(shí),隔上一段時(shí)間就會(huì)出現(xiàn)ISA2006不堪重負(fù),不工作了,必須重啟服務(wù)器才能恢復(fù)正常。VPN用戶也經(jīng)常抱怨ISA的穩(wěn)定性不佳,時(shí)常掉線。升級(jí)到TMG之后,這些問題再也沒有出現(xiàn)過。三個(gè)月以來TMG堅(jiān)如磐石地提供著Web代理,服務(wù)器發(fā)布,VPN接入等服務(wù),盡情地顯示著64位系統(tǒng)的優(yōu)越性??傮w來看,TMG2010做為新一代的企業(yè)級(jí)路由防火墻,在產(chǎn)品架構(gòu),防火墻核心性能,安全防護(hù),穩(wěn)定性方面比前一代產(chǎn)品都有了本質(zhì)上的提高。如果硬件條件許可,我們建議還是盡可能把ISA2006升級(jí)到TMG2010,TMG不會(huì)令你失望的!
原文地址:http://yuelei.blog.51cto.com/202879/532993
【編輯推薦】
- TMG HTTPS檢測 針對(duì)病毒的偽裝檢測
- 用Forefront TMG保護(hù)Exchange 2010 Server
- 使用Microsoft Forefront TMG 2010作為安全Web網(wǎng)關(guān)