萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦故障排除 >  >> 電腦常見故障 >> 無法連上網路

伺服器資料庫安全兩大鐵律:封鎖 MDB 直連下載、目錄權限最小化與執行權限剝離

ASP/ASP.NET 經典架構中,資料庫檔案 (.mdb/.accdb) 若置於 Web 根目錄下,極易被直接下載導致資料外洩。本文提供兩大核心防護策略,零成本大幅提升資料庫安全性。

策略一:IIS 映射封鎖 — 讓 .mdb 變成「不可下載」

  1. 開啟 IIS 管理員 → 選取網站 → 右鍵「內容」→ 「主目錄」標籤 → 「配置」。
  2. 「應用程式對應」頁籤 → 「新增」:
    副檔名:.mdb (或 .accdb)
    可執行檔:asp.dll (或任意合法 DLL,如 c:\windows\system32\asp.dll)
    動詞:限制為 GET,HEAD,POST (或留空)
  3. 確定套用。瀏覽器直接請求 https://site/data.mdb 將觸發 ASP 處理管線,回傳 404/500 而非檔案內容。

原理:IIS 依副檔名對應處理器;將 .mdb 導向 ASP ISAPI,IIS 嘗試以 ASP 腳本解析二進位資料庫檔,失敗並拒絕服務,達到「無法直接下載」目的。

策略二:目錄權限最小化 + 執行權限剝離 — 纏繞防禦

目錄/檔案類型寫入權限執行權限 (IIS)說明
網站根目錄、程式碼目錄、靜態資源否 (僅讀)僅「腳本」或「無」防止惡意檔案寫入與執行
data/ (資料庫檔)是 (僅 APP_POOL 身分)無資料庫唯讀/寫入,不可執行
uploadfile/、uploadface/、previewimage/是 (僅 APP_POOL 身分)無上傳目錄嚴禁執行,木馬落地也跑不起來
backupdata/ (備份)否 (僅備份帳號)無離線備份,Web 程序不可觸碰
Skins/、config/ 等需動態生成目錄視需求最小化無嚴格限制寫入者身分

進階補強

  • 資料庫移出 Web 根目錄:放至 D:\AppData\DB\ 等非公開路徑,連線字串用實體路徑,根絕 URL 存取可能。
  • 連線字串加密:web.config <connectionStrings> 區段使用 aspnet_regiis -pef 加密。
  • 上傳檔案二次驗證:副檔名白名單 + MIME 檢查 + 殺毒掃描 + 重新命名 (GUID) + 存放非執行目錄。
  • WAF/請求篩選:封鎖 .mdb/.bak/.sql/.asa 等敏感副檔名請求。

驗證清單

  1. 瀏覽器直接訪問 /data.mdb → 404/403/500,非 200 OK 下載。
  2. 上傳 shell.asp 至 uploadfile → 訪問 → 404/403/500,不執行。
  3. 資料庫連線正常、網站功能無異常。

「封鎖直連下載」+「目錄寫入/執行權限分離」雙重保障,讓資料庫檔案在 Web 層面徹底隱身,木馬落地也無處施展,以最小成本構築堅實資料防線。

copyright © 萬盛學電腦網 all rights reserved