目標
使用本模塊可以實現下列目標:
設計和部署軟件限制策略
選擇正確的規則類型並使用它來標識軟件
控制軟件限制策略使用的檢查級別
將軟件限制策略配置為始終允許管理員運行軟件
適用范圍
本模塊適用於下列產品和技術:
Windows Server 2003 域中的 Windows XP Professional Service Pack (SP) 1 客戶端
獨立的 Windows XP Professional SP1 客戶端
如何使用本模塊
此模塊詳細描述了軟件限制策略以及如何使用它們來控制軟件在本地計算機上運行的能力。
軟件限制策略
軟件限制策略為管理員提供了一套策略驅動機制,用於標識軟件並控制該軟件在本地計算機上運行的能力。這些策略可以確保環境中運行 Windows XP Professional 的計算機之間不存在已知沖突,並保護計算機免受惡意病毒和特洛伊木馬程序的攻擊。軟件限制策略與 Active Directory 和組策略完全集成。還可以在獨立計算機上使用該策略。
軟件限制策略的工作性質使得此模塊在結構上不同於本指南中的其他模塊。管理員首先定義允許在環境中的客戶端上運行的應用程序集,然後確定該策略將對客戶端應用的限制,而不是根據前面模塊中的指示性建議來配置組策略的設置選項。
軟件限制策略最初包括不受限設置和不允許設置的默認安全級別,以及為組策略對象 (GPO) 定義的規則。既可以對整個域應用該策略,也可以對環境中的本地計算機或用戶應用該策略。軟件限制策略提供了很多用於標識軟件的方法,以及一個基於策略的基礎結構,以強制實施有關已標識軟件運行方式的規則。用戶在運行軟件程序時,必須遵守環境中的管理員在軟件限制策略中建立的規則。
可以使用軟件限制策略執行下列操作:
控制哪些軟件可以在環境中的客戶端上運行。
限制用戶對多用戶計算機上的特定文件的訪問。
確定可以向客戶端添加受信任的出版商的用戶。
定義策略是影響客戶端上的所有用戶還是用戶子集。
禁止可執行文件在本地計算機、OU、站點或域上運行。
軟件限制策略體系結構
軟件限制策略體系結構提供了下列強大功能:
基於域或本地計算機的策略實施。管理員創建該策略,然後定義哪些應用程序是受信任的應用程序,哪些不是受信任的應用程序。該策略在運行時強制實施,用戶不會收到允許其選擇是否運行可執行文件的提示。
應用范圍並不僅局限於可執行文件的策略。軟件的構成尚無明確定義。該策略可以控制 Microsoft Visual BasicScripting Edition (VBScript)、Microsoft JScript以及其他腳本語言。它還與 Windows Installer 功能集成在一起,以控制可以在客戶端上安裝哪些程序包。此功能包含一個應用程序編程接口 (API),用於協調策略運行時與其他運行時。
可縮放的策略。該策略在擁有多種計算機類型和應用程序的大型企業中必須具有可管理性,但同時它還必須在單獨的環境中運行。軟件限制策略利用 Active Directory 和組策略實現可管理性。該策略存儲在 GPO 中。還可以通過將 GPO 存儲為本地計算機策略對象,在單獨的非域聯接環境中使用此策略功能。
靈活策略。管理員可以靈活地禁止未授權腳本的運行,並可調整 Microsoft ActiveX控件或鎖定客戶端。
啟用嚴格加密以標識軟件的策略。該策略可以使用哈希、證書或簽名標識軟件。
實現軟件限制策略體系結構的過程包括三個階段:
1.管理員或委托機構使用組策略 Microsoft 管理控制台 (MMC) 管理單元為 Active Directory 容器站點、域或 OU 創建策略。Microsoft 建議為軟件限制策略創建單獨的 GPO.
注意:要為本地獨立計算機新建軟件限制策略,您必須是本地計算機中 Administrators 組的成員。要配置這些設置,請單擊“Windows 設置”、“安全設置”,然後單擊“軟件限制策略”。
2.計算機級策略在啟動時下載並生效。用戶策略在用戶登錄到系統或域時生效。要更新策略,請使用 gpupdate.exe /force 命令訪問該策略。
3.當用戶啟動程序或腳本、操作系統或腳本主機時,該策略將根據強制實施的優先規則來確定它是否可以運行。
不受限或不允許設置
軟件限制策略由兩部分組成:
用於確定哪些程序可以運行的默認規則。
默認規則的例外清單。
可以將用於標識軟件的默認規則設置為“不受限的”或“不允許的”(實際上是指運行還是不運行)。
將默認規則設置為“不受限的”允許管理員定義例外內容,或定義一組不允許運行的程序。在具有松散管理客戶端的環境中請使用“不受限的”默認設置。例如,可以禁止用戶安裝將與現有程序沖突的程序,方法是創建一個規則來阻止該程序運行。
一種更安全的方法是將默認規則設置為“不允許的”,然後只允許特定的程序集運行。在“不允許的”默認設置下,管理員必須為每個應用程序定義所有規則,並確保用戶在其計算機上擁有正確的安全設置,以便訪問允許他們運行的應用程序。“不允許的”默認設置是確保 Windows XP 客戶端安全的首選默認設置。
標識軟件的四個規則
軟件限制策略中的規則標識一個或多個應用程序,以指定是否允許它們運行。創建規則主要包括標識應用程序,然後將其標識為“不允許的”默認設置的例外。每個規則都可以包含用於描述其用途的注釋。Windows XP 中的內置實施引擎首先在軟件限制策略中查詢規則,然後才允許程序運行。
軟件限制策略使用下列四個規則來標識軟件:
哈希規則 - 使用可執行文件的加密指印。
證書規則 - 使用軟件發布者為 .exe 文件提供的數字簽名證書。
路徑規則 - 使用 .exe 文件位置的本地路徑、通用命名約定 (UNC) 路徑或注冊表路徑。
區域規則 - 使用可執行文件源自的 Internet 區域(如果該文件是使用 Microsoft Internet Explorer 下載的)。
哈希規則
哈希是唯一標識軟件程序或可執行文件(即使該程序或可執行文件已被移動或重命名)的指印。這樣,管理員可以使用哈希來跟蹤他(或她)不希望用戶運行的特定版本的可執行文件或程序。如果程序在安全或隱私方面存在漏洞,或者可能會破壞系統的穩定性,則可以使用哈希規則。
使用哈希規則,軟件程序始終具有唯一可標識性,因為哈希規則匹配基於涉及文件內容的加密計算。唯一受哈希規則影響的文件類型是在“軟件限制策略”的詳細信息窗格中“指派的文件類型”部分列出的那些文件類型。
哈希規則比較適合於靜態環境。如果客戶端中的軟件經常升級,則應在每個程序更新後將哈希重新應用於其可執行文件。哈希規則非常適用於未向其相應程序的可執行文件應用更改或升級的環境。
哈希規則由下列三個數據段組成,並以冒號分隔:
MD5 或 SHA-1 哈希值。
文件長度。
哈希算法 ID 編號。
數字簽名文件使用簽名中包含的哈希值(可能是 MD5 或 SHA-1)。非數字簽名的可執行文件使用 MD5 哈希值。
哈希規則的格式如下所示:
[MD5 或 SHA1 哈希值]:[文件長度]:[哈希算法 ID]
以下哈希規則示例用於內容與 MD5 哈希值(由哈希算法標識符 32771 表示)和哈希算法 7bc04acc0d6480af862d22d724c3b049 相匹配的 126 個字節長的文件:
7bc04acc0d6480af862d22d724c3b049:126:32771
管理員要限制或允許的每個文件都需要包含一個哈希規則。軟件更新後,由於原始可執行文件的哈希值通常已被覆蓋,因此管理員必須為每個應用程序新建一個哈希規則。執行下列步驟將哈希規則應用於現有的可執行文件。
要將哈希規則應用於現有的可執行文件,請執行下列操作:
1.在組策略對象編輯器工具欄上,單擊“Windows 設置”、“安全設置”、“軟件限制策略”,然後右鍵單擊“其他規則”。
2.單擊快捷菜單上的“新散列規則”。
圖 6.1
“新散列規則”對話框
3.單擊“浏覽”選擇要哈希的文件。本例中的可執行文件為 Excel.exe.新文件哈希值顯示在“文件哈希:”框中。應用程序版本顯示在“文件信息:”框中。
4.選擇要用於此規則的安全級別默認設置。可供選擇的選項包括:
不允許的
不受限的
證書規則
證書規則指定代碼簽名軟件發布者的證書。例如,管理員可能需要所有腳本和 ActiveX 控件的簽名證書。符合證書規則的允許來源包括:
商業證書頒發機構 (CA),如 VeriSign.
Windows 2000 或 Windows Server 2003公鑰基礎結構 (PKI)。
自簽名證書。
證書規則是一種非常有效的標識軟件的方法,因為它使用已簽名文件的簽名中包含的已簽名哈希來匹配文件,而不管文件的名稱或位置如何。要創建證書規則的例外,可以使用哈希規則對其進行標識。
啟用證書規則
證書規則在默認情況下不啟用。可以執行下列步驟來啟用證書規則。
要啟用證書規則,請執行下列操作:
1.在組策略對象編輯器中打開 GPO.
2.在控制台樹中,單擊“安全選項”。
3.在詳細信息窗格中,雙擊“系統設置: 為軟件限制策略對 Windows 可執行文件使用證書規則”。
4.單擊“啟用”以啟用證書規則。
大多數商業 Web 站點的軟件代碼都由商業 CA 進行簽名。這些證書通常在一到幾年內有效。使用證書規則時,應注意證書的有效期。可以與軟件發布者聯系,以獲取有關他們所發行證書的有效期的詳細信息。從商務 CA 收到證書時,可以將其導出到文件中,以創建證書規則。可以執行下列步驟來導出證書。
要導出證書,請執行下列操作:
1.選擇要頒發證書的受信任發布者。本例中的證書發布者為 Microsoft MSN。
圖 6.2
“安全設置警告”對話框顯示了受信任的出版商
2.單擊“詳細信息”選項卡。
注意:將此證書復制到文件,然後使用它創建證書規則。
圖 6.3
“證書”對話框的“詳細信息”選項卡
3.隨即將顯示“證書導出向導”歡迎頁面。單擊“下一步”繼續操作。
圖 6.4
“證書導出向導”歡迎頁面
4.在“導出文件格式”頁面上,選擇“DER 編碼二進制 X.509(。CER)”,然後單擊“下一步”創建擴展名為 (。cer) 的證書文件。
圖 6.5“證書導出向導”的“導出文件格式”頁面顯示了選定的編碼方法
5.在“要導出的文件”頁面上,指定描述性的證書規則文件名。該證書將導出到 Windows XP 中的 Certificate Directory.
圖 6.6“證書導出向導”的“要導出的文件”頁面顯示了文件名示例
6.隨即將顯示“正在完成證書導出向導”頁面,其中包含一個顯示證書文件的指定設置的列表。檢查這些設置,然後單擊“完成”以導出該文件。
圖 6.7
“正在完成證書導出向導”頁面顯示了指定設置
現在可以使用此文件創建證書規則。
圖 6.8
“新建證書”對話框顯示了指定設置
路徑規則
路徑規則指定程序的文件夾路徑或完全限定路徑。當路徑規則指定文件夾時,它將匹配該文件夾中包含的任何程序以及相關子文件夾中包含的任何程序。路徑規則既支持本地路徑也支持 UNC 路徑。
管理員必須在路徑規則中定義用於啟動特定應用程序的所有目錄。例如,如果管理員在桌面上創建了一個用於啟動應用程序的快捷方式,則在路徑規則中,用戶必須能夠同時訪問可執行文件路徑和快捷方式路徑才能運行該應用程序。試圖僅使用這兩個路徑之一來運行應用程序將觸發“Software Restricted”警告。
許多應用程序使用 %ProgramFiles% 變量將文件安裝在運行 Windows XP Professional 的計算機硬盤上。如果將該變量設置為不同驅動器上的其他目錄,某些應用程序仍會將文件復制到原來的 C:\Program Files 子目錄中。因此,最好將路徑規則定義到默認目錄位置。
在路徑規則中使用環境變量
可以將路徑規則定義為使用環境變量。由於路徑規則在客戶端環境中進行評估,因此管理員可以借助環境變量使規則適合於特定用戶的環境。以下兩個示例顯示了將環境變量應用於路徑規則的實例。
“%UserProfile% 匹配 C:\Documents and Settings\User 以及該目錄下的所有子文件夾。
“%ProgramFiles%\Application 匹配 C:\Program Files\Application 以及該目錄下的所有子文件夾。
注意:環境變量不受訪問控制列表 (ACL) 的保護。環境變量有兩種類型:User 和 System.能夠啟動命令提示的用戶可以將 User 環境變量重新定義到不同的路徑。只有 Administrators 組中的用戶可以更改 System 環境變量。
以下是 Windows XP Professional 中默認環境變量的當前列表: