当前位置: 首页 > news >正文

五原则四实践,REST API安全性请谨记

云原生和微服务架构等技术的流行让API受到越来越大的重视。那么当应用程序开始上云,各项需求都可以通过云服务满足的情况下,应用程序,尤其基于云端API的应用程序的安全问题该如何解决?

表现层状态转移(REST,Representational State Transfer)这种软件架构风格最早可追溯到计算机科学家Roy Fielding于2000年发布的一篇博士论文。在此后多年里,REST API(有时也称为RESTful API)逐渐发展成为一种非常流行的API架构模型,多用于Web和移动应用,以及企业对企业应用和企业内部系统。

虽然很多实现也用了其他API方法(如SOAP、GraphQL和gRPC),但REST API因为易于实现而获得了最广泛的使用。REST API设计非常便于现代前端框架使用,因此成为Web应用、移动应用以及许多内部和企业间API实现的热门选择。

REST API安全性五大原则

尽管REST API能以高度安全和弹性的方式实施,但有些基本的API安全标准对任何实施都至关重要。

在REST API设计中构建安全性的五大原则是:

  1. 始终使用TLS加密
  2. 实施完善且可扩展的身份验证和授权模型
  3. 不要在URL中包含敏感信息
  4. 严格定义允许的RESTful API请求和响应
  5. 实施持续的API发现功能

始终使用TLS加密

与其他类型的敏感HTTP流量一样,对RESTful API使用TLS可以确保API消费者与API端点间的所有通信都经过加密。这对于REST API安全和Web应用程序安全同样重要,因为由此产生的HTTP流量包括敏感的身份验证详细信息,如密码、API密钥或令牌。

实施完善且可扩展的身份验证和授权模型

可以使用许多不同技术来管理对REST API的访问。最常用的技术是API密钥和安全令牌。但密钥和令牌的管理可能是一种相当复杂的工作。

这往往会导致无意中出现REST API安全漏洞。通过与兼容OAuth 2.0的身份管理提供商集成来进行身份验证和发放访问令牌,可降低这种风险。集中式API网关也可用于规范和保护REST API安全方法。

不要在URL中包含敏感信息

在URL中包含敏感信息(包括用户凭据、密钥或令牌),这是一种常见的REST API设计缺陷。即便在使用TLS的情况下,攻击者也很容易发现这些信息。API请求数据路径上的各种服务器和网络设备也会经常记录URL,如果URL中包含敏感信息,就会导致进一步的数据泄漏。

严格定义允许的RESTful API请求和响应

我们需要假定攻击者会试图以恶意或无意的方式使用API。因此,切勿默认信任RESTful API请求。要采取的最重要步骤之一是:验证任何参数或对象的格式、长度和类型等属性。

我们还应该严格管理REST API可提供的响应类型。例如,响应应仅限于明确允许的内容类型,如GET、PUT和POST。

实施持续的API发现功能

即便是遵守REST API安全最佳实践的企业,也可能会被正常流程之外实施的影子API或尚未退役的遗留基础设施中被遗忘的僵尸API打个措手不及。因此,实施持续的企业级API发现功能至关重要。

保障为所有API维持完整清单的最佳方法是从所有可用的API活动信息源收集数据,这些信息源包括:

  • API网关
  • 内容交付网络
  • 云提供商日志
  • 日志管理系统
  • 编排工具

分析这些数据以获取API活动的证据,可确保安全团队了解整个企业使用的所有API。发现任何意外的REST API后,都可以通过应用适当的REST API最佳实践来停止使用,或将其纳入正式清单。

四大高级REST API安全最佳实践

在REST API设计中实施一套基础安全标准是必不可少的第一步,但仅靠这些步骤并不能保证应用程序完全安全。许多攻击者已经开发出了规避REST API基本安全措施的高级技术。毕竟,并不是每次REST API安全攻击都以攻破Web应用程序基础架构为目。

在许多情况下,攻击者只是希望以非故意的方式使用API功能来访问敏感数据并获得竞争优势。这些活动可能来自可信来源,如已获准访问REST API的客户或合作伙伴。凭证、密钥和令牌也可能被窃取或劫持,从而使攻击者在我们的基线REST API安全标准之外推进类似活动。

为了获得更完善的保护,防止这些更复杂的API滥用方式,我们可以使用以下四种高级REST API安全最佳实践:

  1. 使用云收集大量REST API安全数据集
  2. 将行为分析应用于REST API数据
  3. 为开发和运营团队提供有关REST API使用情况的见解
  4. 开展积极主动的REST API威胁猎捕活动

使用云收集大量REST API安全数据集

许多第一代API安全技术都是在企业内部运行的。因此它们的作用仅限于分析非常短的活动窗口,之后API数据就会被丢弃。这种方式的效果极为有限,因为许多类型的API滥用活动都是在数周甚至数月内以低速缓慢的方式进行的。将API活动数据发送到云端,就能积累获得API详细信息所需规模的数据,存储时间跨度可达一个月或更长。这为更复杂的分析技术打开了大门。

将行为分析应用于REST API数据

一旦掌握了大量有意义的REST API活动信息,我们还可以利用云计算的计算规模来执行行为分析。增强REST API安全策略的第一种方法是识别相关实体,从而获得更多背景信息。实体可能包括用户以及有意义的业务流程。

有了这些上下文,我们就可以确定API的正常使用模式。在此基础上,可以进一步分析以检测异常。这种类型的异常检测是发现滥用的最佳方法,尤其是当滥用来自经过验证的用户时。

为开发和运营团队提供有关REST API使用情况的见解

保护企业免受REST API安全漏洞侵害的最佳方法之一是完全避免这些漏洞。与开发人员和运营人员共享有关RESTful API使用和滥用情况的信息,将有助于企业在开发和实施流程的早期就采用更好的REST API安全实践,实现“向左转”。

开展积极主动的REST API威胁猎捕活动

不要等到REST API滥用升级为严重安全事件时才采取行动。积极主动地调查REST API使用情况并查找滥用企图(即使没有成功),这有助于我们发现REST API安全实践中的薄弱环节。

检查API使用活动也是发现REST API安全漏洞的有效方法。在攻击者利用这些漏洞之前找到并消除它们,是增强REST API安全态势的最有效方法之一。

总结

Akamai已帮助大量全球知名的企业实施了基础和高级REST API安全最佳实践。从API发现到行为分析,再到托管的威胁猎捕服务,我们的方法将帮您加快REST API安全工作的步伐。

http://www.lryc.cn/news/383499.html

相关文章:

  • 1390:食物链【NOI2001】
  • ICMAN液位检测——WS003B管道检测模组
  • YOLOv10使用教程及导读
  • AIGC 在前端流式获取内容SSE
  • 深度解析安全阀检测技术:方法与挑战
  • 网络安全--安全设备(一)Dos
  • <电力行业> - 《第3课:国家电网公司100条名词解释》
  • “论数据访问层设计技术及其应用”写作框架,系统架构设计师
  • Docker部署前端,动态配置后端地址
  • k8s强制删除一个 Pod
  • docker的安装配置及使用
  • 初阶 《操作符详解》 10. 逗号表达式
  • 【区分vue2和vue3下的element UI Loading 加载组件,分别详细介绍属性,事件,方法如何使用,并举例】
  • 数据结构:栈(stack)详解 c++信息学奥赛基础知识讲解
  • 电商返利系统的高并发处理与性能优化
  • NPM 常用命令
  • C++进修——C++核心编程
  • 【信息系统项目管理师知识点速记】项目文档管理
  • 服务器硬件,raid配置
  • fc-list命令使用指南
  • NAS安全存储怎样实现更精细的数据权限管控?
  • 第三十篇——等价性:如何从等价信息里找答案?
  • RabbitMQ实践——搭建多人聊天服务
  • git分布式版本控制系统
  • 基于weixin小程序的民宿短租系统的设计与实现
  • 2024-06-22力扣每日一题
  • S_LOVE多端恋爱小站小程序源码 uniapp多端
  • 如何避免MySQL的死锁或性能下降
  • 《C语言》编译和链接
  • group by和select的兼容性问题