萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦故障排除 >  >> 電腦常見故障 >> 無法連上網路

Win2000 伺服器 FSO (FileSystemObject) 權限問題解決與安全防護策略

ASP 執行身份為 IUSR_<機器名稱>,預設無檔案系統讀寫權限,導致 Scripting.FileSystemObject (FSO) 無法建立/讀寫檔案。單純給予目錄「完全控制」雖能解決功能,卻引入嚴重安全風險(惡意腳本可任意讀寫系統檔)。本文提供最小權限原則下的多層次解決方案。

方案一:建立專用匿名帳戶 + 目錄 ACL 鎖定(推薦)

  1. 建立本地使用者 IUSR_WebApp,設定強式密碼、密碼永不過期、禁止互動登入。
  2. IIS 網站屬性 → 「目錄安全性」→ 「匿名存取控制」→ 編輯 → 設定匿名使用者為 IUSR_WebApp。
  3. 僅對必要目錄(如 data、uploadfile、uploadface、previewimage)授予該帳戶 「修改」權限(讀寫執行),其餘目錄僅「讀取」。
  4. 上傳目錄移除「執行」權限(IIS → 目錄屬性 → 執行權限選「無」),即使上傳木馬也無法執行。

方案二:元件級防護——修改 CLSID 禁用預設 FSO

在登錄編輯器修改:

HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID
預設值:{0D43FE01-F093-11CF-8940-00A0C9054228}
修改為:{0D43FE01-F093-11CF-8940-00A0C9054229}  (最後一位 +1)

效果:CreateObject("Scripting.FileSystemObject") 將失敗。若需保留特定頁面使用,可在該頁面以 <OBJECT RUNAT=Server SCOPE=Application ID=MyFSO CLSID="{...原始CLSID...}"></OBJECT> 明確實例化,實現白名單控制。

方案三:極端防護——反註冊 scrrun.dll

regsvr32 /u c:\windows\system\scrrun.dll

徹底移除 FSO 元件,所有 ASP 應用均無法使用。僅適用純靜態/無檔案操作的舊版站點,現代架構不建議。

綜合防護清單

  • ✅ 專用匿名帳戶 + 最小目錄 ACL
  • ✅ 上傳目錄執行權限 = 無
  • ✅ 應用層輸入驗證、檔案副檔名白名單、儲存路徑非 Web 根目錄
  • ✅ WAF/ASP 防火牆攔截惡意 FSO 呼叫
  • ✅ 定期稽核 IUSR_* 帳戶權限與檔案完整性(Tripwire/OSSEC)

遵循「最小權限、纏繞防禦、預設拒絕」原則,即可在保留 FSO 功能的前提下,將攻擊面壓縮至最小。

copyright © 萬盛學電腦網 all rights reserved