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

API安全的重要性

近几年,越来越多的企业开始数字化转型之路。数字化转型的核心是将企业的服务、资产和能力打包成服务(服务的形式通常为API,API又称接口,下文中提到的API和接口意思相同),从而让资源之间形成更强的连接和互动关系,释放原有资产的价值,提升企业的服务能力。企业数字化转型使得基于API的业务系统剧增,随之而来带来的安全问题也日渐凸显。Gartner预测,到2022年,API滥用将成为最常见的攻击媒介,导致企业出现数据泄露。
企业数字化转型使得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的可管可控。
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的稳定运行和对外服务。

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/86853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么在OPPO手机桌面上添加文字?便签桌面插件添加教程

很多年轻女性在选择手机时,都比较青睐于设计时尚靓丽、轻薄且续航好、系统流畅、拍照清晰的OPPO手机,并且OPPO为不同的用户提供了高中低不同价格档位的手机型号,能够满足绝大多数女性消费者的使用需求。 不过有不少OPPO手机用户表示&#xf…

关于项目、项目集、项目组合以及运营管理之间的关系

什么是项目? 【项目】这个名词,其实各位一点都不陌生,各位从小到大在各种报章杂志,甚至是每晚的新闻播报里面,每每都会看到或是听到【项目】这个词语,甚至在各位进入大学,或是研究生的阶段里就…

基于人脸5个关键点的人脸对齐(人脸纠正)

摘要:人脸检测模型输出人脸目标框坐标和5个人脸关键点,在进行人脸比对前,需要对检测得到的人脸框进行对齐(纠正),本文将通过5个人脸关键点信息对人脸就行对齐(纠正)。 一、输入图像…

ORB-SLAM2实时稠密地图,解决运行报段错误(核心已转储)运行数据集时出现段错误,出现可视化界面后闪退(添加实时彩色点云地图+保存点云地图)

高翔的稠密建图仓库 1. git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git 2. 去ORB SLAM2里拷贝Vocabulary到/home/cgm/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified文件夹下 3. 删除一些build文件夹 删除ORB_SLAM2_modified/Thirdparty/DB…

哈希 -- 位图、布隆过滤器、海量数据处理

目录 一、位图1.1 经典题目1.2 位图概念1.3 位图的应用1.4 关于位图的三个经典问题 二、布隆过滤器2.1 布隆过滤器的提出2.2 布隆过滤器的概念2.3 布隆过滤器的插入2.4 布隆过滤器的查找2.5 布隆过滤器删除2.6 代码实现2.7 布隆过滤器的优点2.8 布隆过滤器的缺陷2.9 布隆过滤器…

TongWeb8下应用忙碌线程监控

问题 : 在系统运行过程中发现TongWeb进程占用CPU过高,需要分析是应用哪里引起的问题。 分析过程(仅限Linux环境): 1. 通过top命令查看TongWeb的java进程占用的CPU情况。 查看误区:不要以为java进程CPU占到398%就是高&#xff0…

MySQL学习笔记12

MySQL 查询语句: 1、查询五子句:(重点) mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句; 1)where 子句;条件筛选。 2)group…

golang 通过案列感受下内存分析

package main // 声音文件所在的包,每个go文件必须有归属的包 import ("fmt" )// 引入程序中需要用的包,为了使用包下的函数,比如:Printinfunc exchangeNum(num1 int, num2 int){var t intt num1num1 num2num2 t }…

Elasticsearch:什么是向量和向量存储数据库,我们为什么关心?

Elasticsearch 从 7.3 版本开始支持向量搜索。从 8.0 开始支持带有 HNSW 的 ANN 向量搜索。目前 Elasticsearch 已经是全球下载量最多的向量数据库。它允许使用密集向量和向量比较来搜索文档。 矢量搜索在人工智能和机器学习领域有许多重要的应用。 有效存储和检索向量的数据库…

Cortex-M3/M4之SVC和PendSV异常

一、SVC异常 SVC(系统服务调用,亦简称系统调用)用于产生系统函数的调用请求。例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用 SVC 发出对系统服务函数的呼叫请求,以这种方法调用它…

2023华为杯数学建模D题第三问-碳排放路径优化(能源消费结构调整的多目标优化模型构建详细过程+模型假设(可复制))

1.碳排放约束下(人为干预按时碳达峰与碳中和的基准情景)能源消费结构多目标优化模型构建 1.1基本假设 本文的模型设计主要基于以下几个基本假设: (1)能源消费结构调整的根本驱动要素,是对投资耗费的最小化…

威胁的数量、复杂程度和扩散程度不断上升

Integrity360 宣布了针对所面临的网络安全威胁、数量以及事件响应挑战的独立研究结果。 数据盗窃、网络钓鱼、勒索软件和 APT 是最令人担忧的问题 这项调查于 2023 年 8 月 9 日至 14 日期间对 205 名 IT 安全决策者进行了调查,强调了他们的主要网络安全威胁和担忧…

Java流式编程的使用

流式编程的使用步骤 使用流式编程的步骤就是: 设置数据源, 设置数据处理的方式,设置收集结果的方式。 使用filter方法实现过滤条件 例子为下&#xff08;查询年龄大于18的用户&#xff09;: Testpublic void streamTest1() {List<Student> students Arrays.asList(ne…

《JVM》第二篇 JVM内存模型深度剖析与优化

目录 一. JDK体系结构与跨平台特性介绍二. JVM内存模型深度剖析三. 从Jvisualvm来研究下对象内存流转模型四. GC Root与STW机制五. JVM参数设置通用模型 一. JDK体系结构与跨平台特性介绍 二. JVM内存模型深度剖析 按照线程是否共享来划分 TLAB(Thread Local Allocation Buffe…

改写软件-怎么选择改写软件

什么是改写软件&#xff1f;改写软件是基于自然语言处理技术的工具&#xff0c;它们可以分析一段文字&#xff0c;并将其重新表达&#xff0c;以保持原始意义&#xff0c;但使用不同的词汇和结构。这种技术可用于减少内容的重复&#xff0c;增加多样性&#xff0c;或者简化复杂…

Python量化交易学习笔记(0)

本文将简单回顾我的量化交易学习的历程&#xff0c;并给出新手学习量化交易的建议学习路线&#xff0c;适合于尚无稳定盈利策略的量化新手阅读&#xff0c;量化大神们请略过。 本文将在博客中置顶&#xff0c;并不定期根据我的学习、交易进行更新。 回顾学习历程 2020年初接…

SpringMVC初级

文章目录 一、SpringMVC 概述二、springMVC步骤1、新建maven的web项目2、导入maven依赖3、创建controller4、创建spring-mvc.xml配置文件&#xff08;本质就是spring的配置件&#xff09;5、web.xml中配置前端控制器6、新建a.jsp文件7、配置tomcat8、启动测试 三、工作流程分析…

pytorch环境搭建到pycharm项目映射配置(成功后回顾性记录/自用)

利用Anaconda创建pytorch虚拟环境 前提&#xff1a;成功安装Anaconda&#xff0c;确保可以打开NVIDIA控制面板 开始-》搜索“Anaconda Prompt” 打开后输入&#xff1a;conda create -n 你的虚拟环境名 python3.9。输入y&#xff0c;继续安装&#xff0c;完成。 输入&#…

合肥综合性国家科学中心人工智能研究院-机器学习作业(一)

1.试析min-max规范化和z-score规范化的优缺点 可参考博客&#xff1a;https://wenku.csdn.net/answer/fdbf30eb204644e5b69fc533a3757268 2.试分析损失函数与性能度量的关系 损失函数和性能度量之间的关系可以根据优化目标来理解。损失函数的优化目标是最小化预测值与实际值之…

力扣刷题-链表-两两交换链表中的节点

24.两两交换链表中的节点 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 解题思路 采用正常模拟的方法。 建议使用虚拟头结点&#xff0c;这样会方便很多&am…