Windows XP 安全性指南

第 6 章:Windows XP 用戶端的軟體限制原則

更新日期: 2005 年 7 月 26 日

本頁內容

概觀
軟體限制原則結構
軟體限制原則選項
軟體限制原則的設計與部署
總結

概觀

軟體限制原則提供系統管理員一種方法,用以識別軟體,並控制其在本機電腦上執行的能力。此工具可以協助執行 Microsoft® Windows® XP Professional 的電腦避免已知的衝突,並保護它們抵抗惡意軟體,例如:病毒和特洛伊木馬程式。軟體限制原則可以與 Active Directory® 目錄服務和群組原則完全整合。您也可以在獨立電腦上使用。

本章的結構和本指南前幾章的結構不同,因為軟體限制原則有特殊的運作方式。先前章節提供了關於如何設定「群組原則」設定選項的建議。軟體限制原則要求系統管理員定義可以在您環境中的用戶端電腦上執行的應用程式,然後決定原則將套用於用戶端的限制。

當您實作軟體限制原則時,您必須做的第一個決定是:預設安全性等級是否為 [沒有限制] 或 [不允許]。若預設安全性等級是 [沒有限制],所有軟體都可以執行,因此您需要設定其他規則以封鎖特定的應用程式。更安全的方法是將預設安全性等級設定為 [不允許];這表示不允許執行任何軟體,然後設定其他規則以允許特定的應用程式執行。您可以透過以網域為基礎的群組原則,將軟體限制原則套用到多部電腦;或是透過本機群組原則,將軟體限制原則套用到個別的電腦。

重要:在將本指南所討論的所有原則設定 (特別是軟體限制原則設定) 套用到生產系統之前,您應該進行徹底的測試,這一點很重要。設計或實作此功能時若發生錯誤,可能會對使用者造成相當大的不便。

軟體限制原則提供幾種識別軟體的方法,以及以原則為基礎的基礎結構,以便施行識別的軟體之執行規則。電腦使用者必須遵守系統管理員在環境中所建立的軟體限制原則指導方針。

您可以使用軟體限制原則,來完成下列事項:

  • 控制哪些軟體可以在您環境中的用戶端電腦上執行。

  • 限制使用者存取多使用者電腦上的特定檔案。

  • 決定誰可以在用戶端電腦上新增受信任的發行者。

  • 定義原則是否套用到所有的使用者,或僅套用到用戶端電腦上的部分使用者。

  • 避免可執行檔在本機電腦上執行,而這些電腦是以在電腦、OU、站台或網域層級上設定的原則為基礎。


軟體限制原則結構

軟體限制原則提供下列強大功能:

  • 原則的執行是以網域或本機電腦為基礎。系統管理員可以建立原則,然後定義哪些應用程式可以信任,哪些則否。原則會在執行時期強制實行,而且使用者並不會接收到任何可讓他們選擇是否要執行可執行檔的提示。

  • 不只套用到二進位可執行檔的原則。軟體內容的定義其實是有歧義的。軟體限制原則提供對於 Microsoft Visual Basic® Scripting Edition (VBScript)、JScript®,以及其他指令碼語言的控制功能。其中也整合了 Windows Installer 功能,以便控制可以在用戶端電腦上進行安裝的封裝。此功能包括應用程式設計發展介面 (API),可以用來協調原則執行階段和其他執行階段。

  • 可擴充的原則。因為軟體限制原則是透過群組原則來實作,因此可以跨越包含數萬部電腦的網域來有效實作和管理。

  • 具彈性的原則。系統管理員擁有充足的彈性,能禁止未經授權的指令碼,調節 Microsoft ActiveX® 控制項,以及緊密鎖定用戶端電腦。

  • 可讓增強式密碼編譯識別軟體的的原則。軟體限制原則可以識別使用雜湊或數位簽章的軟體。


軟體限制原則實作包括三個階段:

  1. 系統管理員或受委派的單位使用 Microsoft Management Console (MMC) 群組原則嵌入式管理單元,為 Active Directory 容器站台、網域或 OU 建立原則。Microsoft 建議您為軟體限制原則,建立獨立的群組原則物件 (GPO)。

    注意:若要為本機獨立電腦建立新的軟體限制原則,您必須是本機電腦上 Administrators 群組的成員。若要設定這些原則設定,請按一下 [Windows 設定]、[安全性設定],然後 [軟體限制原則]。

  2. 所下載的電腦層級原則在您啟動電腦之後,就會生效。使用者原則會在使用者登入系統或網域之後,就會生效。若要更新原則,請執行 gpupdate.exe /force 命令。

  3. 使用者啟動可執行檔 (例如:應用程式或指令碼) 時,此原則可根據其優先規則,判斷它是否可以執行。

沒有限制或不允許之設定

軟體限制原則分為兩個部分:

  • 指定哪些程式可以執行的預設規則。

  • 預設規則的例外。

您可以將用來識別軟體的預設規則設定為 [沒有限制] 或 [不允許],分別允許或不允許您執行所有軟體。

若您將預設規則設定為 [沒有限制],系統管理員就可以定義例外,或是定義不允許執行的程式集。在用戶端電腦管理鬆散的環境中,請使用 [沒有限制] 預設設定。例如,您可以建立規則來封鎖程式,以便限制使用者安裝會與現有程式相衝突的程式。

更安全的方法是將預設規則設定為 [不允許],然後僅允許特定程式集執行。使用 [不允許] 預設設定時,系統管理員必須定義各個應用程式的規則,並確保使用者電腦上的安全性原則設定均正確,才能存取他們可以執行的應用程式。[不允許] 這個預設設定對於想保護 Windows XP 用戶端電腦的組織是更安全的方法。

四項識別軟體的規則

軟體限制原則中的規則,可識別一或多個應用程式,並指定是否允許它們執行。Windows XP 中的強制引擎在允許應用程式執行之前,會先查詢原則的規則。若要建立規則,您必須指定應用程式,然後將它們歸類到 [不允許] 預設設定的例外狀況中。每一個規則都可以包含註解,以說明其用途。

軟體限制原則會使用下列四項規則來識別軟體:

  • 雜湊規則。使用可執行檔的密碼編譯指紋。

  • 憑證規則。使用 .exe 檔案的軟體發行者數位簽章憑證。

  • 路徑規則。使用本機通用命名慣例 (Universal Naming Convention,UNC) 或 .exe 檔案位置的登錄路徑。

  • 區域規則。使用可執行檔起始的網際網路區域 (如果是透過 Microsoft Internet Explorer 下載的話)。

雜湊規則

雜湊是一種數位指紋,可以識別出軟體程式或可執行檔,既使程式或可執行檔已被移動或重新命名,亦可進行辨識。系統管理員可以使用雜湊來追蹤他們不希望使用者執行的可執行檔或程式的特定版本。

雜湊規則會保持軟體程式的唯一識別性,因為雜湊規則的比對方式是以檔案內容的密碼編譯計算法為依據。會受到雜湊規則影響的檔案類型均列於「軟體限制原則」之詳細資料窗格的 [指定的檔案類型] 區段中。

雜湊規則在靜態環境中的運作效果很好。若您環境中的軟體已升級,則必須為每一個更新過的可執行檔重新計算雜湊。雜湊規則在軟體甚少進行變更或升級的環境中,運作效果很好。

雜湊規則包含下列三項資料,以冒號分隔:

  • MD5 或 SHA-1 雜湊值

  • 檔案長度

  • 雜湊演算法識別碼

已經過數位簽章的檔案會在簽章中使用雜湊值,其中可以是 MD5 或 SHA-1。非數位簽章的可執行檔則是採用 MD5 雜湊值。

雜湊規則的格式如下:

[MD5 或 SHA1 雜湊值]:[檔案長度]:[雜湊演算法識別碼]

下列的雜湊規則範例是一個 126 位元的檔案,其內容符合 MD5 雜湊值 (7bc04acc0d6480af862d22d724c3b049) 和雜湊演算法 (以雜湊演算法識別碼 32771 來表示):

7bc04acc0d6480af862d22d724c3b049:126:32771

系統管理員要限制或允許的每一個檔案,都需要包含雜湊規則。軟體更新之後,系統管理員必須為每一個應用程式建立新的雜湊規則,因為原來可執行檔的雜湊值與新檔案的雜湊值不會相同。

完成下列程序中的步驟,為可執行檔建立雜湊規則。

若要為現有的可執行檔建立雜湊規則

  1. 在 [群組原則物件編輯器] 工具列上,按一下 [Windows 設定]、[安全性設定]、[軟體限制原則],然後在 [其他原則] 上按一下滑鼠右鍵。

  2. 按一下捷徑功能表上的 [新增雜湊規則]。

    圖 6.1 [新增雜湊規則] 對話方塊

    圖 6.1 [新增雜湊規則] 對話方塊

  3. 按一下 [瀏覽] 選取您要為其建立雜湊規則的檔案。在這個範例中,可執行檔是 Excel.exe。新檔案的雜湊值會顯示在 [檔案雜湊:] 方塊中,而應用程式版本則顯示於 [檔案資訊:] 方塊中。

  4. 選取此規則的預設安全性等級設定。選項包括:

    • 不允許

    • 沒有限制

憑證規則

憑證規則可指定在允許程式執行之前,程式必須要有軟體發行者的憑證 (用於程式碼簽署)。例如,系統管理員可以要求所有指令碼和 ActiveX 控制項,都必須要有已簽署的憑證。符合憑證規則而被允許的來源包括:

  • 商業憑證授權單位 (CA),例如 VeriSign。

  • Microsoft Windows 2000/Windows Server™ 2003 公開金鑰基礎架構 (PKI)。

  • 自動簽署的憑證。

憑證規則是較強大的軟體識別方法,因為它使用已簽署檔案中之簽章的已簽署雜湊來比對檔案,不受檔案名稱或位置的影響。不幸的是,很少軟體廠商使用程式碼簽署技術,即使是通常會這麼做的廠商,也只是簽署他們所配送的可執行檔當中的小部分而已。因此,憑證規則通常用於少數特定的應用程式類型,例如:ActiveX 控制項或內部開發的應用程式。例如,本指南建議組織應數位簽署用於管理電腦及使用者的指令碼,以便封鎖所有未經簽章的指令碼。雜湊規則可用來識別憑證規則的例外狀況。

啟用憑證規則

憑證規則預設為停用。完成下列程序中的步驟,就能啟用憑證規則。

若要啟用憑證規則

  1. 在 [群組原則物件編輯器] 中開啟 GPO。

  2. 在主控台樹狀目錄中,按一下 [安全性選項]。

  3. 在詳細資料窗格中,連按兩下 [系統設定: 於軟體限制原則對 Windows 可執行檔使用憑證規則]。

  4. 按一下 [已啟用],即可使用憑證規則。

若需如何數位簽署檔案的詳細指示,請參閱使用軟體限制原則以避免未授權軟體 (英文) 的<使用測試憑證數位簽署檔案之步驟指南>一節,網址是:www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx。

許多商業網站都是透過商業憑證授權單位 (CA) 進行軟體的程式碼簽署。這些憑證的有效期限通常從一年至數年。當使用憑證規則時,要注意憑證的到期日。您可以連絡軟體發行者,瞭解其所發行之憑證的到期日資訊。當收到來自商業 CA 的憑證時,您可以將其匯出到檔案,以建立憑證規則。完成下列程序中的步驟,就能匯出憑證。

若要匯出憑證

  1. 選取發行憑證之受信任的發行者。在此範例中,憑證發行者是 Microsoft MSN®。

    圖 6.2 顯示受信任的發行者的 [安全性警告] 對話方塊

    圖 6.2 顯示受信任的發行者的 [安全性警告] 對話方塊

  2. 按一下 [詳細資料] 索引標籤,然後按一下 [複製到檔案...],將這份憑證複製到檔案中,並用以建立憑證規則。

    圖 6.3 [憑證] 對話方塊中的 [詳細資料] 索引標籤

    圖 6.3 [憑證] 對話方塊中的 [詳細資料] 索引標籤

  3. 將出現 [憑證匯出精靈] 歡迎畫面。按 [下一步] 繼續。

    圖 6.4 憑證匯出精靈歡迎畫面

    圖 6.4 憑證匯出精靈歡迎畫面

  4. 在 [匯出檔案格式] 頁面上,選取 [DER 編碼二位元 X.509 (.CER)],然後按一下 [下一步],即可建立副檔名為 .cer 的憑證檔案。

    圖 6.5 憑證匯出精靈的 [匯出檔案格式] 畫面,顯示已選取的編碼方法

    圖 6.5 憑證匯出精靈的 [匯出檔案格式] 畫面,顯示已選取的編碼方法

  5. 在 [要匯出的檔案] 頁面上,指定憑證規則的描述性檔案名稱。憑證將以您所選擇的檔名,儲存到您所選取的位置上。

    圖 6.6 憑證匯出精靈的 [要匯出的檔案] 畫面,顯示檔案名稱範例

    圖 6.6 憑證匯出精靈的 [要匯出的檔案] 畫面,顯示檔案名稱範例

  6. [完成憑證匯出精靈] 畫面將顯示憑證檔案的指定設定。檢視這些設定,然後按一下 [完成] 即可匯出檔案。

    圖 6.7 [完成憑證匯出精靈] 畫面,顯示指定的設定

    圖 6.7 [完成憑證匯出精靈] 畫面,顯示指定的設定

路徑規則

路徑規則會指定資料夾或程式的完整路徑。當路徑規則指定資料夾時,它會比對該資料夾內及其子資料夾內的任何程式。路徑規則可支援本機路徑及 UNC 路徑。

系統管理員必須定義所有目錄,特定應用程式將在路徑規則中從這些目錄中啟動。例如,若使用桌面捷徑來啟動應用程式,路徑規則必須指定可執行檔以及捷徑路徑,才能執行應用程式。若使用者嘗試只用一部分的路徑規則來執行應用程式,將會出現「軟體限制」警告。

許多應用程式會使用 %ProgramFiles% 變數,將檔案安裝到 Windows XP 電腦的硬碟上。不幸的是,一些應用程式經過硬式編碼,將檔案複製到 C:\Program Files 子目錄中,即使將這個變數設定為不同磁碟機上的其他目錄,結果也是一樣。在您建立和測試路徑規則時,請記得這個限制。

在路徑規則中使用環境變數

您可以定義使用環境變數的路徑規則。由於路徑規則都是在用戶端環境中進行評估,因此環境變數可以讓系統管理員根據特定使用者環境來作調整。

下列兩個範例顯示出將環境變數套用到路徑規則的方法。

  • "%UserProfile%" 符合 C:\Documents and Settings\ <使用者> ,以及此目錄中的所有子資料夾。

  • "%ProgramFiles%\<應用程式>" 符合 C:\Program Files\ <應用程式> ,以及此目錄中的所有子資料夾。

    注意:環境變數並不受到存取控制清單 (ACL) 的保護。環境變數有兩種類型:「使用者」和「系統」。能夠開啟命令提示字元的使用者,就可以將「使用者」環境變數重新定義成另一個路徑。只有屬於 Administrators 群組的使用者,才可以變更「系統」環境變數。

雖然上述兩個範例很有用,但是您可能需要考慮其他可用的環境變數。若需完整的清單,請參閱命令殼層概觀 (英文),網址是:www.microsoft.com/resources/documentation/windows/xp/all/proddocs/
en-us/ntcmds_shelloverview.mspx。

在路徑規則中使用萬用字元

路徑規則可以使用 "?" 和 "*" 等萬用字元。下列範例顯示套用到不同路徑規則上的萬用字元:

  • \\DC – ??\login$ 符合 \\DC – 01\login$\\DC – 02\login$ 等。

  • *\Windows 符合 C:\WindowsD:\WindowsE:\Windows,以及各個目錄中的所有子資料夾。

  • C:\win* 符合 C:\winntC:\windowsC:\windir,以及各個目錄中的所有子資料夾。

  • *.vbs 符合 Windows XP Professional 中具有此副檔名的任何應用程式。

  • C:\Application Files\*.* 符合特定子目錄中的所有應用程式檔案。

登錄路徑規則

許多應用程式會將安裝資料夾或應用程式目錄的路徑,儲存在 Microsoft Windows 登錄中。有些應用程式可以安裝在檔案系統的任何位置。若要找到它們,您可以建立路徑規則,以查詢它們的登錄機碼。

這些位置可能無法透過特定資料夾路徑 (例如:C:\Program Files\Microsoft Platform SDK) 或環境變數 (例如:%ProgramFiles%\Microsoft Platform SDK) 輕易地被找到。然而,如果程式將應用程式目錄儲存在登錄中,您就可以建立路徑規則,使用儲存在登錄中的值,例如:

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlatformSDK\Directories\
Install Dir%

這類的路徑規則稱為「登錄路徑規則」,其格式如下:

%<登錄 Hive>\<登錄機碼名稱>\<值名稱>%

注意:登錄路徑規則的尾碼,在規則的最後一個 % 符號後面,不能緊鄰著一個 \ 字元。登錄 Hive 名稱必須完整寫出,不能使用縮寫。

當預設規則設定為 [不允許] 時,就會建立四個登錄路徑規則,讓作業系統可以存取系統檔案。這些登錄路徑規則被建立為防範措施 (使您不會將自己和所有其他使用者鎖在系統外),而且設定為 [沒有限制]。只有進階使用者才能修改或刪除這些規則。登錄路徑規則的設定如下:

  • %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
    CurrentVersion\SystemRoot%

  • %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
    CurrentVersion\SystemRoot%\*.exe

  • %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
    CurrentVersion\SystemRoot%\System32\*.exe

  • %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
    CurrentVersion\ProgramFilesDir%

路徑規則的優先順序

當有多個條件符合的路徑規則時,特定性最高的規則會享有優先優先順序。下列路徑集是從最高優先順序 (特定性最高) 到最低優先順序 (普遍性最高) 來排序:

  • Drive:\Folder1\Folder2\FileName.Extension

  • Drive:\Folder1\Folder2\*.Extension

  • *.Extension

  • Drive:\Folder1\Folder2\

  • Drive:\Folder1\

區域規則

您可以使用區域規則,來識別從下列 Internet Explorer 區域所下載的軟體:

  • 網際網路。

  • 內部網路

  • 限制的網站

  • 信任的網站

  • 我的電腦

目前的網際網路區域規則版本僅適用於 Windows Installer (*.msi) 封裝。此外,此規則也不適用於透過 Internet Explorer 下載的軟體。所有其他受到區域規則影響的檔案類型,均列於本章稍後的「指定的檔案類型」表格中。一個指定的檔案類型清單,是由所有的區域規則共用。

規則建議

使用下列表格中的資訊,判斷哪一種規則最適合應用程式的使用者和環境。

表 6.1 針對特定應用程式判斷最適合的規則

工作

建議規則

允許或不允許特定的程式版本。

雜湊規則
瀏覽至檔案,以建立雜湊。

識別永遠安裝在相同位置的程式。

使用環境變數的路徑規則
%ProgramFiles%\Internet Explorer\iexplore.exe

識別可安裝在用戶端電腦上任何位置的程式。

登錄路徑規則
%HKEY_LOCAL_MACHINE\SOFTWARE\ ComputerAssociates\InoculateIT\6.0\Path\HOME%

識別位於中央伺服器上的指令碼集合。

路徑規則
\\SERVER_NAME\Share

識別位於伺服器集合上的指令碼集合。例如,DC01、DC02 及 DC03。

使用萬用字元的路徑規則
\\DC??\Share

不允許所有 .vbs 檔案,除了登入指令碼目錄中的檔案例外。

使用萬用字元的路徑規則

*.VBS 設定為 [不允許]

\\LOGIN_SRV\Share\*.VBS 設定為 [沒有限制]

不允許由病毒安裝名為 Flcss.exe 的檔案。

路徑規則

Flcss.exe 設定為 [不允許]

識別可以在任何位置執行的指令碼集合。

憑證規則

使用憑證來數位簽署指令檔。

允許從信任的網際網路區域站台安裝軟體。

區域規則

將 [信任的網站] 設為 [沒有限制]。

軟體限制原則優先規則

規則會以特定順序進行評估。特定性較高的規則會比普遍性較高的規則具有更高的優先順序。如果有內容一模一樣,但安全性等級不同的兩個規則,則具較高安全性等級的規則就會享有優先順序。例如,如果有兩個雜湊規則,其中之一的安全性等級為 [不允許],而另一個的安全性等級為 [沒有限制],且兩者均套用到同一個軟體程式上,則安全性等級為 [不允許] 的規則就會有優先順序,因而導致程式不會被執行。以下清單定義規則的優先順序,從特定性最高至特定性最低的順序列出:

  1. 雜湊規則。

  2. 憑證規則

  3. 路徑規則

  4. 區域規則

  5. 預設規則


軟體限制原則選項

此部分將討論各種強制選項,以及它們對於軟體限制原則功能的影響。這些選項會改變 Microsoft Authenticode® 信任設定對於經過數位簽署之檔案的強制執行方式。有兩種強制執行選項:動態連結程式庫 (DLL) 檢查,以及跳過系統管理員。

DLL 檢查

大部分的程式,都是由一個可執行檔以及多個支援的 DLL 所組成。在預設的狀態下,軟體限制原則規則並不會在 DLL 上強制執行。建議大多數客戶使用這個預設選項,主要有下列三個原因:

  • 若不允許主要的可執行檔,就可以阻止該程式的執行,所以不需要不允許所屬 DLL。

  • DLL 檢查會降低系統效能,因為系統需要檢查所有與應用程式連結的程式庫。例如,如果使用者在一個登入工作階段中執行 10 個程式,軟體限制原則就需要評估每一個程式。開啟 DLL 檢查功能時,軟體限制原則就需要評估每一個程式內的每一個 DLL 負載。如果每一個程式使用 20 個 DLL,如此就需要檢查 10 個可執行檔加上 200 個 DLL,亦即軟體限制原則必須要執行 210 個評估作業。

    Internet Explorer 等程式是由一個可執行檔 (iexplore.exe) 以及多個支援的 DLL 所組成。

  • 如果將預設安全性等級設為 [不允許],就會強迫系統在允許其執行之前,先識別主要的可執行檔,加上屬於該 .exe 檔案的 DLL,如此將會增加系統的負荷。

因為有些病毒主要是針對可執行檔下手,但是還是有些病毒會特別針對 DLL。因此,當您的程式執行環境需要有最安全的防護時,才建議您使用 DLL 檢查。

若要確保程式沒有病毒,您可以使用雜湊規則集來識別可執行檔以及所屬的 DLL。

若要關閉 [DLL 檢查] 選項

  • 在編輯軟體限制原則時,請在 [強制內容] 對話方塊中選取 [所有軟體檔案。不包含程式庫 (例如 DLL)],如下圖所示:

    圖 6.8 [強制內容] 對話方塊,顯示檔案和使用者強制選項

    圖 6.8 [強制內容] 對話方塊,顯示檔案和使用者強制選項

跳過系統管理員

您通常不允許大部分使用者執行程式,但是會允許系統管理員執行所有程式。例如,系統管理員可能會有讓多位使用者透過終端機伺服器連線的共用電腦。系統管理員可能會要求使用者僅能在該電腦上執行特定的應用程式,但是允許本機的 Administrators 群組執行任何程式。使用 [跳過系統管理員] 強制選項,即可執行此功能。

如果軟體限制原則是在連結至 Active Directory 中物件的 GPO 中建立的,則 Microsoft 建議您在 GPO 中拒絕 Administrators 群組的「套用群組原則」權限,並且不要使用 [跳過系統管理員] 選項。這個方法會佔用較少的網路頻寬,因為這樣就不會下載不適用於系統管理員的 GPO 設定。

注意:於本機安全性原則中所定義的軟體限制原則,無法篩選使用者群組,因此需要使用 [跳過系統管理員] 選項。

若要開啟 [跳過系統管理員] 選項

  • 在 [強制內容] 對話方塊中 (如圖 6.8 所示),選取 [所有使用者,除了本機系統管理員]。

定義可執行檔

[指定的檔案類型內容] 對話方塊 (如下圖所示) 中,會列出軟體限制原則所掌控的檔案類型。這些檔案類型均視為可執行檔。例如,螢幕保護裝置檔案 (.scr) 就會被視為可執行檔,因為當您從 [Windows 檔案總管] 中連按兩下該檔案時,它就會以程式狀態載入。

軟體限制原則規則僅適用於 [指定的檔案類型內容] 對話方塊中所列出的檔案類型。如果您要套用規則到環境中所使用的其他檔案類型,您就需要將此檔案類型加入到此清單中。例如,針對 Perl 指令檔,您可以選擇將 .pl 和其他與 Perl 引擎相關的檔案類型,加入到 [指定的檔案類型內容] 對話方塊 [一般] 索引標籤下的 [指定的檔案類型:] 清單中。

圖 6.9 [指定的檔案類型內容] 對話方塊

圖 6.9 [指定的檔案類型內容] 對話方塊

若為本指南中所定義的 GPO 設計,會移除 .mdb 與 .lnk 這兩種檔案類型,而新增 .ocx。下表列出指定的檔案類型。

表 6.2 指定的檔案類型

副檔名

說明

副檔名

說明

.ade

Microsoft Access 專案副檔名

.msc

Microsoft Common Console 文件

.adp

Microsoft Access 專案

.msi

Windows Installer 封裝

.bas

Visual Basic 類別模組

.msp

Windows Installer 修補

.bat

批次檔案

.mst

Visual Test 來源檔案

.chm

已編譯的 HTML Help 檔案

.ocx

ActiveX 控制項

.cmd

Windows NT Command Script

.pcd

PCD 檔案

.com

MS-DOS 應用程式

.pif

MS-DOS 程式捷徑

.cpl

控制台擴充

.reg

登錄項目

.crt

安全性憑證

.scr

螢幕保護裝置

.exe

應用程式

.sct

Windows 指令碼元件

.hlp

Windows 說明檔

.shs

Shell Scrap 物件

.hta

HTML 應用程式

.url

網際網路捷徑 (統一資源定位器)

.inf

安裝資訊檔案

.vb

Visual Basic 檔案

.ins

網際網路通訊設定

.vbe

VBScript Encoded 指令檔

.isp

網際網路通訊設定

.vbs

VBScript 指令檔

.js

JScript 檔案

.wsc

Windows 指令碼元件

.jse

JScript Encoded 指令檔

.wsf

Windows 指令檔

.mde

Microsoft Access MDE 資料庫

.wsh

Windows Scripting Host 設定檔

受信任的發行者

您可以使用 [受信任的發行者內容] 對話方塊,設定哪些使用者可以選取受信任的發行者。您也可以決定在信任發行者之前,要執行哪些 (如果有的話) 憑證撤銷檢查。啟用憑證規則之後,軟體限制原則就會檢查憑證撤銷清單 (CRL),以確保軟體的憑證和簽章均有效。但是,當啟動已簽署的程式時,此程序可能會降低效能。

[受信任的發行者內容] 對話方塊的 [一般] 索引標籤中的選項 (如下圖所示),可以讓您針對與 ActiveX 控制項和其他已簽署內容相關的設定進行設定。

圖 6.10 [受信任的發行者內容] 對話方塊

圖 6.10 [受信任的發行者內容] 對話方塊

下表顯示與 ActiveX 控制項和其他已簽署內容相關之受信任的發行者選項。

表 6.3 受信任發行者之工作和設定

設定名稱

工作

企業系統管理員

此選項僅允許企業系統管理員決定已簽署主動式內容的處理方式。

本機電腦系統管理員

此選項允許本機電腦系統管理員決定已簽署主動式內容的處理方式。

一般使用者

此選項允許使用者決定已簽署主動式內容的處理方式。

發行者

此選項會驗證軟體發行者所使用的憑證尚未被撤銷。

時間戳記

此選項會驗證組織用來為主動式內容作時間戳記的憑證尚未被撤銷。


軟體限制原則的設計與部署

此節將說明如何使用「群組原則」嵌入式管理單元來管理軟體限制原則、初次編輯原則時需要注意的事項,以及如何為一群使用者套用軟體限制原則。其中也討論與部署軟體限制原則相關的許多問題。

與群組原則的整合

您可以使用「群組原則」嵌入式管理單元,來管理多個用戶端電腦的軟體限制原則,以及管理登入到電腦之所有使用者的軟體限制原則。原則會套用到本指南所定義的桌上型電腦 OU 和膝上型電腦 OU。

網域

系統管理員需要為軟體限制原則建立獨立的 GPO。在發生意外問題時,這個方法才能夠在不影響已套用至物件的其他原則的情形下,來停用「群組原則」。

本機

本機原則應依據本指南第 5 章<保護獨立 Windows XP 用戶端的安全>中所述,針對您環境中的獨立用戶端電腦來設定。

設計原則

此節說明在設計和部署軟體限制原則時,所需要遵循的步驟。原則設計會需要您作一些決定,這些決定將在下表中說明。

表 6.4 重要的原則設計考量

需要決定的事項

需要考慮的因素

膝上型電腦或工作站

調查您環境中膝上型電腦使用者的需求,以判斷膝上型電腦是否需要採用與桌上型電腦不同的原則。一般而言,膝上型電腦會需要比桌上型電腦更大的彈性。

伺服器共用、登入指令碼,以及主目錄磁碟機

您需要為所有從伺服器共用或主目錄啟動的應用程式,定義路徑規則。您可以在路徑規則中,加入登入指令檔。如果指令碼中會叫用其他的指令碼,您也需要將執行位置加入到路徑規則中。

GPO 或本機安全性原則

在本指南中,GPO 用於設計。但是,您需要考慮本機原則對於您的設計可能會造成的影響。

使用者或電腦原則

此設計會套用電腦層級上的所有設定。

預設安全性等級

建議將預設設定設為 [不允許],然後再據此設定其他的原則。您也可以選擇使用預設的 [沒有限制] 設定。

其他原則

使用 [不允許] 預設原則時,您就必須視需要,套用其他的作業系統路徑規則。在 [不允許] 設定狀態下,都會自動建立這四種規則。

原則選項

如果您要使用本機安全性原則,但是不要將原則套用到環境中之用戶端電腦上的系統管理員,請選取 [跳過系統管理員] 原則強制選項。

如果您要檢查 DLL、可執行檔和指令碼,請選取 [DLL 檢查] 原則強制選項。

如果您要為不在指定的檔案類型之預設清單中的檔案類型建立規則,請視需求將它們加入到 [指定的檔案類型內容] 對話方塊中。

如果您要變更可以決定是否下載 ActiveX 控制項及其他已簽署內容的人員,請勾選 [受信任的發行者內容] 對話方塊的 [一般] 索引標籤中的 [發行者] 核取方塊。

將原則套用到站台、網域或 OU

原則會存在於桌上型電腦或膝上型電腦所在位置的 OU 之下。


注意:雖然本指南建議在電腦層級中強制執行軟體限制原則,但是在許多狀況下,也適合在使用者層級中強制執行軟體限制原則。比如說,有共用電腦的組織 (例如:終端機伺服器應用程式伺服器、電話服務中心工作站) 可能想允許某些使用者執行一系列的應用程式,但同時想封鎖其他所有使用者的存取。

最佳作法

Microsoft 建議您為軟體限制原則建立獨立的 GPO,因為如果您需要在緊急狀況下停用原則,如此才不會影響到其他的網域或本機原則。

另外,如果您在 OU 的設計階段中,不小心鎖定了工作站,此時才能以「安全模式」重新開機,再以本機系統管理員的身分登入並修改原則,來排解問題。當以「安全模式」啟動 Windows 時,就不會套用軟體限制原則。以「安全模式」啟動電腦之後,執行 Gpupdate.exe,然後再重新啟動即可。

若要得到最佳的安全性保障,請在軟體限制原則中搭配使用 ACL,而且不要授予使用者系統管理權限。使用者可能會嘗試重新命名或移動禁用的檔案,或覆寫未受限制的檔案,藉以規避軟體限制原則。使用 ACL 來拒絕使用者存取,以執行這些動作之一。屬於本機 Administrators 群組成員的使用者,將能略過您的軟體限制原則實作;因此,Microsoft 建議您盡量不要授予使用者系統管理權限。

登入指令碼通常位於網域控制站或中央伺服器的 SYSVOL 之下。網域控制站通常會隨著每一次登入而變更。如果您的預設規則設定為 [不允許],請務必建立可以識別您登入指令碼位置的規則。如果登入伺服器有類似的名稱,請考慮使用萬用字元來找出它們,或是以未受限制的設定來使用登入指令碼名稱。

注意:請先在測試環境中,徹底地測試新軟體限制原則設定,再將它們套用到您的網域中。新的原則設定可能會產生無法預期的行為。藉由進行徹底的測試,可以在網路部署軟體限制原則之後,將發生問題的機會降到最低。

步驟流程

請按照下列資訊進行軟體限制原則的設計程序,然後將其套用到您環境中的膝上型與桌上型電腦的 GPO。

步驟 1: 為 OU 建立 GPO

找出為環境中的桌上型或膝上型電腦所建立的 OU。如果您使用的是獨立用戶端電腦,則原則設定會位於「本機電腦原則」中。在此原則中,按一下 [內容],然後建立新的 GPO。根據貴組織的命名慣例,為該原則命名。請記住,此原則僅適用於執行軟體限制。

步驟 2: 設定軟體限制原則

將 GPO 反白,然後按一下 [編輯]。瀏覽樹狀目錄,直到您找到 Windows 設定\安全性設定\軟體限制原則為止。第一次編輯原則時,您會看到下列訊息:

沒有定義軟體安全性原則。

此訊息會警告您,在您建立原則時,將會定義預設值。這些預設值可能會覆蓋掉來自其他軟體限制原則的原則設定。由於尚未設定任何的軟體限制原則設定,所以請先從預設設定開始。在 [執行] 功能表上按一下滑鼠右鍵,然後選取 [新軟體限制原則]。

步驟 3: 設定路徑規則

決定工作站將使用哪些應用程式和指令碼之後,就可以設定路徑規則。有些程式會啟動其他程式以執行任務,您環境中的軟體應用程式可能依賴支援其他程式的一個或多個程式。記錄目前已經安裝的軟體,並記載安裝細節,對於追蹤路徑規則非常有幫助。工作站設計的範例可能包括下列指示:

  • 應用程式 = *\Program Files

  • 共用群組應用程式= g:\Group Applications

  • 登入指令碼 = Logon.bat

  • 桌面捷徑 = *.lnk

  • 批准的 VBS 指令碼 = * .vbs

步驟 4: 設定原則選項

下列選項包含針對本指南定義的設計而建議使用的原則設定。這些選項會改變已數位簽署之檔案的強制執行範圍和 Authenticode 信任設定。

  • 強制執行。如果電腦屬於網域的一部分,請確定 Domain Admins 群組已經自動加入到 Administrators 群組。

  • 套用到使用者上。套用到本機系統管理員以外的所有使用者。使用此選項會延遲每一個應用程式的啟動速度。為了緩和此延遲,此設計會將原則設定為不檢查 DLL。

  • 套用到檔案上。套用程式庫 (例如 DLL) 以外的所有軟體檔案。使用此選項會延遲每一個應用程式的啟動速度。為了緩和此延遲,此設計會將原則設定為不檢查 DLL。

  • 指定的檔案類型。就本指南所定義的 GPO 設計,則 .ocx 會新增到清單中,而移除 .mdb 與 .lnk 檔案類型。您應該根據需要,加入自訂應用程式檔案類型的副檔名,才能確保它們也遵循相同的規則。

  • 受信任的發行者。就本指南所定義的 GPO 設計,Administrators 群組已經啟用,也已經選取 [受信任的發行者內容: 本機電腦系統管理員]。

信任發行者之前,在您設計 GPO 時,請選取 [檢查: 發行者] 選項,以確保原則驗證憑證。

步驟 5: 套用預設設定

最佳作法,是將原則設定為預設的 [沒有限制] 設定。這個方法才能確保在套用軟體限制之前,原則經過適當初始化。您檢閱原則設定之後,再將預設設定重設為 [不允許]。

步驟 6: 測試原則

如果電腦屬於網域的一部分,請將電腦移動到已套用原則的 OU 容器內。重新啟動測試電腦並登入。測試計畫應該要有相關的指示,說明各個應用程式在套用原則之後應有的行為。執行應用程式,以確保它們具備完整的功能,而且您可以存取所有的功能。驗證應用程式的功能之後,模擬攻擊應用程式,確保原則並沒有安全性的漏洞。

如果電腦屬於獨立用戶端,請登入測試電腦,然後根據測試計畫進行。驗證應用程式的功能之後,模擬攻擊應用程式,確保原則並沒有安全性的漏洞。

部署軟體限制原則

完成原則的完整測試之後,將其套用到您環境中的桌上型或膝上型電腦 OU。如果是獨立用戶端電腦,請套用到用戶端的本機電腦設定。開啟 MMC 電腦和使用者嵌入式管理單元,並瀏覽樹狀目錄,直到您找到桌上型或膝上型電腦的 OU 容器。然後,使用「群組原則物件編輯器」建立新的 GPO。編輯內容,並且在 Windows 設定\安全性設定下的 [軟體限制原則] 中,根據下表所提供的資訊,套用適用的原則設定。

表 6.5 安全性等級

UI 的預設規則

說明

設定

不允許

軟體無法執行,無論使用者的存取權限為何。

使用此預設規則


表 6.6 其他規則

路徑規則

設定

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\SystemRoot%

沒有限制

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\SystemRoot%\*.exe

沒有限制

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\SystemRoot%\System32\*.exe

沒有限制

%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\ProgramFilesDir%

沒有限制

*.vbs

不允許

G:\Group Applications

沒有限制

Logon.bat 或登入指令碼

沒有限制

*\Program Files

沒有限制


表 6.7 檔案和使用者的強制執行

強制選項

建議

將軟體限制原則套用到下列項目:

所有軟體檔案。不包含程式庫 (例如 DLL)。

套用軟體限制原則到下列使用者:

所有的使用者,除了本機系統管理員。


表 6.8 指定的檔案類型

檔案類型

建議

指定的檔案類型內容

移除 .mdb 與 .lnk 檔案類型,並新增 .ocx。


表 6.9 受信任的發行者

受信任的發行者

建議

允許下列使用者群組選取受信任的發行者:

本機電腦系統管理員

決定憑證是否已撤銷。

選取 [發行者] 選項。


總結

軟體限制原則提供系統管理員有效的方法,識別並控制執行 Windows XP Professional 電腦上的軟體。您可以建立原則來阻擋惡意指令碼、以不同方式鎖定環境中的電腦,以及阻止應用程式的執行。在企業組織中,最佳作法是使用 GPO 來管理軟體限制原則,以及自訂各原則,以便配合不同使用者群組和電腦的需求。Microsoft 建議您不要在獨立環境中管理使用者群組。

若正確套用軟體限制原則,將可提升貴組織電腦的完整性和可管理性,最後會降低那些電腦上的作業系統的持有及維護成本。

其他資訊

下列連結提供更多與 Windows XP Professional 安全性有關的主題。

  • 如需關於軟體限制原則的詳細資訊,請參閱使用軟體限制原則以避免未授權軟體 (英文),網址為:www.microsoft.com/technet/prodtechnol/winxppro/maintain/rstrplcy.mspx。

  • 如需關於群組原則的詳細資訊,請參閱 Windows 2000 群組原則 (英文),網址是:www.microsoft.com/windows2000/techinfo/howitworks/management/grouppolwp.asp。


下載

下載下載 Windows XP 安全性指南 (英文)


顯示: