Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 6.0 預設安全與設計安全:從預設鎖定到核心架構防禦

編輯:關於伺服器

面對駭客與蠕蟲將 Web 伺服器作為首要攻擊目標,微軟在 IIS 6.0 (Windows Server 2003) 實施全面重寫,確立「預設安全 (Secure by Default)」與「設計安全 (Secure by Design)」雙重防線。本文系統解析預設安裝鎖定項目、核心架構安全設計 (HTTP.sys、應用程式集區、最小權限)、增強日誌與快速失敗保護機制。

一、預設安全:安裝即鎖定

1. 不預設安裝 — 需顯式選擇

IIS 6.0 不隨 Windows Server 2003 自動安裝,管理員必須主動從「新增/移除 Windows 元件」勾選安裝,減少未授權暴露面。

2. 僅安裝靜態內容服務

元件IIS 5.0 預設IIS 6.0 預設
靜態 HTML✓✓
ASP✓✗
ASP.NET✓ (若安裝 .NET)✗
CGI/ISAPI 延伸✓✗
Server Side Includes✓✗
WebDAV✓✗
FrontPage Server Extensions✓✗

動態內容 (ASP/ASP.NET/PHP/CGI) 需事後手動啟用,強迫管理員評估風險。

3. 移除範例應用程式

不再包含 showcode.asp、codebrws.asp 等範例腳本。早期版本因輸入驗證缺失,允許目錄遍歷讀取任意系統檔案 (MS99-013)。

4. 強化檔案存取控制

  • 匿名帳號 (IUSR) 不再擁有網站根目錄寫入權限。
  • FTP 使用者預設鎖定於各自家目錄 (User Isolation),無法上傳惡意程式至 /scripts 等可執行目錄。

5. 虛擬目錄預設無執行權限

新增虛擬目錄預設「執行權限 = 無 (僅腳本/唯讀)」,有效阻擋目錄遍歷、惡意上傳執行、MDAC 等經典攻擊向量。

6. 移除子驗證模組 (IISSUBA.dll)

早期 IIS 使用 IISSUBA.dll 進行委派驗證,存在提權風險。IIS 6.0 移除該 DLL,強制所有驗證直接對 SAM/Active Directory,縮小攻擊面。

7. 父路徑預設停用

預設禁用 .. 父目錄瀏覽,防止攻擊者跳出網站根目錄讀取 SAM、boot.ini 等敏感檔案。遷移舊應用可能需手動啟用 (風險自負)。

二、設計安全:核心架構防禦

1. 核心模式 HTTP.sys — 守門員與解析器

  • HTTP.sys 運行於核心模式,接收原始 HTTP 請求 → 解析驗證 → 分派至使用者模式工作進程 (w3wp.exe)。
  • 工作進程受限於使用者模式,無法直接存取核心資源,大幅限制緩衝區溢出攻擊的影響範圍。
  • HTTP.sys 內建多層防護:
    • 嚴格 URL 解析:長度限制、非法字元過濾、雙重編碼偵測、Unicode 正規化。
    • 登錄表可調參數 (HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters):MaxFieldLength、MaxRequestBytes、UrlSegmentMaxLength 等,實踐纵深防禦。

2. 增強日誌機制 — 事件回溯基石

  • HTTP.sys 在分派請求 前 即記錄日誌,即使工作進程崩潰仍保留錯誤記錄。
  • 日誌欄位:時間戳、來源/目的 IP:Port、協定版本、HTTP 動詞、URL、狀態碼、站點 ID、HTTP.sys 錯誤原因 (逾時、工作進程異常終止、應用程式集區強制切斷等)。
  • 原因欄位提供精準診斷線索,加速事件響應。

3. 快速失敗保護 — 防止惡性循環

管理員可在集區「健康偵測」分頁啟用:
設定 失敗計數 (如 5 次) 與 時間區間 (如 5 分鐘)。超過門檻自動停用集區,避免持續崩潰消耗資源、產生大量錯誤日誌。
配置路徑:IIS 管理器 → 應用程式集區 → 右鍵屬性 → 健康偵測 → 勾選「啟用快速失敗保護」。

4. 應用程式隔離 — 集區邊界即安全邊界

  • 早期 IIS 為效能犧牲隔離 (單進程);IIS 6.0 以集區實現「隔離不犧牲效能」。
  • 每集區擁有獨立 w3wp.exe 進程組,記憶體、控制代碼、安全性 Token 完全隔離。
  • 錯誤域限制在單一集區,不波及其他網站/應用程式,大幅提升整體可用性。

5. 最小權限原則貫徹

  • HTTP.sys 核心代碼以 Local System 執行 (必要特權)。
  • 所有工作進程 w3wp.exe 以 Network Service 內建帳號執行 — Windows Server 2003 新增、嚴格受限、知名 SID、跨機器權限一致。
  • 僅允許管理員執行命令列工具 (如 iisreset、cscript iisvdir.vbs),防止惡意腳本濫用管理指令。

三、遷移與部署建議

  • 遷移舊應用時,逐項評估:父路徑、寫入權限、執行權限、範例腳本依賴、Metabase 相依性。
  • 部署新站點:最小安裝 → 建立專屬集區 → 指派專屬身分 → NTFS ACL 鎖定 → 啟用健康偵測/快速失敗 → 設定配額。
  • 啟用多層防禦:網路防火牆 + 主機防火牆 + IIS 請求篩選 (UrlScan/Request Filtering) + 應用層 WAF。
✅ 核心結論:IIS 6.0 透過預設鎖定減少暴露面,核心模式 HTTP.sys 提供纵深解析防護,集區隔離限制爆炸半徑,Network Service 最小權限降低提權風險。但「安全非產品屬性,而是持續過程」 — 需配合修補管理、稽核、事件響應體系,始能構建真正韌性平台。
Copyright © Windows教程網 All Rights Reserved