写点什么

API 网关是如何提升 API 接口安全管控能力的?

作者:不思jo
  • 2023-09-21
    江苏
  • 本文字数:2509 字

    阅读完需:约 8 分钟

API网关是如何提升API接口安全管控能力的?

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 网关提供日志审计的功能,可对系统日志和接口调用的的异常进行分析,日志审计内容包括:


  1. 登陆日志的审计。提供用户登录次数,登陆地点,登陆时间,校验失败次数,验证码验证情况等的分析记录,为运营者提供平台是否被暴力破解,攻击等行为的判断。

  2. 系统用户的操作日志审计,提供操作行为的统计分析数据,为运营者提供破坏者等的行为判断依据。

  3. 安全调用审计,提供访问请求来源,访问频率,流量,访问时段等的分析数据,为运营者提供平台是否收到非法攻击,恶意调用的行为判断依据。

  4. 数据安全审计,提供数据存储的访问情况,访问账号,访问数据信息及记录等,为运营者提供数据是否被恶意窃取,被批量操作等提供判断依据。

总结

  1. API 网关对 API 的安全管控基于多种规则的交叉,实现对网络层、应用层、信息层的安全策略的应用、审计和控制,来保障对外开放 API 时业务、数据、应用的安全。

  2. API 网关对 API 的保护贯穿 API 的创建、上线、开放、传输、以及最终销毁的全生命周期。

  3. 除以上本文提到的 API 安全管控功能外,API 网关也提供实时的告警监控,能够及时对 API 调用的异常情况发出告警,有效保障 API 的稳定运行和对外服务。

用户头像

不思jo

关注

做运维的乔不思 2022-12-08 加入

围绕系统稳定性保障,分享SRE、AIOps、DevOps、故障治理等知识经验,希望和更多大咖交流学习

评论

发布
暂无评论
API网关是如何提升API接口安全管控能力的?_安全_不思jo_InfoQ写作社区