縱深防禦

概念

縱深防禦

定義

用多道彼此獨立的防線疊加防護,而非依賴單一機制。核心命題:每一道防線單獨看都有破口,少任何一道都已是漏洞,把多道錯開疊起來才擋得住攻擊。做安全稽核時的對應紀律是「不要抓到一個問題就收手」,要繼續追問「還有什麼該擋沒擋的」。

關鍵數據點(附來源)

  • 後台設定入口的四道防線:移除對未登入者開放、一次性通行證(nonce/CSRF)、查身分(capability)、寫入白名單。四道全缺即整站接管;拿掉任一道入口仍有風險,故修補須當成一整組。(ai-code-security-think-like-attacker)
  • API 通訊的縱深版本:API Key(你是誰)→ SHA-256 簽章(有沒有被竄改)→ 時間戳(防重送),四關全過才放行。(見 [[三層 API 驗證]],2026-03-18-api-security-design-connection-key)
  • 兩個情境的共同骨架:把「驗證」拆成數個各自獨立、各擋一種攻擊的關卡,依序檢查,全過才放行。
  • SQL 注入的縱深版本:參數化查詢($wpdb->prepare)只是查詢端的第一道防線,後面還疊著權限檢查、寫入白名單、移除未登入入口。光用 prepare 不等於安全,且 prepare 本身還有「用了卻用錯」的四個破口(見 [[SQL 注入防範]] 與 [[$wpdb SQL 注入審查四規則]])。(wordpress-wpdb-sql-injection-review)
  • 攻守共用同一套結構(反面應用):入侵鑑識的清除流程也是縱深防禦——攻擊者靠多層獨立持久化通道維生,清除方就得多道獨立步驟一起拆(隔離備份→惡意檔案→帳號→資料庫→核心驗證→憑證輪換→快取),對應稽核紀律「抓到一個問題就收手等於白做」。(wordpress-hacked-forensic-analysis,見 [[持久化攻擊]])
  • 縱深防禦是中性工具,攻擊者也會用:一個 WordPress 後門(easypost)對每個請求要求時間戳(±300 秒)、SHA256、HMAC 簽章、公鑰簽章 OTA 更新,把正派 API 的三層驗證原封不動搬來保護自己的 C2 入口,不讓資安研究員或其他駭客劫走。(wordpress-hacked-forensic-analysis)

前提與局限性

  • 白名單這一道假設「合法輸入可被列舉」,輸入空間爆炸時(富文本、檔案上傳)難窮舉,須改用型別驗證 + 安全輸出。
  • 防線項目隨技術棧不同(Web 後端、前端、行動 App、API),但「多道獨立防線疊加」的元規則可遷移。
  • 多道防線會增加開發與維護成本(白名單需手動維護、靠人為紀律),是安全與便利的權衡。

衝突標記

(無)

關聯概念

  • [[攻擊者思維稽核]]
  • [[SQL 注入防範]]
  • [[三層 API 驗證]]
  • [[重送攻擊防禦]]
  • [[通訊平台 Bot 安全設計]]
  • [[Zero Trust Access]]
  • [[持久化攻擊]]