文章目录
API安全风险与防范
前言
本文就API安全面临的常见风险和如何防范,浅谈了一下个人见解,供API设计和开发时参考。
API安全风险与防范
未授权访问
风险:攻击者知道API地址和传入参数后,访问未授权的数据或操作。
防范:
- 前端调用后端的接口,必须由后端作二次校验,不能只相信前端页面控制;
- 系统对系统的接口,需要用身份认证机制(比如,appId和appSecret机制、token机制)
参见:
越权问题
风险:攻击者试图访问权限范围外(水平越权或垂直越权)的数据或操作。
防范:
- 不信任接口调用传入参数,必须由后端对访问作严格的权限控制,不要偷懒;
- 前端调用后端的接口,必须由后端作二次校验,不能只相信前端页面控制;
- 不相信前端传进来的和权限有关的参数(或者不要让前端传进来和权限有关的参数),而是后端自动获取当前登录用户的权限相关的信息;
- 后端不能只判断用户是否登录,而是还要判断当前用户是否有权限;
- 特别小心传入id来查询或操作的场景,一定要校验当前用户是否有该id的权限;
参见:
数据窃听
风险:在调用API的传输过程中,数据可能会被窃听,比如恶意WIFI、DNS劫持、网络设备被黑等。
防范:
- 尽量在安全的网络中传输,比如内网、专线等;
- 采用HTTPS协议对传输过程加密;
- 对传输的数据进行加密。
DDoS攻击
风险:攻击者控制一群肉鸡,发起DDoS攻击(分布式拒绝服务攻击)&#