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

Windows Server 2003 + IIS 6.0 完整安全強化實戰指南

編輯:關於伺服器

前言

針對 Windows Server 2003 搭配 IIS 6.0、ASP、.NET、PHP、Perl、MSSQL、MySQL 等常見 Web 服務組合,本文提供一套經過多次實測驗證的安全強化方案。核心策略包含磁碟權限精細控制、系統服務精簡、高危組件封鎖、IIS 用戶隔離四大面向,能有效防禦木馬植入、提權攻擊、跨站腳本等常見威脅。

一、磁碟權限精細化配置

採用「最小權限原則」,針對系統盤、網站根目錄、系統關鍵目錄分別設定 ACL(存取控制清單),拒絕匿名用戶寫入、刪除、執行權限,僅保留必要的讀取與執行權限。關鍵目錄配置範例如下:

系統盤根目錄 (C:、D:、E:、F:)

  • Administrators:完全控制
  • SYSTEM:完全控制
  • CREATOR OWNER:完全控制(僅子檔案/資料夾)
  • 移除 Users、IIS_WPG 等非必要群組權限

網站根目錄 (C:\Inetpub\wwwroot)

  • Administrators:完全控制
  • SYSTEM:完全控制
  • IIS_WPG:讀取、執行、列出資料夾內容
  • Users:讀取、執行、列出資料夾內容
  • 關鍵:Internet 來賓帳戶 / 虛擬主機用戶組 → 明確拒絕「寫入/創建/刪除/修改屬性」等權限

系統關鍵目錄保護

目錄核心防護重點
C:\WINDOWS\system32\config拒絕 IIS 匿名用戶讀取,保護 SAM 資料庫
C:\WINDOWS\repair同樣拒絕匿名讀取,防備份檔洩露
C:\Program FilesIIS_WPG 僅讀取/執行;虛擬主機用戶組拒絕列表目錄,阻擋 FSO 類木馬
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeysEveryone 僅限該資料夾:列出/讀取屬性/創建檔案/資料夾/寫入屬性,不可賦予執行與刪除權限

針對 PHP、MySQL、WinWebMail 等第三方應用,建議採用獨立應用程式池與專屬 IIS 用戶,將權限限制在各自安裝目錄內,實現應用層面的隔離。

二、系統服務精簡(需重啟生效)

除非業務強制依賴,下列服務務必停用並設為「禁用」:

  • Alerter、Application Layer Gateway、Background Intelligent Transfer (BITS)
  • Computer Browser、Distributed File System (DFS)
  • Help and Support、Messenger、NetMeeting Remote Desktop Sharing
  • Print Spooler、Remote Registry、Task Scheduler
  • TCP/IP NetBIOS Helper、Telnet、Workstation

停用上述服務可大幅縮小攻擊面,降低資源佔用。若需 SSL 憑證服務,請依實際需求調整。

三、高危 COM 組件封鎖與重命名

攻擊者常利用 WScript.Shell、Shell.Application、FileSystemObject 等組件執行系統命令、操作檔案。採取「註銷 + 重命名 CLSID/ProgID」雙重防護:

操作步驟

  1. 以 regsvr32 /u 註銷 wshom.ocx、shell32.dll、scrrun.dll
  2. 開啟註冊表編輯器,搜尋 Shell.Application,找到兩個鍵值:
    {13709620-C279-11CE-A49E-444553540000} 與 Shell.Application
  3. 導出備份,修改鍵名(CLSID 只能含 0-9、A-F),例如:
    {13709620-C279-11CE-A49E-444553540001}、Shell.Application_nohack
  4. 導入修改後的 .reg,刪除原鍵值
  5. 同理處理 FileSystemObject、WScript.Shell,並以 cacls 拒絕 Guests 存取對應 DLL
  6. 禁用 Guests 執行 cmd.exe:cacls C:\WINDOWS\system32\cmd.exe /e /d guests

Serv-U 舊版提權修補

針對 Serv-U 6.0 以前版本:停止服務 → 用 UltraEdit 打開 ServUDaemon.exe 搜尋 LocalAdministrator 與特定特徵碼 → 替換為等長度亂碼 → 同步修改 ServUAdmin.exe → 設定安裝目錄拒絕 IIS 匿名用戶讀取。

四、IIS 用戶與應用程式池隔離架構

站點類型腳本支援目錄IIS 匿名用戶應用程式池身分目錄權限 (Administrators 完全控制外)
靜態 HTMLHTM/STM/SHTMLD:\www.1.comIUSR_1.com共用預設池IUSR_1.com (讀取)
ASPASP/ASAD:\www.2.comIUSR_2.com共用預設池IUSR_2.com (讀/寫)
ASP.NETASPX/ASAX/ASHX…D:\www.3.comIUSR_3.com獨立池IWAM_3.com (讀/寫)、IUSR_3.com (讀/寫)
PHPPHP/PHP3/PHP4D:\www.4.comIUSR_4.com獨立池IWAM_4.com (讀/寫)、IUSR_4.com (讀/寫)

每個虛擬主機使用專屬 IUSR_* 匿名帳戶,.NET 與 PHP 站點再配置專屬 IWAM_* 作為應用程式池身分,實現進程級隔離。主目錄權限僅啟用「讀取/純腳本」,並開啟「啟用父路徑」。

五、驗證與維護建議

  • 使用「阿江 ASP 探針」或同類工具驗證組件封鎖成效
  • 定期審核磁碟 ACL 與註冊表鍵值是否被竄改
  • 配合連接埠過濾、本地安全策略(如拒絕網路存取「此電腦」)、補丁管理,構建纵深防禦

本方案在多台生產伺服器長期運行,有效遏制了自動化掃描工具、Webshell 植入、提權腳本等常見攻擊,建議根據實際業務微調權限細節後上線。

Copyright © Windows教程網 All Rights Reserved