API安全的重要性
近几年,越来越多的企业开始数字化转型之路。数字化转型的核心是将企业的服务、资产和能力打包成服务(服务的形式通常为API,API又称接口,下文中提到的API和接口意思相同),从而让资源之间形成更强的连接和互动关系,释放原有资产的价值,提升企业的服务能力。企业数字化转型使得基于API的业务系统剧增,随之而来带来的安全问题也日渐凸显。Gartner预测,到2022年,API滥用将成为最常见的攻击媒介,导致企业出现数据泄露。
API安全事件频发,技术能力领先的头部企业也屡遭数据泄露。2020年3月19日,有用户在暗网上发现微博的5.38亿用户信息在暗网出售,其中1.72亿条有账户基本信息,原因就是来自于终端APP的业务逻辑API被非法流量调用超过40亿次而导致。
API给企业带来的挑战有:1)资产理不清,有多少API对外开放、有多少敏感数据、有什么类型数据、是什么等级的数据;2)滥用管不住,API未经脱敏就直接使用、开放API被第三方系统滥用;3)审计日志不详细,导致API安全事件发生后没有有效的溯源手段。
API安全性越来越重要,对API安全进行防护既有利于用户安全的使用API所提供的服务,又能够为用户的隐私数据进行保驾护航。所以,提高API安全防护能力的问题亟待解决。面对以上形势,现在越来越多的企业采用API网关来管理内部API。以下从API资产管理、API安全防护、API风险溯源三个方面介绍API网关如何对API进行全生命周期的安全管理。
API资产管理
API网关支持API注册、分级分类、资产清单导出和API签约审批等。通过API网关,API提供者可以清晰掌握每个调用方的使用情况,并且可严格把控API的签约使用,实现API的可管可控。
API安全防护
1. 认证鉴权
API网关支持根据能力提供者提供的相关API鉴权要求,要求能力使用者在使用相关API时,遵循相应的鉴权要求。
1)IP黑白名单认证
IP黑白名单API策略适配器帮助能力提供者对能力使用者的API 调用按照请求端IP黑白名单进行控制,确保API访问的安全性。能力提供者针对每个API可独立设置IP黑白名单,每个IP地址都与能力使用者存在对应关系。
2)APPID身份认证
能力使用者在使用API时,需要先注册APP,并获取APPID。调用API时,以APP为单位调用,而不是以能力使用者身份调用。理论上同一个能力使用者的多个APP之间不允许在非授权情况下互相使用对方APP不具备的API。API网关网关需提供“APPID+ SecretKey”用于身份认证,认证通过后才允许该能力使用者调用API。APPID和SecretKey由系统分配。当能力使用者在系统中成功创建APP后,系统就自动为其分配APPID和SecretKey。能力提供者可以针对每个API设置APPID认证策略。
3)能力鉴权
即使APPID认证通过,若该能力使用者调用未申请的接口,同样会被API网关拦截。
4)密钥更换
API网关为每个系统或应用分配专属的秘钥,调用方系统使用秘钥才有权限调用申请的API,秘钥一旦泄露,第三方就可以非法调用API,该功能可以避免秘钥泄露导致的API安全问题。
5)签名认证
API网关支持签名认证,例如使用RSA非对称加密模式时,能力使用者在使用API时,需要使用APP私钥进行签名,从API网关获取 API响应或者API网关主动发送消息给APP时,API网关会使用私钥进行签名,能力使用者需要通过API网关公钥验证,以确保消息来源可靠。
2. 流量控制
流量控制主要指对应用接入的流控和API访问的流量控制。针对 API,流量控制策略适配器帮助能力提供者对能力使用者的API调用按照设置的TPS进行访问速率控制,从而可以拦截非法调用并保护后端API服务器。能力提供者针对每个API、签约应用加API、 签约应用等不同维度,可独立设置TPS,当能力使用者调用API时,API网关系统将按照能力提供者设置的TPS值进行API 调用速率控制
3. 数据脱敏
数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。数据脱敏的定义为:指对某些敏感数据通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样,就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。敏感数据,又称隐私数据,常见的敏感数据有: 姓名、身份证号码、地址、电话号码、银行账号、邮箱地址、所属城市、邮编、密码类 ( 如账户查询密码、取款密码、登录密码等 )、组织机构名称、营业执照号码、银行帐号、交易日期、交易金额等。
4. 传输安全
API网关系统支持接口的HTTPS协议传输。HTTPS顾名思义,即安全的HTTP,普通的HTTP请求和响应对任何监控网络传输的用户都可见,而HTTPS传输的信息通过安全传输层(TLS,也被称为SSL)隐藏和保护。HTTPS的主要作用是,确认双方的身份,和建立安全通道,保证传输数据的安全,保障接口业务在调用过程中的防篡改等安全能力。
API风险溯源
API网关基于日志行为审计的风险溯源, 解决3个核心,5个要素。3个核心主要是指:谁,使用了什么账号(用户)?访问了哪些API(应用)?查询了哪些敏感数据(内容)?5个要素是指:什么时候(时间)?什么IP(地点)?查询了哪些涉敏数据(操作)?成功与否和次数多少(结果)?此外还有账户行为详细分析与可视化统计有效避免事故责任难追溯的问题(画像)。基于以上要素,API网关提供日志审计的功能,可对系统日志和接口调用的的异常进行分析,日志审计内容包括:
- 登陆日志的审计。提供用户登录次数,登陆地点,登陆时间,校验失败次数,验证码验证情况等的分析记录,为运营者提供平台是否被暴力破解,攻击等行为的判断。
- 系统用户的操作日志审计,提供操作行为的统计分析数据,为运营者提供破坏者等的行为判断依据。
- 安全调用审计,提供访问请求来源,访问频率,流量,访问时段等的分析数据,为运营者提供平台是否收到非法攻击,恶意调用的行为判断依据。
- 数据安全审计,提供数据存储的访问情况,访问账号,访问数据信息及记录等,为运营者提供数据是否被恶意窃取,被批量操作等提供判断依据。
总结
--
- API网关对API的安全管控基于多种规则的交叉,实现对网络层、应用层、信息层的安全策略的应用、审计和控制,来保障对外开放API时业务、数据、应用的安全。
- API网关对API的保护贯穿API的创建、上线、开放、传输、以及最终销毁的全生命周期。
- 除以上本文提到的API安全管控功能外,API网关也提供实时的告警监控,能够及时对API调用的异常情况发出告警,有效保障API的稳定运行和对外服务。