Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

駭客視角教你配置安全伺服器:從 WebShell 防禦到 SQL 注入徹底封堵

編輯:關於伺服器

防禦必須從入侵者角度思考。當前主流 Web 入侵鏈:尋找程式漏洞 → 獲取 WebShell → 依伺服器配置尋找提權路徑 → 奪取伺服器控制權。因此,配合伺服器配置防範 WebShell 是有效策略。

一、防止資料庫被非法下載

有安全意識的管理員會修改網站程式預設資料庫路徑,但疏忽者直接安裝甚至保留說明檔。駭客可下載源碼本地測試找到預設資料庫路徑,下載資料庫讀取用戶資訊(通常為 MD5 雜湊)找到管理入口登入獲取 WebShell。或因程式報錯洩露資料庫路徑。

解決方案:新增 MDB 擴展對應

  1. IIS → 「主目錄」 → 「配置」 → 「對應」 → 「應用程式副檔名」新增 .mdb。
  2. 將 .mdb 解析至無法下載的檔案類型(如映射到不存在的 DLL 或靜態檔案處理器)。
  3. 效果:所有 .mdb 後綴資料庫檔案均無法下載;對虛擬主機管理員極具價值(一次配置全站生效)。

二、防止惡意上傳獲取 WebShell

若使用 MSSQL 且存在注入點,仍可透過注入工具猜解資料庫。若上傳功能無身分驗證,直接上傳 ASP 木馬即獲 WebShell。

核心原則:可上傳目錄不給執行權限,可執行目錄不給上傳權限

Web 程式以 IIS 用戶(通常為 IUSR 或應用程式池身分)運行。配置步驟:

  1. IIS 網站根目錄 → 「權限」頁籤 → 僅給 IIS 用戶「讀取」與「列出目錄內容」權限。
  2. 上傳檔案儲存目錄、資料庫目錄 → 給 IIS 用戶新增「寫入」權限。
  3. 這兩個目錄 → 「屬性」 → 「執行權限」將「純腳本」改為「無」。
⚠️ 關鍵細節: 設定權限時務必注意父目錄繼承關係,避免配置因繼承失效而白費功夫。

三、MSSQL 注入深度防禦

1. 資料庫連線帳戶原則

  • 嚴禁使用 sa 帳戶 連線資料庫——對伺服器是災難。
  • 優先使用 db_owner 權限帳戶;若能正常運行,public 權限最安全。

2. 封堵差異備份提權路徑

設為 dbo 權限後,入侵者僅能靠猜解帳密或差異備份獲 WebShell。前者可透過加密與修改預設後台路徑防禦。差異備份條件:備份權限 + 知曉 Web 目錄。尋找 Web 目錄通常用 xp_regread(讀取註冊表)與 xp_dirtree(遍歷目錄)兩個擴展預存程序。

徹底封堵操作:

  1. 刪除 xp_regread、xp_dirtree 兩個擴展預存程序(可連同對應 DLL 一併刪除)。
  2. 若程式報錯洩露 Web 目錄則無法從此防禦,需進一步降低帳戶權限使其無法完成備份操作:
      • 帳戶屬性 → 「資料庫存取」 → 僅勾選對應資料庫賦予 db_owner,其他資料庫不操作。
      • 該資料庫 → 「屬性」 → 「權限」 → 移除該用戶「備份資料庫」與「備份日誌」權限。

總結:從 IIS 映射、目錄權限分離、資料庫最小權限、移除危險擴展預存程序四個層面構建纵深防禦,將 Web 入侵成本推至攻擊者難以承受的高度。

Copyright © Windows教程網 All Rights Reserved