過度授權是導致網站被植入 Web Shell、提權、橫向移動的主因。以下 7 步驟建立嚴格又可用的 NTFS 權限基線 (環境: Windows 2000/XP/Server 2003, IIS 5.0/6.0)。
System : 完全控制
Administrators : 完全控制
☑ 允許繼承父系權限傳播給子物件
移除 Users、Everyone、Power Users 等非必要主體。
\Program Files\Common Files
Everyone : 讀取、執行、列出資料夾內容、讀取
☑ 允許繼承
確保 COM 元件、共用 DLL 可被 IIS 背景進程載入。
IUSR_MACHINE (匿名使用者帳號) : 讀取、執行、列出資料夾內容、讀取
☑ 允許繼承
若有多個網站,各網站根目錄分別授予對應的 IWAM_ 或應用程式集區身分識別帳號同等權限。
Inetsrv (IIS 核心) 和 Centsrv (Certificate Services) 以外的所有子目錄。config, drivers, spool 等)。Downloaded Program Files、Help、IIS Temporary Compressed Files、Offline Web Pages、System32、Tasks、Temp、Web。\Winnt
Everyone : 讀取、執行、列出資料夾內容、讀取
☑ 允許繼承
確保系統啟動、修補程式安裝、事件檢視器等正常運作。
\Winnt\Temp
Everyone : 修改 (讀取、寫入、刪除、列出、執行)
☑ 允許繼承
支援 ASP/ASP.NET 應用程式寫入暫存檔、上傳檔案、Session 狀態儲存。注意: 若網站採用獨立應用程式集區身分識別,建議將 Everyone 改為對應的 IIS_WPG 群組或特定集區身分識別帳號,進一步縮小權限。
cacls 或 icacls 匯出權限報表備份 (icacls C:\Inetpub\wwwroot /save acl_backup.txt)。accesschk.exe -w -s "IUSR_*" C:\Inetpub 檢查匿名使用者寫入權限異常。NTFS 權限是 IIS 安全的基石。「預設拒絕、最小授權、切斷繼承、獨立身分」 十六字方針貫穿始終。將上述 7 步驟腳本化 (PowerShell/icacls)、納入基線合規檢查清單,才能在持續變更中維持安全態勢不退縮。