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

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