导读 在微服务测试过程中,关于接口的功能和性能测试目前有很多解决方案,而对于接口的安全机制以及其测试方法并没有太多的资料介绍,在这里我会对相关内容进行介绍帮助大家解决接口安全测试的问题!

接口安全机制

主要包括以下几个方面:

    认证:确保你的用户或客户端真的是他们自己。
    授权:确保每个针对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

原文来自:https://os.51cto.com/art/202011/632165.htm

本文地址:https://www.linuxprobe.com/interface-security-mechanism.html编辑:圆蛋,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/