微服務(wù)安全測試的關(guān)鍵——接口安全機制
在微服務(wù)測試過程中,關(guān)于接口的功能和性能測試目前有很多解決方案,而對于接口的安全機制以及其測試方法并沒有太多的資料介紹,在這里我會對相關(guān)內(nèi)容進行介紹幫助大家解決接口安全測試的問題!
接口安全機制
主要包括以下幾個方面:
- 認證:確保你的用戶或客戶端真的是他們自己。
- 授權(quán):確保每個針對API的訪問都是經(jīng)過授權(quán)的。
- 審計:確保所有的操作都被記錄,以便追溯和監(jiān)控。
- 流控:防止用戶請求淹沒API。
- 加密:確保出入API的數(shù)據(jù)都是私密的。
下圖會對我們理解接口的安全機制有很大的幫助,最右面是我們提供的API,最左邊是用戶,在這二者之間需要我們加入安全機制。

接口安全測試點
加密貫穿始終:api中包含的數(shù)據(jù)必須是加密的。
測試點:對接口進行抓包處理,核心數(shù)據(jù)是必須加密的。需要跟研發(fā)人員確認加密算法不能是常用的加密算法。
流控:通過應(yīng)用系統(tǒng)層面來防止黑客使用DDos攻擊,導(dǎo)致應(yīng)用系統(tǒng)長時間不能響應(yīng)正常用戶的訪問請求。
測試點:使用壓力測試工具(例如jemeter),某一時間段頻繁調(diào)用接口,看是否符合流控方案,例如:
1.一秒鐘同一個IP可以調(diào)用幾次接口\請求多大帶寬
2.調(diào)用失敗后的響應(yīng)信息
3.ip是否加入黑名單
認證:使用cookie、session、token、密鑰等認證機制
測試點:
- 接口中攜帶錯誤的cookie 、session、token、密鑰
- 接口中攜帶過期的cookie 、session、token、密鑰
審計:通過對接口請求的日志記錄,實現(xiàn)對非法請求的溯源
測試點:查看調(diào)用api后,調(diào)用信息是否被記錄在日志中并且頻繁調(diào)用是否在日志中記錄準確。
授權(quán):一般通過使用ACL訪問控制(通過給不同用戶訪問權(quán)限實現(xiàn))或使用rbac(基于用戶、角色、權(quán)限關(guān)聯(lián)關(guān)系實現(xiàn))。
測試點:不同角色是否具備api的使用權(quán)限,例如普通用戶不能使用管理員專用的API