Windows Server 2003 升級至 IIS 6.0,採用全新工作進程隔離架構 (w3wp.exe),默認不安裝、默認鎖定腳本執行、默認最小權限。這雖大幅提升安全性,但也導致遷移/新建站點時頻遇「靜態正常、動態 404/500、寫入失敗」三大經典坑。本文提供標準化部署清單。
D:\WebSites\CorpIntranet),建議 NTFS 分區。Index.asp、Index.htm、Default.aspx 等,調整優先級。此步驟最易遺漏,導致動態頁面 404/403!
asp.dll / aspnet_isapi.dll → 允許。場景:主目錄在 NTFS 分區,ASP 頁面需寫入文件 (上傳、生成靜態、日誌)。
D:\WebSites\CorpIntranet) → 屬性 → 安全 標籤。| 驗證項 | 方法 | 預期結果 |
|---|---|---|
| 靜態頁面 | 瀏覽 https://IP/Index.htm | 正常顯示 |
| ASP 動態頁 | 創建 test.asp 輸出 <%=Now()%> 並瀏覽 | 顯示當前時間 |
| ASP.NET 頁面 | 瀏覽 .aspx 頁面 | 正常渲染 |
| ASP 寫入測試 | 上傳組件/腳本寫入文件 | 文件生成成功,無「權限拒絕」 |
| 目錄瀏覽 | 無默認文檔目錄瀏覽 | 403/404 (建議禁用目錄瀏覽) |
| 父路徑 | ASP 使用 Server.MapPath("..") | 若業務需要啟用「啟用父路徑」 (站點屬性→主目錄→配置→應用程序選項),否則禁用 |
| 現象 | IIS 5.0 (Win2K) 行為 | IIS 6.0 (Win2003) 預設行為 | 修正動作 |
|---|---|---|---|
| ASP 頁面 404 | 默認允許執行 | Web 服務擴展默認禁止 ASP | Web 服務擴展 → 允許 ASP |
| ASP.NET 403/404 | ASP.NET 1.1 隨框架安裝註冊 | Web 服務擴展默認禁止 ASP.NET | Web 服務擴展 → 允許對應版本 ASP.NET |
| 上傳/寫入失敗 | IUSR_MACHINE 常有寫入權限 | 工作進程身份 (IIS_WPG/Network Service) 無寫入權限 | NTFS 授予工作進程身份寫入權限 (最小化目錄) |
| 組件註冊失敗 | regsvr32 註冊到系統 | 建議注冊到 COM+ 應用程序 / 放入 Bin 目錄 (ASP.NET) | 遷移組件註冊方式 |
IIS 6.0 「默認安全」設計雖增加了部署步驟,卻從根源消除了大面曝露面。掌握 安裝組件 → 創建站點 → 解鎖擴展 → NTFS 授權 → 基線驗證 五步法,配合遷移對照表,可將 Win2003 Web 部署從「試錯遊戲」轉為「標準化交付」。建議將此清單固化為團隊 SOP,新站點上線必核對,讓安全成為肌肉記憶而非事後補丁。
Windows 2000/XP 藍畫面死機完整診斷與修復指南
Windows Server 2008 系統硬化指南:封堵六大隱私與安全漏洞
Windows Server 2008 遠端桌面安全硬化全攻略:NLA 強制、埠號變更、GPO 鎖定、會話監控與憑證信任
Windows Server 2003 內置 Empty.exe 輕量級釋放記憶體工具使用詳解
Windows Server 2008 效能與可用性監控工具深度解析
Windows Server 2003 安全隱患全方位封堵:Dr. Watson 洩密、資源共享暴露與進階防護清單