Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows XP 專業版軟體限制原則深度解析(二):環境變數、萬用字元與路徑規則優先權

編輯:XP 系統基礎知識

Windows XP 專業版預設環境變數完整對照表

在設定軟體限制原則的路徑規則時,善用環境變數能讓規則更具彈性與通用性。下表彙整 Windows XP Professional 的預設環境變數,說明各變數的類型與用途:

變數名稱 類型 說明
ALLUSERSPROFILE本地所有使用者設定檔的儲存位置
APPDATA本地應用程式預設資料儲存路徑
CD本地目前目錄字串
CMDCMDLINE本地啟動目前 Cmd.exe 的完整命令列
CMDEXTVERSION系統命令處理器擴充功能版本號
COMPUTERNAME系統電腦名稱
COMSPEC系統命令解譯器可執行檔的確切路徑
DATE系統目前日期(格式同 date /t)
ERRORLEVEL系統最近一個命令的錯誤代碼(非零通常表示錯誤)
HOMEDRIVE系統使用者主目錄所在的本機磁碟機代號
HOMEPATH系統使用者主目錄的完整路徑
HOMESHARE系統使用者共享主目錄的網路路徑
LOGONSEVER本地驗證目前登入工作階段的網域控制站名稱
NUMBER_OF_PROCESSORS系統安裝的處理器數量
OS系統作業系統名稱(XP 顯示為 Windows NT)
PATH系統可執行檔搜尋路徑
PATHEXT系統系統視為可執行檔的副檔名清單
PROCESSOR_ARCHITECTURE系統處理器架構(x86、IA64)
PROCESSOR_IDENTFIER系統處理器描述資訊
PROCESSOR_LEVEL系統處理器型號
PROCESSOR_REVISION系統處理器修訂版本
PROMPT本地目前命令提示字元設定
RANDOM系統0 到 32767 之間的隨機十進位數
SYSTEMDRIVE系統包含 Windows 根目錄的磁碟機
SYSTEMROOT系統Windows 根目錄位置
TEMP / TMP系統/使用者目前登入使用者的預設暫存目錄
TIME系統目前時間(格式同 time /t)
USERDOMAIN本地包含使用者帳號的網域名稱
USERNAME本地目前登入的使用者名稱
USERPROFILE本地目前使用者設定檔位置
WINDIR系統作業系統目錄位置

路徑規則中的萬用字元應用

路徑規則支援「?」與「*」兩種萬用字元,靈活套用可大幅簡化規則管理:

  • ?:代表單一字元。例如 \\DC???\login$ 可對應 \\DC001\login$、\\DC002\login$ 等。
  • *:代表零個或多個字元。常見範例:
    • *\Windows:比對所有磁碟機下的 Windows 目錄及其子目錄
    • C:\win*:比對 C:\winnt、C:\Windows、C:\windir 等
    • *.vbs:比對所有 .vbs 檔案
    • C:\Application Files\*.*:比對特定子目錄下的所有檔案

登錄路徑規則:解決應用程式安裝路徑不固定的問題

許多應用程式將安裝路徑寫入登錄,而非固定安裝在特定資料夾。此時可使用「登錄路徑規則」,格式為:

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

範例:%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlatformSDK\Directories\Install Dir%

注意事項:

  1. 規則結尾的 % 符號後不得緊接 \ 字元
  2. 登錄樹名稱必須完整拼寫,不支援縮寫(如 HKLM 無效)

預設安全等級設為「不允許」時自動建立的四項登錄路徑規則

為防止系統檔案被封鎖導致無法運作,系統會自動建立下列「不受限制」的登錄路徑規則(僅限進階使用者修改或刪除):

  • %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%

路徑規則優先權判斷邏輯

當多個路徑規則同時符合同一程式時,最具體(最明確)的規則優先權最高。優先順序由高至低如下:

  1. 磁碟機:\資料夾1\資料夾2\檔案名.副檔名(完整路徑+檔名)
  2. 磁碟機:\資料夾1\資料夾2\*.副檔名(資料夾+副檔名萬用字元)
  3. *.副檔名(僅副檔名)
  4. 磁碟機:\資料夾1\資料夾2\(完整資料夾路徑)
  5. 磁碟機:\資料夾1\(較上層資料夾)

網域區域規則

區域規則依據 Internet Explorer 的安全性區域識別軟體來源,適用區域包含:

  • Internet
  • 近域網路
  • 受限制的網站
  • 信任的網站
  • 我的電腦

重要限制:目前版本的 Internet 區域規則僅適用於 Windows Installer (*.msi) 套件,不適用於透過 IE 下載的一般軟體。所有受區域規則影響的檔案類型均定義於指派檔案類型清單中。

路徑規則選擇建議決策表

管理任務 建議規則類型 範例
允許/封鎖特定程式版本 雜湊規則
瀏覽至檔案建立雜湊值
精確鎖定某版本的 application.exe
識別固定安裝位置的程式 含環境變數的路徑規則 %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. 預設規則 — 最後防線,適用於所有未符合上述規則的軟體

同類規則衝突時:安全性等級較高者優先。例如同一程式同時套用「不允許」與「不受限制」兩個雜湊規則,「不允許」生效,程式將無法執行。

強制執行選項:DLL 檢查與跳過系統管理員

DLL 搪查

預設不檢查 DLL,僅驗證主要可執行檔(.exe)。這是大多數環境的建議設定,原因有三:

  1. 封鎖主執行檔即可阻止程式執行,無須額外封鎖其 DLL
  2. 啟用 DLL 檢查會顯著降低效能:若使用者執行 10 個程式、每個載入 20 個 DLL,系統需執行 210 次評估(10 個 .exe + 200 個 DLL)
  3. 預設安全等級若為「不允許」,系統需同時識別主程式與所有 DLL,負擔過重

何時啟用? 追求最高安全性時(某些病毒專門感染 DLL)。建議搭配雜湊規則同時識別主程式與所有 DLL。

關閉方式: 在「強制執行屬性」對話框選擇「除程式庫檔案(如 DLL)以外的所有軟體檔案」。


圖 6.9:「強制執行屬性」對話框,顯示檔案與使用者強制選項

Copyright © Windows教程網 All Rights Reserved