iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
Security

30 天成為 IAM 達人系列 第 18

Day 18: 身份管理進階:API 安全管控機制

  • 分享至 

  • xImage
  •  

身份安全管控的另一環即是 API 安全管控機制,
透過保護應用程式介面(API) 免於濫用或遭到未授權的存取。
API 安全通常座落於網站安全 (Web Security)領域,
但隨著微服務化(Microservices)與容器化的現代應用逐漸成為主流,
API 呼叫、認證、授權管控的議題也逐漸納入在身份安全管控範疇中。

API 應用特性

由於 API 係提供 IT 資源和第三方軟體開發之間,
或是 IT 系統資源與個人存取之間,作為存取端點提供資料和資訊。
而也由於通常 API 存取端點是向網際網路世界開放的,
因此也使得 API 成為各種惡意或濫用的的風險目標。

早期的 API 因為主要專注應用單一系統或內部環境的連線,
因此,安全性(或缺乏安全性)通常不太令人擔憂,
因為通常來自內部環境的連線都會預設採取信任與接受。

但隨著雲端原生微服務逐漸成為現代軟體開發架構後,
促使 API 的應用場景不斷擴展出更多元的技術組成,
像定義 API 框架與協議的 REST 以及 SOAP,
即作為應用程式呼叫整合、指定資料格式並規定呼叫類型的標準規範。
構成當前 Web API 的複雜網路的整合應用。

API 安全性風險

如果沒有適當對 API 呼叫提供適當保護,
則可能 API 端點可能會遭受未經授權存取敏感資料,
或是意外或惡意的中斷服務操作等等,例如:

  1. 藉由破解 API 弱身份驗證進行非授權存取
  2. 容易被中間人攻擊攔截或偽冒惡意請求等
  3. 程式碼注入攻擊,透過夾帶惡意程式碼於API呼叫當中
  4. 透過大量呼叫 API 進行 DoS 阻斷服務攻擊

以上都是常見 API 安全領域常見的資安風險粒子。

API 的安全最佳實踐

實作嚴格的 API 安全協定,可以保護 API 端點顯示的資料、
應用程式和服務,同時也保護其對合法使用者的可用性。
不過,API 安全性不僅僅是保護存取端點,
還需考慮整個 API 與網路互動的之間,例如資料傳輸、使用者請求和應用程式間的通訊等。

因此用來支持、保護 API 存取過程的主流技術,大致會有:

  1. 身份驗證和授權協議(Auth/Authorization)
    透過驗證使用者、系統或流程身份過程,確保請求者是他們所聲稱的身份。
    例如採用 OAuth 2.0、API Key 或 JWT 規範等。

  2. 傳輸過程加密保護(Encryption)
    透過採用傳輸層安全性 (TLS)、SSL 連線和 TLS 加密協定等加密技術,
    可以確保 API 流量不會遭到未經授權的使用者攔截或變更。

  3. 輸入驗證(Input Validation)
    確保輸入在處理之前滿足特定條件(長度、類型、格式、範圍等),
    保護 API 免受惡意資料(例如 SQL 注入攻擊和跨網站腳本編寫)的影響。

  4. 速率限制(Usage limitation)
    透過限制使用者或 IP 位址在特定時間範圍內可以進行的呼叫次數,
    藉此保護 API 資源免受暴力破解和 DoS 攻擊。

  5. 稽核紀錄
    保留全面、最新的審核日誌並經常查看它們,
    使組織能夠追蹤資料存取和使用情況並記錄每個 API 請求。

以上都是常見對 API 存取活動實施的安全管控機制。


上一篇
Day 17: 身份管理進階:驗證碼機制 (CAPTCHA)
下一篇
Day 19: 身份管理技術機制總結
系列文
30 天成為 IAM 達人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言