怎樣設計安全的GraphQL API?

在這篇文章,我們將討論一些各種GraphQL部署和遷移的安全風險,這些安全風險在客戶管理過程中被發現。我們會討論比較常見的高風險權限漏洞,以及不太常見的服務端請求僞造(SSRF)問題。上述這些問題都是我們在嘗試實現從GraphQL到REST API的互操作的遷移中發現的。

除漏洞外,我們還將強調常見的錯誤配置和有風險的設計,來幫你避免常見錯誤,併爲你提供一組測試用例來驗證你的實現。

語言選擇很關鍵

儘管有很多種編程語言都支持GraphQL,但是,對一些編程語言來說,諸如社區支持庫之類的工具可能比較少或者不太成熟。

花點時間探索適合你的首選語言,並確定它們是否能滿足你的長期維護需求。

我們在這裏將重點介紹JavaScript,因爲這是我們遇到的最常見的語言。

安全基線配置

在深入討論常見的應用程序級別漏洞前,我們先重點討論一些應該在所有GraphQL API設計中實現的常見配置。

儘管GraphQL的一個主要優勢是它的表達式查詢結構,但是由於缺乏默認約束,這種自由性也伴隨着性能和可用性風險。與所有開銷大的API操作一樣,建立安全的約束和校驗配置可以減少拒絕服務攻擊(DoS)的機會。

由於這是一個老生常談的話題,因此,我將不再深入討論最常見的一些問題和它們已有的JavaScript實現方案,但我在下面將其列舉出來以便在建立安全基線時進行檢查:

原文鏈接:【https://www.infoq.cn/article/X882krcE0Riyu5dSrmRl】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章