Windows Server 2003 作為經典伺服器平台,若仍需維運務必實施深度防禦。本文整理七大安全策略:服務精簡、磁碟權限、匿名連線封鎖、連接埠管控、預設共享移除、IIS 強化、登錄與元件防護。
服務管理器 (services.msc) 停用並設為「手動」或「停用」:
原則:不明用途服務先停用,業務驗證無影響再永久停用。
Administrators、SYSTEM 完整控制Everyone、Users 預設權限Windows 目錄需保留 Users 讀取/執行,否則 ASP/ASP.NET 應用程式無法運作登錄:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
值:RestrictAnonymous (REG_DWORD) = 1
效果:拒絕無認證的 SID/帳號枚舉、共享列舉、登錄存取
80, 443, 21, 3389, 1433, 3306regedit 搜尋 3389 (十進位)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumberHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumberTCP/IP 進階 → WINS → 「停用 TCP/IP 上的 NetBIOS」
登入腳本法 (GPO):
@echo off net share C$ /delete net share D$ /delete net share E$ /delete net share F$ /delete net share ADMIN$ /delete
儲存為 delshare.bat,部署至 %SystemRoot%\System32\GroupPolicy\User\Scripts\Logon,GPO → 使用者設定 → Windows 設定 → 指令碼 → 登入 → 添加。
登錄永久停用法:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\AutoShareServer = 0AutoShareWks = 0HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\RestrictAnonymous = 1Inetpub 目錄與預設虛擬目錄:_vti_bin, IISSamples, Scripts, IISHelp, IISAdmin, MSADC.shtml, .shtm, .stmdebug 動詞於 UrlScan 白名單HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue = 0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SynAttackProtect = 2PerformRouterDiscovery = 0EnableICMPRedirects = 0IGMPLevel = 0腳本執行元件 (wshom.ocx、shell32.dll 相關 CLSID):
shell.application_nohack),保留管理員自用FileSystemObject (scrrun.dll):登錄重命名或 regsvr32 /u 解除註冊,cacls 拒絕 Guests 存取
WScript.Shell / Shell.Application:同樣登錄重命名或解除註冊,cacls 保護 shell32.dll
cmd.exe:cacls cmd.exe /e /d Guests 禁止來賓執行命令列