Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows Server 2003 網站伺服器硬化全攻略:從安裝到 IPSec 十大關鍵步驟

編輯:Windows Server 教學

前言

架設對外網站伺服器,安全不在「裝好防火牆」那一刻,而在「每一個預設值都經過審視」。本文依實務經驗,將 Server 2003 + IIS 6.0 + SQL Server 硬化流程拆解為十大階段,附註冊表鍵值與指令,可直接落地執行。

一、 安裝階段:乾淨、最小、離線

  1. 至少兩個 NTFS 分區(系統/資料分離)
  2. 斷網安裝,避免安裝過程被掃描/入侵
  3. IIS 6.0 僅安裝必要元件:
    WWW 服務、管理工具、公用檔案、BITS 擴展;
    停用 FTP、SMTP、FrontPage 延伸(除非業務必須)
  4. 安裝 SQL Server 及必要軟體 → 立即打補丁
  5. 跑 MBSA (Microsoft Baseline Security Analyzer) 掃描缺漏補丁與弱設定

二、 帳號與認證策略

項目設定
內建 Administrator重命名 + 複雜密碼(≥14 字元,大小寫數字符號)
蜜罐 Administrator新建同名帳號,最低權限,超長密碼(≥20 字元)
Guest停用、重命名、設複雜密碼
帳號鎖定3 次失敗 → 鎖定 30 分鐘 → 30 分鐘重置計數
不顯示上次登入用戶名啟用
網路存取權僅保留 IUSR、IWAM、ASP.NET 帳號
日常操作建立普通 User,需提權用 runas

三、 網路服務收斂

  1. 停用預設共享:
    HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer = 0
  2. 解除 NetBIOS over TCP/IP:
    網路連線 → 內容 → TCP/IP → 進階 → WINS → 停用
  3. 停用非必要服務(建議清單):
    Computer Browser、Distributed File System、Distributed Link Tracking Client、Error Reporting、Microsoft Search、NTLM SSP、Print Spooler(無印表機)、Remote Registry、Remote Desktop Help Session Manager

四、 稽核策略:精準而非全開

組策略 → 稽核策略 → 建議啟用:

  • 登入事件(成功/失敗)
  • 帳號登入事件(成功/失敗)
  • 系統事件(成功/失敗)
  • 原則變更(成功/失敗)
  • 物件存取(失敗)
  • 目錄服務存取(失敗)
  • 特權使用(失敗)
原則:成功/失敗雙記會產生海量日誌,導致關鍵事件淹沒;僅記錄失敗可大幅降低雜訊,聚焦異常。

五、 登錄表層面的系統硬化

防護目標登錄表路徑值名稱值
隱藏重要資料夾HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALLCheckedValue0
啟用 ICF 勾選 Web 伺服器GUI 操作——
防 SYN FloodHKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersSynAttackProtect2
禁用 ICMP 路由通告HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<介面>PerformRouterDiscovery0
防 ICMP 重導向攻擊HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersEnableICMPRedirects0
禁用 IGMP同上IGMPLevel0
禁用 DCOMdcomcnfg → 我的電腦 → 內容 → 預設屬性 → 取消勾選「啟用分散式 COM」——
註:TCP/IP 參數 3-6 參考 Win2000 設定,Server 2003 實測無副作用,但建議上線前壓測驗證。

六、 IIS 6.0 深度鎖定

  1. 勿用預設網站;若用,網站目錄**必須與系統盤分離**
  2. 刪除 Inetpub 及預設虛擬目錄(_vti_bin、IISSamples、Scripts、IISHelp、MSADC 等)
  3. 移除不必要擴展名對應(.shtml、.stm 等)
  4. 日誌路徑移至資料盤
  5. 部署 UrlScan 2.5(ISAPI 篩選器)
    ASP.NET 需在 UrlScan.ini [AllowVerbs] 加入 DEBUG;
    ASP 頁需從 [DenyExtensions] 移除 .asp;
    非 ASCII 內容需 AllowHighBitCharacters=1
  6. 跑 WIS (Web Injection Scanner) 掃描 SQL Injection 弱點

七、 SQL Server 硬化

  1. sysadmin 角色 ≤ 2 人
  2. 本機連線改用 Windows 驗證
  3. 禁用 sa,設超長密碼
  4. 移除高風險擴展預存程序:
    xp_cmdshell、xp_reg* 系列(保留 OLE 自動化 sp_OA*)
  5. 隱藏執行個體、修改預設 1433 埠

八、 僅作伺服器時啟用 IPSec 封包過濾

建立兩個篩選器:

  1. Web 篩選器:來源任意 → 目的本機 IP → TCP 80 → 動作「允許」
  2. 所有入站篩選器:來源任意 → 目的本機 IP → 所有協定 → 動作「阻擋」

順序:Web 篩選器優先 → 所有入站次之。指派策略即時生效,無需重啟。

九、 變更管理鐵律

每改一項 → 立即測試 → 有問題立刻回滾。批量改完再測,出事根本查不出是哪一步出錯。

十、 基線快照:進程與開放埠

  1. tasklist /v 或 Process Explorer 匯出完整進程清單(含 PID、命令列、使用者)
  2. netstat -ano 匯出所有監聽/連線埠對應 PID
  3. 備份為基線,後續例行比對,發現異常進程/埠立即調查

結語

安全是流程,不是產品。上述十步驟建立「最小安裝、最小權限、最小暴露」基線,搭配定期補丁、日誌審核、基線比對,才能讓 Server 2003 網站伺服器在惡劣網路環境中存活。記住:沒有絕對安全,只有持續經營。

Copyright © Windows教程網 All Rights Reserved