前言:IIS 安全仰賴 OS 基石
IIS 6.0 雖具改進,但安全性仍高度依賴 Windows Server 2003 底層:NTFS 權限、登錄存取控制、服務帳號隔離、通訊協定堆疊強化。打造安全 Web 伺服器,必須實現「OS 加固 + IIS 手動加固 + 應用程式 (SQL/第三方) 加固」三位一體。
一、作業系統安全加固
1. 目錄權限精細配置 (NTFS ACL)
- 非系統分割區:根目錄僅 Administrators + SYSTEM 完全控制;子目錄依角色再細分。
- Web 站點目錄:匿名帳號 (IUSR_*) 唯讀/執行;需寫入目錄 (上傳、快取) 單獨授與修改權限;極高安全需求可全站唯讀,僅特定目錄可寫。
- 系統分割區根目錄:停用繼承,僅 Administrators + SYSTEM 完全控制。
- Documents and Settings:同樣最小化權限,防止 Web Shell / FSO 讀取 PCAnywhere 等軟體設定檔 (含加密密碼)。
- Program Files:Common Files 以外目錄僅 Administrators + SYSTEM 完全控制。
- Windows\System32 關鍵執行檔:
cmd.exe, ftp.exe, net.exe, scrrun.dll, shell.dll, wscript.exe, cscript.exe, regedit.exe → 明確拒絕匿名帳號 (IUSR, IWAM) 存取。
- IIS Metabase (Metabase.bin):
C:\WINDOWS\system32\inetsrv 僅允許 Administrator 讀寫。
2. 群組原則 (GPO) 強化設定
- 使用者權利指派 → 「從網路存取這台電腦」:移除 Power Users、Backup Operators。
- 啟用「網路存取:不允許 SAM 帳號和共用的匿名列舉」。
- 啟用「互動式登入:不顯示上次使用者名稱」。
- 帳號鎖定:3 次失敗鎖定 30 分鐘。
- 密碼原則:長度 ≥10、複雜度啟用、最大壽命 42 天、歷史記錄 24 次。
3. 通訊協定堆疊與服務加固
- 停用 NetBIOS over TCP/IP、LLMNR、IPv6 (若未使用)。
- TCP/IP 強化:啟用 SYN Attack Protection (
SynAttackProtect=2)、ICMP 重導向忽略、來源路由忽略。
- 僅啟用業務必要服務 (IIS Admin, W3SVC, MSSQLSERVER 等),其餘設為手動/停用。
二、IIS 6.0 手動加固要點
- 移除預設網站/虛擬目錄:刪除 Default Web Site、IISSamples、Scripts、IISHelp、Printers 等預設內容。
- 應用程式集區隔離:每個網站獨立 AppPool,身分識別使用專用低權限網域帳號 (非 NetworkService/LocalSystem),啟用「回收工作進程」 (記憶體/請求數/時間間隔)。
- 關閉目錄瀏覽、父路徑、WebDAV、FrontPage Server Extensions。
- URLScan 3.1 / Request Filtering:封鎖高風險副檔名 (.asp, .asa, .cer, .cdx, .htr, .idq, .htw, .ida, .idc, .shtm, .shtml, .stm, .printer 等)、限制 URL 長度、查詢字串長度、標頭長度、禁止雙重編碼、高位元字元。
- HTTP 標頭安全:新增
X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Strict-Transport-Security (僅 HTTPS)。
- SSL/TLS 強制:管理後台、登入頁、API 全站強制 HTTPS,停用 SSL 2.0/3.0、TLS 1.0,僅啟用 TLS 1.2+,憑證使用 SHA-256、RSA 2048+。
- 稽核日誌:啟用 W3C 擴充日誌欄位 (cs-uri-query, cs(Cookie), cs(Referer), sc-substatus, sc-win32-status, time-taken),日誌儲存於非系統磁碟,定期轉存分析。
三、應用程式層加固 (SQL Server 2000 / 第三方軟體)
- SQL Server:混合模式改為「僅 Windows 驗證」;sa 帳號重命名、強密碼、停用;移除範例資料庫 (pubs, Northwind);啟用 C2 稽核追蹤;最小化 Surface Area (關閉 xp_cmdshell, OpenRowset, Ad Hoc Distributed Queries)。
- 第三方 Web 應用:依廠商安全指南設定檔案上傳限制、輸入驗證、Session 管理、錯誤訊息不洩露堆疊追蹤。
- 定期掃描:Microsoft Baseline Security Analyzer (MBSA)、HP WebInspect / Acunetix / OWASP ZAP 進行弱點掃描。
結語
Windows Server 2003 + IIS 6.0 安全加固是系統工程,而非單一設定。從 NTFS ACL、GPO、通訊協定、服務、IIS 設定、應用程式層層設防,並建立「基線掃描 → 修補 → 驗證 → 監控」持續改進循環,才能在惡劣網路環境下穩健服務。