久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

開發(fā)安全的API所需要核對的清單是什么

149次閱讀
沒有評論

共計 2072 個字符,預(yù)計需要花費 6 分鐘才能閱讀完成。

這期內(nèi)容當中丸趣 TV 小編將會給大家?guī)碛嘘P(guān)開發(fā)安全的 API 所需要核對的清單是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

以下是當你在設(shè)計, 測試以及發(fā)布你的 API 的時候所需要核對的重要安全措施.

身份認證

  不要使用  Basic Auth  使用標準的認證協(xié)議 (比如 JWT, OAuth).

  不要再造  Authentication, token generating, password storing  這些輪子, 使用標準的.

  在登陸中使用  Max Retry  和自動封禁功能.

  加密所有的敏感數(shù)據(jù).

JWT (JSON Web Token)

  使用隨機復(fù)雜的密鑰 (JWT Secret) 以增加暴力破解的難度.

  不要在請求體中直接提取數(shù)據(jù), 要對數(shù)據(jù)進行加密 (HS256 or RS256).

  使 token 的過期時間盡量的短 (TTL, RTTL).

  不要在 JWT 的請求體中存放敏感數(shù)據(jù), 它是可破解的.

OAuth 授權(quán)或認證協(xié)議

  始終在后臺驗證  redirect_uri, 只允許白名單的 URL.

  每次交換令牌的時候不要加 token (不允許  response_type=token).

  使用  state  參數(shù)并填充隨機的哈希數(shù)來防止跨站請求偽造(CSRF).

  對不同的應(yīng)用分別定義默認的作用于和各自有效的作用域參數(shù).

訪問

  限制流量來防止 DDoS 攻擊和暴力攻擊.

  在服務(wù)端使用 HTTPS 協(xié)議來防止 MITM 攻擊.

  使用  HSTS  協(xié)議防止 SSLStrip 攻擊.

輸入

  使用與操作相符的 HTTP 操作函數(shù), GET (讀取), POST (創(chuàng)建), PUT (替換 / 更新)  以及  DELETE (刪除記錄),如果請求的方法不適用于請求的資源則返回  405 Method Not Allowed.

  在請求頭中的  content-type  字段使用內(nèi)容驗證來只允許支持的格式 (比如  application/xml, application/json …) 并在不滿足條件的時候返回  406 Not Acceptable.

  驗證  content-type  的發(fā)布數(shù)據(jù)和你收到的一樣 (如  application/x-www-form-urlencoded, multipart/form-data, application/json  等等 …).

  驗證用戶輸入來避免一些普通的易受攻擊缺陷 (比如  XSS, SQL- 注入,  遠程代碼執(zhí)行   等等 …).

  不要在 URL 中使用任何敏感的數(shù)據(jù) (credentials, Passwords, security tokens, or API keys), 而是使用標準的認證請求頭.

  使用一個 API Gateway 服務(wù)來啟用緩存、訪問速率限制 (如  Quota, Spike Arrest, Concurrent Rate Limit) 以及動態(tài)地部署 APIs resources.

處理

  檢查是否所有的終端都在身份認證之后, 以避免被破壞了的認證體系.

  避免使用特有的資源 id. 使用  /me/orders  替代  /user/654321/orders

  使用  UUID  代替自增長的 id.

  如果需要解析 XML 文件, 確保實體解析 (entity parsing) 是關(guān)閉的以避免 XXE 攻擊.

  如果需要解析 XML 文件, 確保實體擴展 (entity expansion) 是關(guān)閉的以避免通過指數(shù)實體擴展攻擊實現(xiàn)的 Billion Laughs/XML bomb.

  在文件上傳中使用 CDN.

  如果需要處理大量的數(shù)據(jù), 使用 Workers 和 Queues 來快速響應(yīng), 從而避免 HTTP 阻塞.

  不要忘了把 DEBUG 模式關(guān)掉.

輸出

  發(fā)送  X-Content-Type-Options: nosniff  頭.

  發(fā)送  X-Frame-Options: deny  頭.

  發(fā)送  Content-Security-Policy: default-src none   頭.

  刪除指紋頭 – X-Powered-By, Server, X-AspNet-Version  等等.

  在響應(yīng)中強制使用  content-type, 如果你的類型是  application/json  那么你的  content-type  就是  application/json.

  不要返回敏感的數(shù)據(jù), 如  credentials, Passwords, security tokens.

  在操作結(jié)束時返回恰當?shù)臓顟B(tài)碼. (比如  200 OK, 400 Bad Request, 401 Unauthorized, 405 Method Not Allowed  等等 …).

持續(xù)集成和持續(xù)部署

  使用單元測試和集成測試來審計你的設(shè)計和實現(xiàn).

  使用代碼審查流程并且不要自行批準.

  在推送到生產(chǎn)環(huán)境之前確保你的服務(wù)的所有組件都被用殺毒軟件靜態(tài)地掃描過,包括第三方庫和其它依賴.

  為部署設(shè)計一個回滾方案.

上述就是丸趣 TV 小編為大家分享的開發(fā)安全的 API 所需要核對的清單是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-03發(fā)表,共計2072字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 江源县| 余姚市| 东阿县| 富顺县| 潼关县| 恩平市| 平度市| 中阳县| 富宁县| 许昌市| 樟树市| 容城县| 若尔盖县| 沙坪坝区| 中江县| 甘泉县| 右玉县| 尤溪县| 尖扎县| 呼玛县| 进贤县| 铜鼓县| 綦江县| 重庆市| 永年县| 克什克腾旗| 永清县| 大港区| 岳西县| 绩溪县| 河南省| 克什克腾旗| 横峰县| 大港区| 巴楚县| 重庆市| 镇赉县| 北海市| 赣州市| 马关县| 肥东县|