李德水,陳 聰
(渭南師范學(xué)院 數(shù)學(xué)與信息科學(xué)學(xué)院,陜西 渭南 714000)
組策略是Win2003操作系統(tǒng)提供的一種在域模式下,用來大批量控制域內(nèi)計算機和用戶的工作環(huán)境配置管理技術(shù),可以提供應(yīng)用程序部署、系統(tǒng)及安全設(shè)置、遠(yuǎn)程安裝服務(wù)、腳本、IE管理、文件夾重定向、QoS包計劃、磁盤配額、無線網(wǎng)絡(luò)策略和基于組策略的管理模板配置[1]。為Windows Server 2003及2008網(wǎng)絡(luò)工程師配置和管理Windows網(wǎng)絡(luò)提供了非常便利的手段,文中就AD域環(huán)境中組策略的運行機制做一詳細(xì)分析研究,探究組策略的工作原理,幫助管理員正確應(yīng)用、管理及維護組策略,提高工作效率。
組策略運行由3部分組成,服務(wù)器端、組策略管理工具、客戶端[2]。服務(wù)器端:活動目錄、Sysvol文件夾,用來存儲組策略對象,并通過目錄服務(wù)為域用戶和計算機提供組策略對象的查找定位并下載到客戶端;組策略管理工具:服務(wù)器內(nèi)嵌的組策略對象編輯器(Group Policy Object Editor)或組策略管理控制臺工具(GPMC)則用來建立、編輯、管理維護組策略對象,通過RSoP可以查看各組策略對象運行的結(jié)果集,供管理員調(diào)試;客戶端:WinLogon、注冊表、本地組策略對象、組策略引擎、客戶端擴展(CSE,Client-Side Extensions)等,通過組策略引擎和域控制器DC查找應(yīng)用于該計算機及用戶的所有組策略對象,下載組策略模板文件并調(diào)用相應(yīng)的客戶端擴展組件并按照組策略對象的優(yōu)先級順序執(zhí)行各項策略設(shè)置,從而影響客戶端計算機或用戶的文件系統(tǒng),注冊表、事件日志和本地組策略對象。
以上3部分,相互協(xié)作,共同完成組策略的編輯、關(guān)聯(lián)、分發(fā)與執(zhí)行,通過網(wǎng)絡(luò)實現(xiàn)了管理大范圍計算機及用戶的工作,提高了管理效率。組策略的體系結(jié)構(gòu)[2]如圖1所示。
在windows server 2003中,組策略用組策略對象GPO(Group Policy Object)來表示,并與站點、域、組織單元相鏈接,從而作用于域用戶和計算機。組策略GPO是一個域級別的虛對象,底層結(jié)構(gòu)包含組策略容器GPC(Group Policy Container)和組策略模板 GPT(Group Policy Template)兩個部分,GPC存于域中的每個DC中,包含每個GPO的基本信息;GPT則包含組策略的具體數(shù)據(jù),保存于SysvolSysvol域名Policies子文件夾中,供用戶和計算機下載使用。兩者之間通過組策略對象的GUID保持關(guān)聯(lián),GPC存于AD目錄結(jié)構(gòu)中,通過AD復(fù)制引擎復(fù)制到當(dāng)前域的所有DC中,而GPT存于Sysvol共享文件夾中,并通過文件復(fù)制服務(wù)(FRS)復(fù)制到當(dāng)前域的所有DC中,使DC中保持一致[3]。
圖1 組策略的體系結(jié)構(gòu)Fig.1 The group policy system architecture
GPT是實現(xiàn)了一系列組策略設(shè)置的指令集,包含具體組策略的相關(guān)設(shè)置參數(shù),以文件的形式,存放在Sysvol共享文件夾中??蛻舳讼螺dGPT文件后,按照文件指令進行相應(yīng)的操作和設(shè)置。GPT的版本號存儲在Gpt.ini文件中,用于與GPC保持同步[4]。
GPC是一個目錄服務(wù)對象,主要包含有如下重要屬性:versionNumber:版本號屬性的主要目的是為了確保GPC與GPT信息保持同步。gPCFileSysPath:提供客戶端查找和定位對應(yīng)組策略模板文件的路徑。gPCMachineExtensionNames:指定客戶端處理計算機策略GPT文件時需要使用的客戶端擴展的ClassID。gPCUserExtensionNames:指定客戶端處理用戶策略GPT文件時需要使用的客戶端擴展的ClassID。gPCWQLFilter:指定應(yīng)用于組策略對象的任何WMI篩選器。GPC對象存儲在AD數(shù)據(jù)庫Domain分區(qū)中,通過目錄服務(wù)提供GPC屬性,主要的基本屬性有:distinguishedName, whenCreeated,whenChanged,displayName,objectGUID,versionNumber,gPCFunctionalityVersion,gPCFileSysPath,gPCMachineExtensionNames,gPCUserEXtensionNames, 客 戶 端根據(jù)GPC中的objectGUID與GPT的GPO的GUID保持關(guān)聯(lián),客戶端再由GPC中的gPCFileSysPath定位到sysvol文件夾并查找對應(yīng)的組策略模板文件:指示客戶機下載組策略模板文件,從而執(zhí)行用戶和計算機配置。
組策略工作流程分為服務(wù)器和客戶端兩部分。
1)客戶機啟動,執(zhí)行本地安全策略。2)客戶機連接到網(wǎng)絡(luò),查詢DC獲取要應(yīng)用的GPO列表。3)客戶機根據(jù)GPO列表連接到Sysvol文件夾定位對應(yīng)的組策略模板。4)客戶機根據(jù)組策略模板中信息執(zhí)行相應(yīng)的操作。5)計算機策略執(zhí)行完成后,出現(xiàn)登錄界面,用戶登錄。6)用戶驗證通過后,用戶查詢DC獲取要應(yīng)用的用戶GPO列表??蛻魴C根據(jù)GPO列表,定位到相對應(yīng)的組策略模板文件,通過比較緩存的GPO版本號與GPT中版本號,確定該組策略是否已經(jīng)更新,如果組策略已經(jīng)更新,下載GPT文件,依據(jù)GPO對象調(diào)用客戶端擴展(一組動態(tài)鏈接庫),執(zhí)行相應(yīng)的操作和設(shè)置[5]。
在Windows系統(tǒng)共有11種功能(CSE客戶端擴展)可以由組策略來管理,每個功能都有一個相應(yīng)的服務(wù)在客戶端運行,服務(wù)負(fù)責(zé)處理相應(yīng)的組策略。這些動態(tài)鏈接庫以dll的方式存在,在客戶機啟動時,由winlogon服務(wù)動態(tài)加載。圖2中每一項代表一個具體的服務(wù),以ClassID來標(biāo)識,與GPC中g(shù)PCMachineExtensionNames/gPCUserExtensionNames保持一致??蛻魴C執(zhí)行某一個GPO時,由GPC的PCMachineExtensionNames/gPCUserExtensionNames屬性定位出該組策略具體由哪一個CSE來執(zhí)行。每個CSE擴展知道如何正確處理所對應(yīng)的組策略設(shè)置??蛻舳私M策略執(zhí)行框架[2]如圖2所示。
圖2 客戶端組策略執(zhí)行框架Fig.2 Client group policy implementation framework
組策略是建立在域模式下,通過活動目錄服務(wù)為域內(nèi)計算機和用戶提供服務(wù),所以,服務(wù)器端首先要根據(jù)企業(yè)業(yè)務(wù)需求,正確規(guī)劃配置好活動目錄層次的結(jié)構(gòu),關(guān)鍵是依據(jù)業(yè)務(wù)邏輯建立各組織單元,并把相應(yīng)的計算機和用戶劃歸到各組織單元,并配置好DNS服務(wù),保證各資源記錄正常工作;其次,網(wǎng)絡(luò)管理員根據(jù)企業(yè)網(wǎng)絡(luò)需求及管理要求,針對不同組織單元的共組需求及管理特性。通過組策略對象編輯器或組策略對象管理控制臺(GPMC)建立、編輯各種組策略對象,并關(guān)聯(lián)到相應(yīng)的站點、域或者組織單元上,其結(jié)果自動存儲于活動目錄及Sysvol/policies文件夾下。第三,通過RSoP工具查看各組策略的執(zhí)行效果,根據(jù)實際需求,調(diào)試相應(yīng)的組策略對象,使其達到要求的效果。第四,把正確的、符合要求的組策略對象應(yīng)用到真實的網(wǎng)絡(luò)環(huán)境中[5]。在服務(wù)器端,當(dāng)客戶計算機在登錄到域時,通過DNS能夠定位到域控制器上的相關(guān)服務(wù),正確獲得該計算機和用戶所屬組織單元應(yīng)用的各個組策略對象的GPC,再通過其相關(guān)屬性,找到位于SYSVOL文件夾中的GPT模板文件,供客戶計算機下載應(yīng)用。位于主域控制器各組策略對象的 GPC通過AD復(fù)制引擎復(fù)制到當(dāng)前域的所有DC中,而相應(yīng)的GPT也通過文件復(fù)制服務(wù)(FRS)復(fù)制到當(dāng)前域的所有DC中,使DC中保持一致。
組策略是Windows server 2003的核心,熟練掌握組策略的配置是一個Windows server網(wǎng)絡(luò)工程師的基本素質(zhì),而掌握組策略的體系結(jié)構(gòu),熟悉其工作過程又是網(wǎng)絡(luò)工程師的靈活掌握組策略的關(guān)鍵。通過對Windows server 2003組策略體系結(jié)構(gòu),結(jié)合活動目錄及DNS提供的服務(wù),對組策略對象的結(jié)構(gòu)、屬性和客戶端和服務(wù)器端的工作過程的分析,組策略工作原理是有章可循的,并不是想象的那么復(fù)雜。只要掌握了組策略的運行機制,網(wǎng)絡(luò)管理員根據(jù)企業(yè)網(wǎng)的功能需求,在建立好合適的活動目錄結(jié)構(gòu)及DNS服務(wù)的情況下,編輯維護多個組策略對象,正確應(yīng)用到域、組織單元,完成企業(yè)大量計算機和用戶的統(tǒng)一管理和配置,并能夠快速排除組策略故障[6]。
[1]吳怡.計算機網(wǎng)絡(luò)配置、管理與應(yīng)用[M].2版.北京.高等教育出版社,2009.
[2]Windows Server技術(shù)中心.Group Policy Collection.[EB/OL]http://technet.microsoft.com/zh-tw/library/cc779838.aspx.
[3]黃鎮(zhèn)建,蔡群英.基于活動目錄和組策略的機房智能化管理[J].實驗科學(xué)與技術(shù),2010(2):174-177.HUANG Zhen-jian,CAI Qun-ying.Intelligent management of public computer lab based on active directory and group policy[J].Experiment Science and Technology,2010 (2):174-177.
[4]唐燈平.應(yīng)用組策略部署和管理軟件[J].計算機安全,2010(4):42-44 TANG Deng-ping.Application of group policy to deploy and manage software[J].Computer Security,2010(4):42-44.
[5]李磊.Windows Serve 2003組策略在錢江晚報超級信息港中的應(yīng)用[J].計算機時代,2009(6):29-31.LI Lei.Windows Serve 2003 group policy in the application of QianJiang evening news paper[J].Computer Era,2009(6):29-31.
[6]姜雷.淺談Windows server 2003網(wǎng)絡(luò)安全策略的制定和實施[J].科技創(chuàng)新導(dǎo)報,2008(6):14-16.JIANG Lei.On the Windows server 2003 network security strategy formulation and implementation[J].Science and Technology Innovation Herald,2008(6):14-16.