架設對外網站伺服器,安全不在「裝好防火牆」那一刻,而在「每一個預設值都經過審視」。本文依實務經驗,將 Server 2003 + IIS 6.0 + SQL Server 硬化流程拆解為十大階段,附註冊表鍵值與指令,可直接落地執行。
| 項目 | 設定 |
|---|---|
| 內建 Administrator | 重命名 + 複雜密碼(≥14 字元,大小寫數字符號) |
| 蜜罐 Administrator | 新建同名帳號,最低權限,超長密碼(≥20 字元) |
| Guest | 停用、重命名、設複雜密碼 |
| 帳號鎖定 | 3 次失敗 → 鎖定 30 分鐘 → 30 分鐘重置計數 |
| 不顯示上次登入用戶名 | 啟用 |
| 網路存取權 | 僅保留 IUSR、IWAM、ASP.NET 帳號 |
| 日常操作 | 建立普通 User,需提權用 runas |
HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer = 0組策略 → 稽核策略 → 建議啟用:
原則:成功/失敗雙記會產生海量日誌,導致關鍵事件淹沒;僅記錄失敗可大幅降低雜訊,聚焦異常。
| 防護目標 | 登錄表路徑 | 值名稱 | 值 |
|---|---|---|---|
| 隱藏重要資料夾 | HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL | CheckedValue | 0 |
| 啟用 ICF 勾選 Web 伺服器 | GUI 操作 | — | — |
| 防 SYN Flood | HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | SynAttackProtect | 2 |
| 禁用 ICMP 路由通告 | HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<介面> | PerformRouterDiscovery | 0 |
| 防 ICMP 重導向攻擊 | HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters | EnableICMPRedirects | 0 |
| 禁用 IGMP | 同上 | IGMPLevel | 0 |
| 禁用 DCOM | dcomcnfg → 我的電腦 → 內容 → 預設屬性 → 取消勾選「啟用分散式 COM」 | — | — |
註:TCP/IP 參數 3-6 參考 Win2000 設定,Server 2003 實測無副作用,但建議上線前壓測驗證。
Inetpub 及預設虛擬目錄(_vti_bin、IISSamples、Scripts、IISHelp、MSADC 等).shtml、.stm 等)UrlScan.ini [AllowVerbs] 加入 DEBUG;[DenyExtensions] 移除 .asp;AllowHighBitCharacters=1xp_cmdshell、xp_reg* 系列(保留 OLE 自動化 sp_OA*)建立兩個篩選器:
順序:Web 篩選器優先 → 所有入站次之。指派策略即時生效,無需重啟。
每改一項 → 立即測試 → 有問題立刻回滾。批量改完再測,出事根本查不出是哪一步出錯。
tasklist /v 或 Process Explorer 匯出完整進程清單(含 PID、命令列、使用者)netstat -ano 匯出所有監聽/連線埠對應 PID安全是流程,不是產品。上述十步驟建立「最小安裝、最小權限、最小暴露」基線,搭配定期補丁、日誌審核、基線比對,才能讓 Server 2003 網站伺服器在惡劣網路環境中存活。記住:沒有絕對安全,只有持續經營。
Windows 2000 群組原則管理完整教學:GPO 架構、安全性設定與實戰部署
從 Windows 2000 升級至 Windows Server 2003 的十大核心理由:Active Directory、GPMC、IIS 6.0、.NET 整合與叢集增強
微軟釋出 Windows Server 2003 R2 RTM 版,強化分公司伺服器與應用程式開發能力
Windows 2000 記憶體優化全攻略:BIOS 時序調校、登錄檔核心參數、啟動程式精簡與 DIY 瘦身方案
善用系統資訊 (msinfo32) 排查啟動問題:裝置衝突與啟動程式檢查
強化 Windows Server 2003 安全性的四大關鍵設定