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

ASP 木馬防範十大鐵律:從上傳源頭到事後應急全鏈路防禦

編輯:Windows XP 系統介紹

前言:為什麼 ASP 木馬難防?

ASP 木馬本質是合法的 ASP 腳本,僅含 eval(request("x")) 或 execute(request("x")) 等單行代碼。它與正常業務程式同語言、同權限、同目錄、同副檔名,傳統特徵碼掃描極易誤報/漏報。防禦核心在於切斷上傳路徑、嚴格權限最小化、建立不可變基線。本文給出十大可落地執行的鐵律。

鐵律一:原則禁止 Web 端上傳功能,改用 SFTP/FTPS/SCP 部署

  • 所有程式碼、靜態資源、配置檔透過 CI/CD 流水線 或手動 SFTP (Port 22) / FTPS (Port 990) 部署
  • Web 目錄權限設為 IIS_IUSRS / www-data : 讀 + 執行(腳本),不可寫入
  • 若業務必須上傳(如使用者頭像、附件),見鐵律二、三

鐵律二:上傳目錄嚴格隔離 + 執行權限移除

  1. 上傳目錄放在 Web 根目錄之外(如 D:\Uploads\),或獨立子網域/儲存桶
  2. IIS/Apache/Nginx 設定該目錄/虛擬目錄:
    移除「腳本執行」權限(Handler Mapping 移除 .asp/.aspx/.php/.jsp 映射)
    啟用「靜態內容」僅讀取
    MIME 僅允許圖片/文件類型(image/*, application/pdf 等)
  3. 檔案上傳後重新命名為隨機 GUID + 原副檔名,資料庫記錄原檔名/路徑對應

鐵律三:檔案型態驗證三層防線

層級檢查點工具/代碼片段
Client 端accept 屬性、JS 檢查副檔名/大小<input accept="image/*">(可繞過,僅體驗)
Server 端
(必要)
1. 副檔名白名單
2. Magic Bytes (File Signature) 檢查
3. 內容解析(圖片用 GD/GDI+ 重繪、Office 用 LibreOffice 轉 PDF)
ASP 經典:
Set oFS = Server.CreateObject("Scripting.FileSystemObject")
讀取前 8 Bytes 對照 FF D8 FF (JPG)、89 50 4E 47 (PNG)、25 50 44 46 (PDF)
儲存後
(深度)
ClamAV / Windows Defender 掃描、反序列化檢查、巨集檢測排程掃描上傳目錄,異常隔離

鐵律四:資料庫連線帳號最小權限 + 參數化查詢

  • Web 連線資料庫帳號:僅擁有業務所需表的 SELECT/INSERT/UPDATE/DELETE,無 DROP/CREATE/ALTER/GRANT,無 sysadmin/db_owner
  • 所有 SQL 使用參數化查詢 (Command.Parameters),徹底杜絕 SQL 注入上傳木馬路徑
  • 資料庫檔案 不放在 Web 目錄下,副檔名改非標準(如 .dat),IIS 設定拒絕直接下載 .mdb/.accdb/.dat

鐵律五:後台管理入口隱藏化 + 多因子認證

  • 後台登入頁面不在前台任何連結、sitemap、robots.txt 出現
  • 路徑使用隨機高熵字串(如 /manage_7x9k2p/),定期輪換
  • 強制雙因子認證 (TOTP/WebAuthn) + IP 白名單(僅辦公室/跳板機 IP)
  • 登入失敗 5 次鎖定 30 分鐘,記錄審計日誌

鐵律六:敏感配置檔案防洩露

  • conn.asp、config.inc、web.config 等包含連線字串、金鑰的檔案:
    1. 放在 Web 根目錄外
    2. 或:IIS 要求驗證/授權規則拒絕直接請求 *.inc、*.config、*.bak、*.old
  • 編輯器備份檔 (.bak、~、.swp) 產生即刪除,或設定編輯器不產生備份

鐵律七:定期基線掃描 + 異常檔案自動告警

  • 建立 Web 目錄檔案基線(檔名、大小、SHA-256、修改時間)
  • 每日排程掃描對比:
    新增檔案 → 立即告警(Telegram/Email/企業微信)
    修改檔案 → 告警並自動備份舊版
    刪除檔案 → 記錄審計
  • 工具:Tripwire、AIDE、OSSEC、自製 PowerShell/Python 腳本

鐵律八:WAF/應用層防火牆攔截已知攻擊載荷

  • 部署 ModSecurity (OWASP CRS 3.3+) 或商業 WAF(Cloudflare、Imperva、阿里雲 WAF)
  • 規則覆蓋:
    SQLi、XSS、RCE、LFI/RFI、WebShell 特徵(eval(、execute(、wscript.shell、adodb.stream)
    上傳請求檢查:Content-Type、Multipart 邊界、檔案內容特徵
  • 模式:阻擋模式(生產環境)、偵測模式(新規則觀察期)

鐵律九:伺服器層級強化——最小服務、最新補丁、審計日誌

  • 停用/移除非必要服務:FTP (改 SFTP)、SMTP、印表機、遠端登錄、WebDAV
  • 作業系統/IIS/.NET Framework/資料庫 每月補丁日 應用關鍵更新
  • 啟用 IIS 進階日誌(欄位含:cs-uri-query、cs(Cookie)、cs(Referer)、time-taken),集中轉送至 SIEM/日誌平台
  • 啟用 Windows 稽核原則:物件存取失敗、程序建立、特權使用

鐵律十:事件響應 SOP——發現木馬的標準處理流程

  1. 隔離: 防火牆封鎖來源 IP、IIS 停用該站點、網路隔離受影響伺服器
  2. 取證: 完整磁碟鏡像 (FTK Imager/dd)、記憶體鏡像、IIS 日誌、資料庫日誌、WAF 日誌
  3. 溯源: 分析日誌找到上傳請求/注入點/利用漏洞、確認時間線
  4. 清除: 若無法 100% 確認所有木馬位置 → 重建伺服器(乾淨映像/基礎設施即代碼重建),而非嘗試手動清理
  5. 恢復: 從離線備份恢復資料庫/檔案、驗證完整性、修改所有帳號密鑰(資料庫、FTP、管理後台、API Key、雲端憑證)
  6. 複盤: 根因分析(為什麼能上傳?為什麼能執行?為什麼未被偵測?)、更新規則/流程/基線、全團隊分享

結語:防禦是體系,不是單點產品

ASP 木馬之所以猖獗,是因為「上傳 → 執行 → 持久化」鏈路每一環都有鬆動。十大鐵律分別鎖死:部署方式、上傳目錄權限、檔案驗證、資料庫權限、後台入口、配置保護、基線監控、WAF 攔截、主機強化、應急響應。缺一不可。從今天開始,檢視你的每一個 Web 站點:哪一環沒鎖死? 那就是下一個被植入木馬的入口。

Copyright © Windows教程網 All Rights Reserved