萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

IIS 最小權限 NTFS 設定指南:七步驟打造安全且可運行的虛擬主機環境

原則:最小權限 — 僅授予 IIS 正常運作所必須的存取權

過度授權是導致網站被植入 Web Shell、提權、橫向移動的主因。以下 7 步驟建立嚴格又可用的 NTFS 權限基線 (環境: Windows 2000/XP/Server 2003, IIS 5.0/6.0)。

七步驟權限設定

步驟 1:整顆磁碟根目錄基線

System          : 完全控制
Administrators  : 完全控制
☑ 允許繼承父系權限傳播給子物件

移除 Users、Everyone、Power Users 等非必要主體。

步驟 2:共用系統檔案目錄

\Program Files\Common Files
Everyone : 讀取、執行、列出資料夾內容、讀取
☑ 允許繼承

確保 COM 元件、共用 DLL 可被 IIS 背景進程載入。

步驟 3:網站根目錄 (預設 \Inetpub\wwwroot)

IUSR_MACHINE (匿名使用者帳號) : 讀取、執行、列出資料夾內容、讀取
☑ 允許繼承

若有多個網站,各網站根目錄分別授予對應的 IWAM_ 或應用程式集區身分識別帳號同等權限。

步驟 4:系統核心目錄精細切割 — \Winnt\System32

  • 選取 除 Inetsrv (IIS 核心) 和 Centsrv (Certificate Services) 以外的所有子目錄。
  • 取消勾選 「允許繼承父系權限傳播給子物件」 → 選擇「複製」 (Copy) 而非「移除」,保留現有權限但切斷繼承鏈。
  • 目的:防止 IIS 匿名使用者透過目錄遍歷 (../) 存取敏感系統目錄 (如 config, drivers, spool 等)。

步驟 5:\Winnt 目錄同樣切割繼承

  • 保留繼承的目錄 (不可切割):Downloaded Program Files、Help、IIS Temporary Compressed Files、Offline Web Pages、System32、Tasks、Temp、Web。
  • 其餘目錄:取消繼承 → 複製權限。

步驟 6:\Winnt 目錄授予 Everyone 基礎讀取權

\Winnt
Everyone : 讀取、執行、列出資料夾內容、讀取
☑ 允許繼承

確保系統啟動、修補程式安裝、事件檢視器等正常運作。

步驟 7:暫存目錄授予修改權 — \Winnt\Temp

\Winnt\Temp
Everyone : 修改 (讀取、寫入、刪除、列出、執行)
☑ 允許繼承

支援 ASP/ASP.NET 應用程式寫入暫存檔、上傳檔案、Session 狀態儲存。注意: 若網站採用獨立應用程式集區身分識別,建議將 Everyone 改為對應的 IIS_WPG 群組或特定集區身分識別帳號,進一步縮小權限。

驗證與維護

  1. 使用 cacls 或 icacls 匯出權限報表備份 (icacls C:\Inetpub\wwwroot /save acl_backup.txt)。
  2. 部署新網站/虛擬目錄時,依樣畫葫蘆套用步驟 3、7 邏輯。
  3. 定期稽核:accesschk.exe -w -s "IUSR_*" C:\Inetpub 檢查匿名使用者寫入權限異常。
  4. 配合 URLScan / Request Filtering、應用程式集區隔離、動態 IP 限制、WAF 形成多層防護。

結語

NTFS 權限是 IIS 安全的基石。「預設拒絕、最小授權、切斷繼承、獨立身分」 十六字方針貫穿始終。將上述 7 步驟腳本化 (PowerShell/icacls)、納入基線合規檢查清單,才能在持續變更中維持安全態勢不退縮。

copyright © 萬盛學電腦網 all rights reserved