【網頁技術與資安】

在這個電子書中我會從網際網路的運作原理開始講起,介紹常見的駭客攻擊術以及如何防禦,以及加強自己網站系統的資安強度!

網頁技術學到一個程度後,下一步就是基礎工程師與資深工程師的分水嶺 – 「資安」了,寫出「能運作」的系統是基本,寫出「能防禦」的系統,才是關鍵 !!

在這篇電子書中會提及:

  1. 網際網路運作原理
  2. 瀏覽器運作原理
  3. 伺服器運作原理
  4. XSS攻擊

Google 資安小體驗

https://phishingquiz.withgoogle.com

  1. 打開連結,選擇一個模擬信箱情境
  2. 逐封判斷「釣魚 or 正常」
  3. 每題看解析:攻擊者用了什麼手法?

資安概論

資訊安全是指保護資訊的機密性完整性可用性,並確保系統能抵禦未授權的存取、竄改、洩漏或中斷。

在 Web 開發中,資安不是「上線前才加的功能」,而是從需求分析、架構設計、程式撰寫、測試、部署到維運都必須納入的持續性工作。

flowchart TB
  subgraph threats["威脅來源"]
    A[外部攻擊者]
    B[惡意使用者]
    C[供應鏈風險]
    D[人為疏失]
  end
  subgraph assets["需保護的資產"]
    E[使用者資料]
    F[商業邏輯]
    G[API 與金鑰]
    H[系統可用性]
  end
  subgraph controls["防禦措施"]
    I[身份驗證]
    J[授權控管]
    K[加密傳輸]
    L[輸入驗證]
    M[監控與稽核]
  end
  threats --> assets
  controls --> assets

以下內容皆會在之後的篇章做詳細的說明,這裡先賣個關子(?)

CIA 三要素

要素英文定義常見威脅防禦方向
機密性Confidentiality只有授權者能讀取資料資料外洩、越權存取加密、存取控制
完整性Integrity資料未被未授權竄改SQL Injection、參數竄改簽章、雜湊、輸入驗證
可用性Availability授權使用者能正常使用服務DDoS、勒索軟體Rate Limiting、備援

安全原則

原則說明
最小權限只給完成工作所需的最少權限
縱深防禦多層防護,單點失效不導致全面失守
預設拒絕未明確允許的操作一律禁止
不信任使用者輸入所有外部輸入都視為不可信

常見攻擊

攻擊類型主要發生位置一句話說明
XSS前端注入惡意腳本
CSRF前端 + 後端誘導已登入使用者執行非本意請求
SQL Injection後端透過輸入拼接 SQL
IDOR後端 API修改 ID 存取他人資源
SSRF後端誘使伺服器向內部網路發送請求