雖然 IIS 6.0 以降版本預設安全性大幅提升,但面對不斷演進的網路攻擊,僅靠預設設定遠遠不夠。本文提供五個立即可部署的加固技巧,涵蓋元件最小化、帳號最小權限、自動修補、快速失敗保護與遠端管理限制,幫助管理員快速提升 IIS 防禦深度。
技巧一:僅安裝必要的 IIS 元件(最小化攻擊面)
- IIS 6.0+ 預設僅安裝靜態內容服務。透過「伺服器管理員」→「角色服務」,只勾選業務真正需要的模組(如 ASP.NET、CGI、URL Rewrite、Logging 等),取消勾選未使用的 FTP、FrontPage Server Extensions、WebDAV 等高風險元件。
- 定期審核已安裝模組,移除棄用功能。
技巧二:嚴格限制 IUSR / 應用程式集區身分識別權限
IUSR_<機器名>(匿名使用者)與各應用程式集區的自訂身分識別(ApplicationPoolIdentity)僅需 讀取網站內容、寫入指定暫存/上傳目錄 權限。
- 移除對
C:\Windows、C:\Program Files、登錄敏感區域的讀寫權限。
- 上傳目錄採用「寫入但不可執行」NTFS 權限(特別權限 → 取消「執行/遍歷」),防止上傳惡意腳本執行。
技巧三:啟用自動更新與安全性修補程式
- 控制台 → Windows Update → 「自動安裝更新」(建議設為「下載後通知我安裝」以便測試相容性)。
- 訂閱 Microsoft Security Notification Service,第一時間獲知 IIS 相關安全性公告(CVE)。
- 對於無法立即修補的 0-day 風險,暫時部署 WAF(Web Application Firewall)規則或 URL Rewrite 封鎖惡意請求模式。
技巧四:啟用「快速失敗保護」防禦應用程式集區暴衝
- IIS 管理員 → 「應用程式集區」→ 右鍵目標集區 → 「進階設定」→ 「快速失敗保護」區塊:
- 失敗間隔:預設 5 分鐘(可縮短為 1-2 分鐘)。
- 最大失敗次數:預設 5 次(視流量調整)。
- 動作:選擇「終止背景程序」或「記錄事件」。
- 當集區在短時間內頻繁當機(如惡意請求觸發無限迴圈、資源耗盡),快速失敗保護會自動停用集區,防止拖垮整台伺服器,並留下事件日誌供事後分析。
技巧五:嚴格限制遠端管理存取
- 僅允許特定管理 IP(靜態 IP 或 VPN 閘道 IP)透過 HTTPS (8172/443) 存取 Web Management Service (WMSvc)。
- 防火牆規則:
New-NetFirewallRule -DisplayName "IIS Remote Mgmt" -Direction Inbound -LocalPort 8172 -Protocol TCP -RemoteAddress 10.10.10.0/24, 192.168.100.5 -Action Allow
- 強制使用強式密碼或憑證驗證,停用基本驗證。
- 定期審核 WMSvc 存取日誌(
C:\Windows\System32\LogFiles\WMSvc\)。
部署建議
五大技巧相互獨立,可漸進式部署。建議先從「元件最小化」與「帳號最小權限」著手,成本最低、效果最直接。配合定期滲透測試與日誌分析,構建纵深防禦體系。