免費(fèi)用Windows Server將惡意應(yīng)用拒之門(mén)外
譯文要想控制運(yùn)行在業(yè)務(wù)環(huán)境中的所有應(yīng)用聽(tīng)起來(lái)似乎像是不可能完成的任務(wù),而且平心而論,達(dá)成這一目標(biāo)確實(shí)需要投入大量精力。我們需要制定管理政策以限制軟件安裝與執(zhí)行,并利用工具確保這些政策得到切實(shí)貫徹,而不至于像行政管理工作那樣“蜻蜓點(diǎn)水”般一帶而過(guò)。整個(gè)流程需要以探索的態(tài)度組織試驗(yàn)、發(fā)現(xiàn)錯(cuò)誤,然后才能逐步推開(kāi)。不過(guò)只要能從實(shí)踐中積累經(jīng)驗(yàn),這樣的處理方式也將給我們帶來(lái)諸多回報(bào),其中包括:
惡意軟件幾乎會(huì)得到徹底根除。但凡沒(méi)有獲得批準(zhǔn)或列入白名單的應(yīng)用程序都不允許執(zhí)行。
由用戶安裝未受審核的應(yīng)用(例如iTunes與Dropbox)所引發(fā)的桌面系統(tǒng)支持難題將大幅減少。
針對(duì)數(shù)據(jù)泄露的保護(hù)機(jī)制得到增強(qiáng),因?yàn)橛脩魺o(wú)法使用那些沒(méi)有與組策略設(shè)定相匹配的應(yīng)用程序,也就無(wú)法繞開(kāi)企業(yè)預(yù)先制定好的安全政策。
在本文中,我將帶大家一同了解如何在Windows客戶計(jì)算機(jī)中對(duì)軟件安裝及執(zhí)行實(shí)施控制。除非特殊說(shuō)明,否則我提到的一切操作方式都基于Windows Server2008及后續(xù)版本,因此各位不必?fù)?dān)心由于使用第三方工具而帶來(lái)額外的許可開(kāi)支。另外,我還會(huì)為大家總結(jié)各套方案的優(yōu)勢(shì)與缺點(diǎn)。
限制Windows安裝程序
如果您是一位二八開(kāi)原則的忠實(shí)擁護(hù)者,完全可以利用20%的精力對(duì)Windows安裝程序做出簡(jiǎn)單限制,從而獲得80%的管理控制成效。我們最常見(jiàn)的處理方式通常是借助組策略。創(chuàng)建一個(gè)組策略對(duì)象(group policy object,GPO),右鍵點(diǎn)擊進(jìn)行編輯,并在彈出的組策略對(duì)象編輯器窗口中依次找到計(jì)算機(jī)配置——>管理模板——>Windows組件——>Windows安裝程序。
雙擊窗口右側(cè)的“禁用Windows安裝程序”選項(xiàng),為了保證Windows安裝程序只能接受組策略中所列出的應(yīng)用程序?qū)ο?,?qǐng)點(diǎn)擊“只針對(duì)未管理應(yīng)用”。大家也可以直接點(diǎn)擊“始終有效”來(lái)禁止Windows安裝程序處理包括獲得許可的應(yīng)用在內(nèi)的所有軟件。
這套方案的弊端在于只能影響到通過(guò)Windows安裝程序進(jìn)行安裝的軟件。很多知名軟件都擁有獨(dú)立的安裝工具,在這種情況下管理政策將無(wú)法有效控制其安裝與執(zhí)行。除此之外,GPO在針對(duì)業(yè)務(wù)環(huán)境下特定設(shè)備子集時(shí)效果也不理想,尤其是在某些用戶擁有本地管理員權(quán)限時(shí)——此類權(quán)限意味著我們信任其安裝應(yīng)用程序的操作。話說(shuō)回來(lái),雖然存在各種局限,這種處理方式至少堪稱“聊勝于無(wú)”,而且確實(shí)可以預(yù)防某些用戶的違規(guī)操作。
不過(guò)我個(gè)人還沒(méi)見(jiàn)過(guò)哪種病毒或者惡意軟件會(huì)通過(guò)Windows安裝程序進(jìn)行傳播,因此如果大家希望能在對(duì)抗這類威脅時(shí)擁有額外的防御機(jī)制,這套方案恐怕幫不上什么忙。
#p#
軟件限制策略
軟件限制策略(簡(jiǎn)稱SRP)允許我們通過(guò)推行組策略來(lái)控制特定程序的執(zhí)行。除了能作用于現(xiàn)有業(yè)務(wù)環(huán)境之外,SRP還是一套非常適合終端服務(wù)器或公共資訊支持設(shè)備的管理方案。在它的幫助下,用戶將只能使用特定的某一項(xiàng)功能,且無(wú)法利用管理軟件或下載來(lái)自互聯(lián)網(wǎng)的應(yīng)用程序與實(shí)用工具。
Windows能夠通過(guò)不同方式正確識(shí)別軟件的限制與放行標(biāo)準(zhǔn)。Hash規(guī)則就是其中之一,它會(huì)識(shí)別程序中文件與可執(zhí)行文件的特征,而后為其生成一套hash算法。
Hash機(jī)制對(duì)于識(shí)別同款程序的特定版本方面表現(xiàn)出色,因?yàn)閔ash值會(huì)隨著文件的變更而有所不同(程序新舊版本之間必然存在文件差異)。
驗(yàn)證規(guī)則會(huì)通過(guò)數(shù)字簽名識(shí)別軟件,這一點(diǎn)在保護(hù)授權(quán)腳本方面極為重要。Windows系統(tǒng)還能通過(guò)軟件的路徑與互聯(lián)網(wǎng)區(qū)域(IE瀏覽器內(nèi)部)識(shí)別軟件身份,進(jìn)而嚴(yán)格控制軟件下載活動(dòng)的安全性。
最后,Windows系統(tǒng)可以創(chuàng)建規(guī)則、幫我們揪出那些無(wú)法通過(guò)受信列表或其它管理規(guī)則明確界定的軟件對(duì)象。Windows將程序與規(guī)則相比照以確認(rèn)對(duì)方是否符合軟件限制GPO要求,如果同一款程序符合多套管理規(guī)則,系統(tǒng)會(huì)為其匹配最核心的規(guī)則。
這些策略功能強(qiáng)大,但正如我在本文開(kāi)頭所提到,每套方案都有自己的弱點(diǎn):除非大家能精心為用戶可能需要的每個(gè)Windows可執(zhí)行文件創(chuàng)建例外規(guī)則(包括其應(yīng)用程序),否則SRP的介入會(huì)令整套業(yè)務(wù)系統(tǒng)變得相當(dāng)遲鈍。
SRP還可能給創(chuàng)建安全環(huán)境所必要的用戶登錄腳本帶來(lái)麻煩。如果大家決意采取這套方案,那就必須在實(shí)驗(yàn)環(huán)境下提前對(duì)所有限制策略與例外清單進(jìn)行全面測(cè)試。另外還要提醒各位:當(dāng)我們?yōu)樘囟ㄜ浖?chuàng)建限制GPO時(shí),請(qǐng)務(wù)必確保將域管理員組加入GPO的訪問(wèn)控制清單當(dāng)中,而且GPO不可擁有應(yīng)用組策略的權(quán)限。這么做是為了將策略本身的控制權(quán)交給管理員,而不至于在關(guān)上門(mén)之后才發(fā)現(xiàn)自己也被鎖在了外面。
在做好創(chuàng)建策略的準(zhǔn)備工作后,請(qǐng)遵循以下步驟:
為每套限制策略創(chuàng)建新的GPO,一旦我們?cè)趯?shí)際應(yīng)用中發(fā)現(xiàn)限制過(guò)嚴(yán),就可以輕松禁用對(duì)應(yīng)策略。
通過(guò)計(jì)算機(jī)配置或用戶配置將限制規(guī)則應(yīng)用至設(shè)備或用戶端,具體流程為策略——>Windows設(shè)定——>安全設(shè)定——>軟件限制策略。
右擊軟件限制策略,在彈出的功能菜單中選擇新的軟件限制策略。
設(shè)定一套默認(rèn)識(shí)別規(guī)則:在窗口左側(cè)點(diǎn)擊“安全級(jí)別”,右擊某一安全級(jí)別然后在彈出的功能菜單中選擇“設(shè)為默認(rèn)”。
現(xiàn)在,我們需要?jiǎng)?chuàng)建一套判斷軟件是否符合限制約束標(biāo)準(zhǔn)的規(guī)則。右鍵點(diǎn)擊窗口左側(cè)的“額外規(guī)則”,點(diǎn)選“新驗(yàn)證規(guī)則”后從“新Hash規(guī)則”及其文件審計(jì)模式、“新互聯(lián)網(wǎng)區(qū)域規(guī)則”及其區(qū)域?qū)徲?jì)模式、“新路徑規(guī)則”及其文件模式或者注冊(cè)表項(xiàng)等方案中做出選擇。
在窗口右側(cè),雙擊“執(zhí)行”選項(xiàng)?,F(xiàn)在我們來(lái)看看這些限制究竟如何生效。推薦大家使用以下選項(xiàng):“全部軟件文件例外庫(kù)”將幫助我們避免關(guān)鍵性系統(tǒng)及應(yīng)用程序功能文件受到阻斷。“全部本地管理員例外用戶”則表示W(wǎng)indows系統(tǒng)只會(huì)在本地管理員組之外的用戶當(dāng)中嚴(yán)格執(zhí)行限制策略。
接下來(lái)在窗口右側(cè)雙擊“指定文件類型”,我們需要在其中審查并添加軟件限制策略中涉及到的應(yīng)用程序文件擴(kuò)展名。這份列表需要非常完整,而且在必要的情況下請(qǐng)大家確保企業(yè)所使用的腳本語(yǔ)言也擁有對(duì)應(yīng)的文件擴(kuò)展名關(guān)聯(lián)。
最后,在窗口右側(cè)雙擊“受信發(fā)布者”。在這里我們可以指定普通用戶、本地管理員或者企業(yè)管理員是否有權(quán)決定開(kāi)放數(shù)字簽名程序的可信性并對(duì)其進(jìn)行控制。
大家可以在任何版本的WindowsXP、Windows Vista、Windows7或者Windows8系統(tǒng)中使用SRO,不過(guò)作為其后續(xù)方案,AppLocker的功能無(wú)疑更為豐富——這也正是我們接下來(lái)要討論的重點(diǎn)。AppLocker目前只在售價(jià)最高的Windows7或Windows8操作系統(tǒng)客戶端中出現(xiàn)。
#p#
AppLocker
微軟公司將AppLocker描述為“WindowsServer2008R2與Windows7中出現(xiàn)的一項(xiàng)新機(jī)制,為軟件限制策略帶來(lái)功能與特性上的全面提升。AppLocker包含的新功能與擴(kuò)展能力允許用戶根據(jù)獨(dú)一無(wú)二的文件驗(yàn)證手段創(chuàng)建應(yīng)用程序控制規(guī)則,并可以指定哪些用戶或群組有權(quán)運(yùn)行這些應(yīng)用程序。”
但簡(jiǎn)單來(lái)說(shuō),AppLocker基本就是經(jīng)過(guò)健身訓(xùn)練的SRP。也許其中最出彩的兩項(xiàng)特性要數(shù)根據(jù)目前已經(jīng)安裝的軟件自動(dòng)創(chuàng)建規(guī)則以及AppLocker的“純審計(jì)”運(yùn)行模式。這意味著它能夠在無(wú)需管理人員手動(dòng)設(shè)定策略的前提下自主判斷一款應(yīng)用程序可以放行還是該被關(guān)禁閉。在初始設(shè)置與故障排查等情況下,這樣的功能顯然非常貼心。
我們可以在組策略中使用AppLocker。首先創(chuàng)建新GPO,對(duì)其右鍵點(diǎn)擊以進(jìn)行編輯,然后按照計(jì)算機(jī)配置——>Windows設(shè)定——>安全設(shè)定——>應(yīng)用程序控制策略與AppLocker的流程找到這項(xiàng)新機(jī)制。
以下截圖顯示了AppLockerGPO的使用界面,其中顯示了規(guī)則執(zhí)行配置以及哪些規(guī)則正處于適用狀態(tài)。
Windows Server 2008 R2中的AppLocker組策略對(duì)象界面
AppLocker與SRP相比更容易從白名單起步加以部署,這是因?yàn)樗軌驅(qū)ο嚓P(guān)設(shè)備進(jìn)行自主配置。舉例來(lái)說(shuō),我們剛剛搭建好一套設(shè)備環(huán)境,其中尚未設(shè)定任何限制、也沒(méi)有安裝任何業(yè)務(wù)環(huán)境中的常用軟件。只要完成最基本的計(jì)算機(jī)設(shè)置(例如企業(yè)環(huán)境下必不可少的流程——部署鏡像),我們就可以讓AppLocker自動(dòng)為其生成規(guī)則,而規(guī)則本身又能通過(guò)信息收集識(shí)別系統(tǒng)中可信的軟件可執(zhí)行文件。最后,大家只要將這些規(guī)則導(dǎo)入生產(chǎn)組策略環(huán)境中以備規(guī)則網(wǎng)絡(luò)使用即可。
AppLocker的弊端在哪里?首先,它只能運(yùn)行于Windows7旗艦版、Windows7企業(yè)版或者Windows8專業(yè)版當(dāng)中,所以如果大家還在使用WindowsXP——甚至在跟Vista打交道——那么AppLocker恐怕沒(méi)法幫到您了。不過(guò)我們可以先從已經(jīng)采用了Windows7的設(shè)備上入手,先行體驗(yàn)AppLocker的實(shí)際表現(xiàn);而后再慢慢遷移,讓新系統(tǒng)自動(dòng)接納來(lái)自組策略的管理規(guī)則。在這種情況下,安全性只取決于我們何時(shí)全面部署Windows7或者Windows8。
總結(jié)
只要聽(tīng)到“白名單”這個(gè)字眼,大家的第一反應(yīng)很可能是:這好像是份麻煩的活兒。事件也的確如此。不過(guò)對(duì)未經(jīng)授權(quán)的軟件進(jìn)行安裝與執(zhí)行限制能帶來(lái)諸多回報(bào)——正如我在前文所提到,而且也能免去在網(wǎng)絡(luò)及業(yè)務(wù)環(huán)境中不斷進(jìn)行補(bǔ)丁安裝與軟件升級(jí)的麻煩。(一旦限制機(jī)制太過(guò)松散,用戶很可能隨意下載并安裝軟件,從而導(dǎo)致業(yè)務(wù)環(huán)境中的軟件版本千奇百怪。另外,以Java為代表的‘頑劣’應(yīng)用往往存在安全漏洞,而IT部門(mén)對(duì)于未經(jīng)批準(zhǔn)的軟件很難提供集中化的補(bǔ)丁安裝方案。)
依靠Windows自帶的工具,再加上一點(diǎn)點(diǎn)聰明才智,大家完全可以不花一分錢(qián)讓自己的系統(tǒng)安全性更上一層樓。
國(guó)外有句俗語(yǔ),叫做“但凡值得做的事都值得做好”,誠(chéng)不我欺也。
附:關(guān)于用戶賬戶控制的一點(diǎn)意見(jiàn)
大家可能在想,為什么現(xiàn)有Windows版本(包括WindowsVista及其后續(xù)版本)都會(huì)提供用戶賬戶控制(簡(jiǎn)稱UAC)機(jī)制。這套機(jī)制最著名的特色就是在我們?cè)L問(wèn)系統(tǒng)中的敏感內(nèi)容或是嘗試執(zhí)行可能給系統(tǒng)完整性帶來(lái)影響的操作時(shí)彈出確認(rèn)對(duì)話框。
對(duì)于一些(或者說(shuō)大部分)應(yīng)用程序而言,單憑UAC限制機(jī)制來(lái)實(shí)現(xiàn)權(quán)限許可就已經(jīng)足夠了。用戶無(wú)法安裝那些嘗試訪問(wèn)或?qū)?nèi)容寫(xiě)入受權(quán)限保護(hù)區(qū)域的軟件,除非他們擁有超級(jí)管理權(quán)限。
不過(guò)某些軟件的正常安裝機(jī)制(也就是并不涉及系統(tǒng)敏感區(qū)域的機(jī)制)也有可能觸發(fā)UAC保護(hù)。另外,某些實(shí)用工具還可能會(huì)在可執(zhí)行文件中綁定運(yùn)行時(shí)間庫(kù)或者動(dòng)態(tài)分發(fā)機(jī)制,而非利用常規(guī)的安裝規(guī)程。
進(jìn)一步來(lái)講,以谷歌Chrome以及流行的文件共享工具Dropbox為代表的某些程序會(huì)直接被安裝在用戶的個(gè)人配置空間當(dāng)中;UAC無(wú)法針對(duì)這類情況提供保護(hù)。最后,UAC幾乎不能在安裝流程結(jié)束后再對(duì)軟件的執(zhí)行加以控制;UAC一般只在軟件執(zhí)行過(guò)程中涉及權(quán)限操作時(shí)才會(huì)起效。
如果大家希望對(duì)所有類型的軟件都擁有限制能力,或者控制系統(tǒng)中的軟件執(zhí)行流程,那么UAC并不算是理想的解決方案;我們需要通過(guò)其它途徑對(duì)計(jì)算環(huán)境中的軟件安裝與執(zhí)行進(jìn)行管理。