虛擬主機環境最常見風險:SQL 注入、上傳漏洞、弱密碼、跨站腳本 (XSS)、目錄遍歷。本文以站點 cert.ecjtu.jx.cn 為例,說明分層防護實作。
cert)。Users 群組,加入 Guests 群組。針對 C:\, D:\, C:\perl, C:\temp, C:\MySQL, C:\php, C:\Documents and Settings, C:\Program Files\Serv-U, C:\Program Files\各類防毒軟體, C:\WINNT\system32\config, C:\WINNT\system32\inetsrv\data 等,取消 Guests 讀取/執行/寫入權限。
Administrators:完全控制cert:讀取/執行/列出資料夾/讀取 (拒絕寫入/刪除)修改 或 寫入 權限。.mdb 對應 ssinc.dll 防止資料庫下載。cert,勾選「允許 IIS 控制密碼」,有效阻擋跨目錄/跨站瀏覽。| 元件 | ProgID | 封鎖方式 |
|---|---|---|
| WScript.Shell | WScript.Shell / WScript.Shell.1 | 登錄機碼重命名/刪除 CLSID;regsvr32 /u wshom.ocx |
| WScript.Network | WScript.Network / .1 | 同上 |
| Shell.Application | Shell.Application / .1 | 登錄機碼重命名/刪除 CLSID;cacls shell32.dll /e /d guests |
| Scripting.FileSystemObject | Scripting.FileSystemObject | 視需求保留 (上傳元件常用),或限制 Guests 存取 scrrun.dll |
註:修改登錄機碼後需重啟 IIS (或 iisreset) 生效。
Everyone/Guests 寫入,防 ServUDaemon.ini 洩露/竄改。4001-4003,防火牆同步開放。cacls C:\WINNT\system32\cmd.exe /e /d guests cacls C:\WINNT\system32\telnet.exe /e /d guests 在 C:\WINNT\system32\login.cmd 末尾加入 exit 禁止 Telnet 互動登入
21, 80, 3389, 1433 等業務埠。services.msc) 停用 Telnet、Remote Registry 等非必要服務。虛擬主機安全核心在於「最小權限原則」與「纵深防禦」:帳號隔離 → NTFS 鎖定 → IIS 應用層過濾 → 元件封鎖 → 連接埠收斂 → 持續修補。逐項落實可將入侵風險降至最低。