萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows Server 2003 教學

Windows Server 2003 伺服器安全策略深度加固全方位指南 (高手整合版)

Windows Server 2003 雖屬成熟穩定平台,但面對現代威脅情勢仍需深度加固。本文整合高手實戰經驗,從服務精簡、磁碟權限、空連線封鎖、連接埠鎖定、帳號管理、目錄 ACL、IIS/URLScan、SQL Server 危險擴展預存程序移除、CMD/NET 權限收斂、備份策略、殺毒規則、服務精簡、危險 COM 元件移除、稽核原則等 12 大面向,構建纵深防禦體系。

策略一:關閉非必要系統服務 (減少攻擊面)

透過 services.msc 將下列服務設為「已停用」並「停用」啟動類型:

  • Computer Browser (瀏覽服務)
  • Task Scheduler (工作排程器)
  • Routing and Remote Access (路由與遠端存取)
  • Removable Storage (可移式儲存體管理)
  • Remote Registry (遠端登錄服務) — 極高風險
  • Print Spooler (列印佇列)
  • IPsec Policy Agent (若不使用 IPsec)
  • Distributed Link Tracking Client
  • COM+ Event System
  • Alerter (警示服務)
  • Error Reporting Service (錯誤回報)
  • Messenger (訊息服務)
  • Telnet (明文遠端登入,極高風險)

策略二:磁碟 NTFS 權限最小化

  • 系統盤 (C:)、資料盤:僅授予 Administrators 群組與 SYSTEM「完全控制」。移除 Users、Power Users、Everyone 等預設權限。
  • 例外:C:\Windows、C:\Program Files\Common Files 必須保留 Users: 讀取/執行/列出資料夾內容,否則 ASP/ASPX 應用程式無法執行。
  • C:\Windows\Temp:授予 Everyone: 修改/讀取/執行/列出/寫入 (應用程式暫存需求)。

策略三:禁止 Null Session (空連線/匿名列舉)

登錄編輯器:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
DWORD RestrictAnonymous = 1 (限制匿名 SAM/共享列舉) 或 2 (完全拒絕匿名存取)。

策略四:TCP/IP 連接埠篩選與 3389 連接埠變更

僅開放業務必要連接埠 (輸入方向)

方向連接埠服務
外部→本機80/TCPHTTP (IIS)
外部→本機20,21/TCPFTP (資料/控制)
外部→本機PASV 範圍FTP 被動模式資料埠
外部→本機25/TCPSMTP
外部→本機110/TCPPOP3
外部→本機3389/TCPRDP (建議變更)
外部→本機1433/TCPSQL Server
外部→本機3306/TCPMySQL

輸出方向連接埠控制

  • 若無郵件伺服器功能:封鎖 本機→外部 25/TCP、53/TCP/UDP。
  • 若伺服器無需主動瀏覽網頁:封鎖 本機→外部 80/TCP。
  • 預設拒絕:除明確允許外,所有「外部→本機」連線一律封鎖。

修改 RDP 連接埠 3389 (降低自動掃描暴力破解)

  1. regedit 搜尋 3389 (十進位),修改兩處:
    ① HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber
    ② HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
  2. 將十進位值改為自訂高位埠 (如 43389) → 確定 (登錄編輯器會自動轉十六進位顯示)。
  3. 必須重新開機生效。後續 RDP 連線格式:IP:新連接埠。

停用 NetBIOS over TCP/IP

區域連線→內容→Internet 協定 (TCP/IP)→進階→WINS→「停用 TCP/IP 上的 NetBIOS」。

策略五:登入腳本自動刪除行政共享 (C$、D$、ADMIN$)

建立 delshare.bat 放入 %SystemRoot%\System32\GroupPolicy\User\Scripts\Logon:

@echo off
net share C$ /delete
net share D$ /delete
net share E$ /delete
net share ADMIN$ /delete

gpedit.msc → 使用者設定 → Windows 設定 → 指令碼 (登入/登出) → 登入 → 新增 delshare.bat。重開機生效。

策略六:IIS 6.0 安全鎖定

  1. 不使用預設網站;若用,網站根目錄與系統盤分離。
  2. 刪除 C:\Inetpub 及預設虛擬目錄:_vti_bin, iissamples, scripts, iishelp, iisadmin, msadc。
  3. 移除不必要的應用程式對應:IIS 管理員 → 預設網站→內容→主目錄→配置 → 移除 .shtml, .shtm, .stm 等對應。
  4. 調整 IIS 日誌路徑至非系統盤,啟用 W3C 格式完整欄位。
  5. 安裝 URLScan 3.1,[DenyExtensions] 區段加入:
    .cer .cdx .mdb .bat .cmd .com .htw .ida .idq .htr .idc .shtm .shtml .stm .printer
    徹底防範資料庫下載、腳本執行、印表機漏洞。

策略七:Web 目錄 ACL 精細化 (應用程式池身分隔離)

  • 每個客戶站點建立專屬 Windows 帳號,IIS 匿名使用者綁定該帳號。
  • 站點實體路徑 ACL:
    Administrators: 完全控制
    SYSTEM: 完全控制
    專屬帳號 (或 IUSR_*):進階權限 → 僅保留「遍歷資料夾/執行檔案」、「列出資料夾/讀取資料」、「讀取屬性」、「讀取擴充屬性」— 移除「寫入」、「刪除」、「變更權限」、「取得所有權」。
  • 上傳目錄單獨授與該帳號「寫入」權限,移除「執行」權限,防止 WebShell 上傳後執行。

策略八:SQL Server 2000 移除危險擴展預存程序

使用系統管理員連線 Query Analyzer 執行:

USE master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'xp_dirtree'
EXEC sp_dropextendedproc 'xp_enumgroups'
EXEC sp_dropextendedproc 'xp_fixeddrives'
EXEC sp_dropextendedproc 'xp_loginconfig'
EXEC sp_dropextendedproc 'xp_enumerrorlogs'
EXEC sp_dropextendedproc 'xp_getfiledetails'
EXEC sp_dropextendedproc 'sp_OACreate'
EXEC sp_dropextendedproc 'sp_OADestroy'
EXEC sp_dropextendedproc 'sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'sp_OAGetProperty'
EXEC sp_dropextendedproc 'sp_OAMethod'
EXEC sp_dropextendedproc 'sp_OASetProperty'
EXEC sp_dropextendedproc 'sp_OAStop'
EXEC sp_dropextendedproc 'xp_regaddmultistring'
EXEC sp_dropextendedproc 'xp_regdeletekey'
EXEC sp_dropextendedproc 'xp_regdeletevalue'
EXEC sp_dropextendedproc 'xp_regenumvalues'
EXEC sp_dropextendedproc 'xp_regread'
EXEC sp_dropextendedproc 'xp_regremovemultistring'
EXEC sp_dropextendedproc 'xp_regwrite'
DROP PROCEDURE sp_makewebtask
GO

徹底切斷 T-SQL 執行 OS 命令、登錄操作、檔案系統存取、COM 物件實例化等高危路徑。

策略九:CMD.EXE / NET.EXE 權限收斂

檔案 ACL 修改為僅 特定管理帳號 (如 root) 擁有「完全控制」,移除 Users、Power Users、Everyone。
進階替代:將 cmd.exe 重命名為 _cmd.exe,部署自訂 cmd.exe (Wrapper) 記錄所有命令列參數至稽核日誌。

策略十:關鍵資料備份自動化

  • ntbackup 排程備份「系統狀態」 (含 AD、登錄、COM+、SYSVOL)。
  • reg.exe export 關鍵登錄分支:
    reg export HKLM\SOFTWARE\ODBC E:\Backup\System\odbc.reg /y
  • 異地離線保存,定期演練還原。

策略十一:關閉無用服務 (補充清單)

  • Computer Browser
  • Help and Support
  • Messenger
  • Print Spooler
  • Remote Registry
  • TCP/IP NetBIOS Helper
  • Workstation (若非網域成員/無需存取遠端共享)

策略十二:移除/改名危險 COM 元件 (WSH/Shell)

移除法 (確認應用不需):
regsvr32 /u C:\WINDOWS\System32\scrrun.dll (FSO)
刪除 HKEY_CLASSES_ROOT 下 WScript.Network, WScript.Shell, Shell.Application 等 ProgID 及其對應 CLSID 分支。

改名法 (保留功能但阻擋自動化腳本):
將 Shell.Application → Shell.Application_ajiang,同步修改 CLSID 字串 (僅允許 0-9, A-F),匯入修改後 .reg,刪除原鍵值。同理處理 WScript.Shell、WScript.Network。

策略十三:啟用稽核原則 (可見性)

secpol.msc → 本地原則 → 稽核原則 → 啟用「成功/失敗」:
• 稽核原則變更
• 稽核系統事件
• 稽核帳號登入事件
• 稽核帳號管理
配合事件轉送 (Win2003 需第三方代理) 或定期匯出 .evt 分析。

結語

安全加固非一次性動作,而是持續的「基準→部署→監控→演練→改進」循環。將上述 13 策略編碼為基準映像 (Golden Image)、GPO、PowerShell DSC 或 Ansible Playbook,納入變更管理流程,才能在 Win2003 延長支援結束後仍維持可接受風險水位。

copyright © 萬盛學電腦網 all rights reserved