客戶端和服務器之間的事務包括向特定端點發出的請求,該請求由基本 URL(服務器域名)、方法(URL 的路徑部分)和可選參數組成。請求指定要使用的方法(通常稱為動詞),并可能包含正文(通常為 JSON 或 XM L)。

服務器在驗證請求的身份和授權后,會處理請求并返回響應,其中包括指示請求狀態的 HTTP 響應代碼。響應可能以不同格式和編碼方案返回數據負載。

為什么 API 安全性如此重要?

全球 API 的數量正在迅速增長,Postman 報告稱,去年增長率為 39%。Gartner 預計,到 2022 年,90% 的 Web 應用程序在 API 中暴露的攻擊面將比在 UI 中暴露的攻擊面更多,API 濫用將成為最常見的攻擊媒介。API 對攻擊者有很大吸引力,因為它們通常通過記錄在案的終端節點暴露在外,攻擊工具可以輕松自動化攻擊。

API 的普遍性、相對容易攻擊的特性以及暴露的數據價值,使得 API 安全成為安全和風險專業人員的首要任務。幸運的是,開發人員可以通過一些成熟的模式和實踐來有效降低 API 漏洞的風險。

API 安全的基礎

保護 API 的第一步是深入了解 API 的基本元素,包括:

傳輸層安全性 (TLS)

傳輸層安全性 (TLS) 協議用于確保通過 TCP/IP 網絡的安全通信。它加密數據以防止在傳輸過程中被竊聽,并確??蛻舳四軌蝌炞C服務器的完整性(通過證書檢查)。盡管證書管理曾是一個挑戰,但有了 Let’s Encrypt 等服務提供商,證書部署變得更加簡單。所有新的 API 開發都應將保護通信網絡作為首要任務。

速率限制

公共 API 作為企業的門戶,必須防止拒絕服務 (DoS) 攻擊。攻擊者可能會發起自動化攻擊,影響合法用戶的性能,甚至耗盡服務器資源。速率限制可以緩解這些問題,限制從特定 IP 地址到終端節點的重復訪問。這通常通過 API 網關或專用防護產品(如 WAF 或 API 防火墻)來實現。

訪問控制

訪問控制是 API 安全的核心,包含兩個方面:

無身份驗證
對于只讀的公共 API,可能不需要身份驗證,通常用于信息和狀態查看。

基本身份驗證
基本身份驗證是一種過時的方法,通過將用戶名和密碼編碼為 Base64 字符串進行傳輸,缺乏安全性,不建議用于新設計。

會話 Cookies
通過登錄頁面進行身份驗證后,客戶端存儲會話 Cookie 進行后續請求。這種方法存在泄露和生命周期管理問題,也不推薦使用。

承載者認證
通過使用用戶憑證的哈希值來改進基本身份驗證,但仍存在中間人攻擊的風險。

API 密鑰
API 密鑰是常用的身份驗證方法。服務器生成密鑰供客戶端使用,客戶端通過標頭提交密鑰進行驗證。雖然 API 密鑰適合服務 API,但在客戶端應用程序中的安全存儲和生命周期管理仍然是挑戰。

OAuth 2.0
OAuth 2.0 是廣泛使用的身份驗證和授權標準,允許客戶端通過授權服務器驗證身份并獲得訪問令牌。最常用的流包括授權碼流程和使用 PKCE 的授權代碼流程,后者增強了安全性,適用于無法存儲客戶端密鑰的應用。

OpenID Connect (OIDC)
OpenID Connect 是建立在 OAuth 之上的身份層,支持通過 JWT 令牌獲取用戶信息,如用戶名和電子郵件,并驗證信息的完整性。

授權

一旦確定客戶端身份,服務器需要評估其訪問資源的權限。訪問控制通常在請求級別和對象級別進行。復雜的授權要求最好使用專用庫或框架(如 Open Policy Agent)來處理。

JSON Web 令牌 (JWT)

JWT 用于在客戶端和服務器之間安全傳輸信息。JWT 由標頭、聲明和簽名組成。標頭提供有關算法的信息,聲明部分包含服務器特定的數據,簽名用于驗證消息的完整性。JWT 的廣泛使用要求在生產環境中小心處理,以避免常見的陷阱。

安全的 API 生命周期

有效的 API 安全性理想地建立在完善的 DevOps 流程的基礎上。以下是 API 生命周期中關鍵的安全階段和最佳實踐:

設計

強大的 API 安全性從設計階段開始,以確保充分考慮以下內容:

建設

API 后端的構建是確保 API 安全的關鍵因素:

測試

設計優先方法的一個主要優點是能夠利用工具自動化測試:

保護

某些 API 保護措施應在網關級別實施:

API 網關

許多優秀的 API 網關可用于主要云平臺:

WAF 和 WAAP

Web 應用程序傳統上依賴 WAF 來抵御攻擊:

API 微防火墻

API 微防火墻通過積極的安全模型強制執行 OAS 合同:

監測

API 生命周期的最后一個要素是主動監控:

治理

API 安全還包括從設計到運營的全過程治理:

常見的 API 攻擊方法(和防御措施)

了解常見的 API 攻擊方法可以幫助開發人員更好地保護 API。以下是主要的攻擊方法及其防御措施:

1. 機器人攻擊

描述:惡意爬蟲程序用于抓取大量數據或 PII。
防御措施

2. API Discovery 和 Endpoint Enumeration

描述:攻擊者試圖獲取有關 API 及其終端節點的知識。
防御措施

3. 拒絕服務攻擊(DoS)

描述:通過使服務器過載來使 API 脫機。
防御措施

4. 憑證填充攻擊(Credential Stuffing)

描述:使用常見密碼字典攻擊 API。
防御措施

5. 賬戶接管攻擊(Account Takeover)

描述:利用密碼重置進程或其他手段接管賬戶。
防御措施

6. API 磨損和分頁攻擊

描述:惡意爬蟲抓取整個數據存儲,或利用分頁功能遍歷所有頁面。
防御措施

這些防御措施有助于減少常見的 API 攻擊風險,并增強 API 的安全性。

常見漏洞

OWASP 組織發布了專門的 OWASP API 安全 10 大漏洞,描述了前 10 個最常見的 API 漏洞類別。以下是主要的 API 漏洞及其防御措施:

1. 身份驗證漏洞(Authentication Vulnerabilities)

描述:身份驗證損壞或缺失是 API 漏洞的主要原因。常見問題包括未受保護的終端節點、令牌和密鑰泄漏、用戶憑據公開和密碼重置機制濫用。
防御措施

2. 對象級漏洞(Object-Level Vulnerabilities)

描述:這些漏洞允許用戶訪問不屬于他們的對象。攻擊者通過操縱對象標識符來探測不良的實現。
防御措施

3. 函數級漏洞(Function-Level Vulnerabilities)

描述:用戶能夠訪問未授權的 API 終端節點或功能。根本原因是缺乏適當的授權檢查。
防御措施

4. 數據漏洞(Data Vulnerabilities)

描述

5. 配置漏洞(Configuration Vulnerabilities)

描述:包括錯誤的操作或運行時配置,如缺少傳輸加密、接受未使用的 HTTP 方法、冗長的錯誤消息和不必要的 HTTP 標頭。
防御措施

6. 實現漏洞(Implementation Vulnerabilities)

描述:包括輸入注入(SQL、命令、LDAP 等)、缺乏數據清理、使用易受攻擊的庫或組件、框架配置錯誤等問題。
防御措施

這些漏洞和防御措施有助于確保 API 在開發和部署過程中的安全性。通過實施這些防御策略,開發人員可以顯著減少 API 面臨的安全風險。

保護 API 的最佳實踐

要提高 API 的安全性,可以采取以下幾種最佳實踐:

1. 始終使用 TLS

描述:傳輸層安全性(TLS)應作為所有 API 端點的標準配置。確保正確配置安全標頭,并處理證書的輪換過程。
措施

2. 使用 OAuth2 進行單點登錄(SSO)

描述:OAuth2 標準提供了成熟的身份驗證和授權機制,避免自己設計和實現復雜的身份驗證工作流。
措施

3. 練習良好的 API 密鑰和令牌管理

描述:確保 API 密鑰和令牌的安全性,避免明文存儲或提交到版本控制系統中。
措施

4. 使用策略代理進行細粒度授權管理

描述:在 API 的每個函數端點實施訪問控制時,使用中央授權終端節點或授權框架來避免實現錯誤。
措施

5. 消除未使用的端點方法

描述:刪除未使用的 HTTP 方法(如 DELETE、OPTIONS、PATCH)以減少攻擊面。
措施

6. 應用配額和速率限制

描述:通過設置配額和速率限制來防止拒絕服務攻擊和大規模數據泄露。
措施

7. 使用 API 防火墻和網關

描述:利用云平臺提供的 API 網關服務和定制的 API 微防火墻來加強 API 安全。
措施

8. 管理 API 清單

描述:積極管理和審查 API 清單,識別和處理過時或棄用的 API。
措施

9. 使用經過驗證的標準庫

描述:依賴成熟的標準庫來處理常見模式和工作流程,避免自行實現可能存在安全漏洞的功能。
措施

這些措施有助于保護 API 免受各種安全威脅,并確保其安全性和可靠性。

結論

開發人員在確保 API 的功能性和安全性方面面臨著顯著挑戰。為了保護 API 不被攻擊者利用或破壞,安全性應貫穿 API 開發的整個生命周期。以下是關鍵點:

  1. 深入理解關鍵概念:開發人員必須清楚授權和身份驗證等關鍵安全概念,以便正確實施和維護 API 安全。
  2. 采用最佳實踐:使用已驗證的安全措施和最佳實踐,如始終使用 TLS、實施 OAuth2 認證、管理好 API 密鑰和令牌、以及使用 API 防火墻和網關來增強 API 的保護層。
  3. 預見攻擊手法:開發人員應像對手一樣思考,了解潛在的攻擊方法和漏洞,從而更好地保護 API。例如,防止爬蟲程序濫用、應對拒絕服務攻擊、處理憑證填充攻擊等。
  4. 利用技術工具:開發人員和安全團隊應利用現代技術工具,如 API 微防火墻和 API 網關,來添加額外的保護層并增強 API 的安全性。

通過結合這些方法和工具,開發人員可以顯著提高 API 的安全性,確保 API 在抵御各種安全威脅方面表現良好。

原文鏈接:REST API Security Essentials

熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
返回頂部
上一篇
API 安全:如何準備和應對攻擊漏洞
下一篇
反應過度數據暴露:示例和預防
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
国产在线视视频有精品| 丰满白嫩尤物一区二区| 1区2区3区精品视频| 经典三级在线一区| 欧美大尺度电影在线| 日韩不卡免费视频| 丁香婷婷综合色啪| 久久亚洲二区三区| 久久久久久电影| 成人免费毛片高清视频| 国产亚洲女人久久久久毛片| 成人黄色片在线观看| 亚洲激情男女视频| 欧美电视剧免费观看| 国产精品91一区二区| 成人免费在线视频观看| 欧美精品日韩精品| 国产成人欧美日韩在线电影| 一区二区三区日韩欧美精品| 精品日本一线二线三线不卡| 不卡视频在线观看| 丝袜美腿亚洲色图| 中文字幕一区二区三区在线播放| 欧美日韩成人综合天天影院 | 99久久99久久久精品齐齐| 亚洲免费在线观看视频| 精品免费日韩av| 91蜜桃网址入口| 国产一级精品在线| 天使萌一区二区三区免费观看| 国产清纯白嫩初高生在线观看91 | 麻豆精品精品国产自在97香蕉| 国产精品伦一区二区三级视频| 欧美一区二区三区在线观看视频| jlzzjlzz亚洲女人18| 国产精品一二一区| 久久国产精品99久久久久久老狼| 亚洲第一会所有码转帖| 伊人性伊人情综合网| 中文字幕+乱码+中文字幕一区| 在线播放国产精品二区一二区四区| 国产电影一区在线| 国产一二精品视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲国产一区二区三区青草影视 | 欧美一区二区久久久| 欧美日韩中文字幕一区二区| 91亚洲国产成人精品一区二区三| 丁香婷婷深情五月亚洲| 国产成人精品一区二区三区网站观看| 蜜臀国产一区二区三区在线播放| 天堂成人国产精品一区| 日韩激情av在线| 日本午夜一本久久久综合| 亚洲一区二区视频| 日韩精品电影一区亚洲| 蜜桃久久久久久久| 国产米奇在线777精品观看| 久久97超碰国产精品超碰| 国产精一品亚洲二区在线视频| 国产一区二区三区免费观看| 国产精品亚洲人在线观看| 久久机这里只有精品| 国产成人免费视| 在线中文字幕一区二区| 欧美精品123区| 日韩欧美中文字幕精品| 久久久久久久久97黄色工厂| 一区免费观看视频| 日韩不卡一二三区| 成人免费毛片aaaaa**| 欧美体内she精视频| 精品不卡在线视频| 亚洲男女一区二区三区| 日本va欧美va欧美va精品| 国产黄人亚洲片| 欧美日产在线观看| 国产精品不卡一区二区三区| 亚洲一二三级电影| 国产黄色精品网站| 欧美日韩国产精品成人| 中文字幕av一区二区三区免费看| 亚洲一二三四区| 国产做a爰片久久毛片| 欧美吻胸吃奶大尺度电影| 久久夜色精品一区| 日韩国产精品久久久久久亚洲| 国产一区二区三区蝌蚪| 欧美麻豆精品久久久久久| 国产精品超碰97尤物18| 蜜桃91丨九色丨蝌蚪91桃色| 91国产成人在线| 综合激情网...| 成人一区二区在线观看| 欧美成人高清电影在线| 亚洲成人动漫一区| 欧美日韩亚洲国产综合| 亚洲区小说区图片区qvod| 国产99久久久精品| 国产免费观看久久| 国产在线麻豆精品观看| 日韩一本二本av| 蜜乳av一区二区三区| 91精品国产综合久久久久久漫画 | 久久综合久色欧美综合狠狠| 天堂成人免费av电影一区| 在线看一区二区| 伊人婷婷欧美激情| 91网站最新地址| 一区二区三区国产豹纹内裤在线 | 日韩制服丝袜av| 91免费看片在线观看| 国产精品久久久久久久久搜平片| 日日夜夜精品视频免费| 欧美一二三区在线观看| 久久国产生活片100| 久久精品人人爽人人爽| 成人av资源在线| 亚洲精品视频在线看| 亚洲人一二三区| 国产精品资源站在线| 91小宝寻花一区二区三区| 亚洲欧洲综合另类| 欧美成人猛片aaaaaaa| 毛片基地黄久久久久久天堂| 成人动漫一区二区三区| 日韩美女一区二区三区| 欧美成人bangbros| 国产精品久久久久aaaa樱花| 日韩一区二区三区在线观看| www.亚洲色图| 亚洲一卡二卡三卡四卡五卡| 91精品国产欧美一区二区18 | 亚洲丝袜制服诱惑| 51精品秘密在线观看| 国产黑丝在线一区二区三区| 亚洲一区二区三区精品在线| 26uuu国产在线精品一区二区| av不卡在线观看| 精品在线视频一区| 亚洲制服丝袜在线| 国产精品乱人伦中文| 3d动漫精品啪啪1区2区免费| 99久久99久久精品免费看蜜桃| 日韩成人av影视| 亚洲无人区一区| 亚洲日穴在线视频| 国产亚洲欧美色| 精品日韩av一区二区| 欧美性大战久久| 99国产精品久久久久久久久久久| 国产真实精品久久二三区| 日本午夜精品视频在线观看 | 亚洲综合色视频| 中文字幕中文乱码欧美一区二区| 欧美电影免费提供在线观看| 91成人免费在线视频| 成人av在线资源网站| 国产精品综合久久| 加勒比av一区二区| 麻豆精品国产91久久久久久| 日韩av一区二区三区四区| 亚洲国产精品尤物yw在线观看| 中文字幕一区av| 亚洲日本va在线观看| 亚洲欧美综合色| 亚洲视频在线观看三级| 一区在线中文字幕| 日韩美女视频一区| 一区二区三区中文字幕精品精品| 亚洲女同ⅹxx女同tv| 一卡二卡三卡日韩欧美| 亚洲成精国产精品女| 免费视频最近日韩| 国产综合久久久久影院| 国产成人av电影在线播放| 波多野结衣视频一区| 91久久免费观看| 在线观看亚洲a| 日韩一区二区免费在线电影| 久久久91精品国产一区二区精品 | 成人av先锋影音| 色噜噜狠狠色综合欧洲selulu| 欧美视频你懂的| 日韩一级二级三级| 国产精品伦理在线| 亚洲一区免费在线观看| 奇米影视7777精品一区二区| 国产精品一区二区久激情瑜伽| 91美女视频网站| 日韩一区二区三区精品视频| 国产精品久线观看视频| 亚洲国产一区二区在线播放| 国内精品国产成人国产三级粉色 | 日韩一二在线观看| 国产精品久久久久久久久果冻传媒 | 国产亚洲视频系列| 亚洲影院在线观看| 国产福利一区二区三区视频在线| 欧美性生活大片视频|