首页 » PHP教程 » php分层权限技巧_API 安然性若何采用分层方法来保护您的数据

php分层权限技巧_API 安然性若何采用分层方法来保护您的数据

访客 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

当代 API 和库可以缩短运用程序的上市韶光。
然而,正如我们在最近的安全和数据透露事宜中看到的那样,它们也可能暴露大量的攻击面。

探求通用的通用方法来保护 API 一贯是软件开拓职员和 IT 领导者面临的最大寻衅之一。
只管如此,正如您将从本文中看到的那样,API 安全性的分层方法可能要有效得多。
您将理解它是什么以及它如何帮助组织平衡本钱和效率。

php分层权限技巧_API 安然性若何采用分层方法来保护您的数据

为什么须要更好的方法来保护 API

许多公司未能供应充足的API 安全性。
他们可能拥有实时漏洞扫描或渗透测试工具,但不敷以保护 API,由于 API 的攻击层数不断增加。
API 常日包含关键业务信息,为利用和网络事宜供应了明显的机会。

php分层权限技巧_API 安然性若何采用分层方法来保护您的数据
(图片来自网络侵删)

由于API安全性不敷,导致各家公司遭受数据透露和透露。
在许多情形下,不良行为者选择针对业务逻辑和访问掌握漏洞,而不是利用 SQL 注入和跨站点脚本等传统路子。

因此,攻击变得多样化并且频率也有所增加。
Google 的 2020 年API 经济状况报告创造,滥用 API 流量惊人地增加了 172%。
网络安全不敷可能会使组织面临违反 HIPAA 和 GDPR 等法规的风险,这可能会导致巨额罚款和其他惩罚。

为 API 供应全面的安全性可能相称繁芜,但至关主要。

最常见的 API 攻击

API 的层数取决于其目的和繁芜性。
当代网络犯罪分子常常采取四种常见的 API 攻击 [DDoS、注入和数据攻击、RBAC 和 ABAC 攻击以及利用业务逻辑毛病]。

每次攻击对应于四个最常见的软件和 API 架构层之一。
攻击类型及其对应的层描述如下:

分布式谢绝做事 (DDOS)

与网络钓鱼诱骗类似,分布式谢绝做事 (DDOS) 攻击是互联网上最大略、最广泛的网络攻击之一。
不良行为者会考试测验通过要求或网络流量超载来中断网站、运用程序或 API 做事。

通过利用管理 API 网关上传入要求数量的速率限定功能,可以部分缓解 DDOS 攻击。
然而,我们创造不良行为者通过发送频率较低但占用资源较多的要求来规避这些安全方法。
例如,他们可能考试测验启动返回大型数据集的运用程序查询(例如搜索)。
过多要求导致的管理不善的结果可能会使 API 做事过载。
这种攻击对应于 API 的网络和做事交付层。

注入和数据攻击

注入和数据攻击涉及攻击者发送或“注入”的恶意编程代码。
攻击者试图修正API的配置、源代码或数据库来盗取数据。
这种攻击对应于数据 层。

基于角色的访问掌握 (RBAC) 和基于属性的访问掌握 (ABAC) 攻击

当内部参与者被付与过多的特权时,可能会导致RBAC 或 ABAC规则激增,如果未经彻底测试,这些规则很随意马虎被利用。

权限升级漏洞和未经授权的资源访问可能极难检测。
这些类型的攻击对应于所谓的身份和访问 层。

利用业务逻辑毛病

常日,运用程序可能会涌现故障,不是由于编码缺点,而是由于对用例的误解。
可能不完备理解他们正在设计的软件的用例或业务逻辑的开拓职员面临着犯基于业务逻辑的缺点的巨大风险。
网络犯罪分子可能会利用这些缺点来暴露组织的数据,从而危害其荣誉。
这是最难检测和预防的漏洞之一。
它与业务层和运用层相对应。

保护每个 API 层的安全

一旦确定了 API 可能随意马虎遭受的攻击种别(及其层),您就可以开始制订保护它们的实践和方法。

保护网络和做事层

保护运用程序免受 DDOS 攻击的最大略方法之一是通过分页,个中查询结果被分段并以更网络友好的块形式返回。
例如,攻击者可能会考试测验发起返回数百万个查询的搜索。
分页将限定一次返回的结果数或每个查询的结果总数。
分页已写入 API 代码中。

另一个有助于防止 DDoS 攻击的好策略是 API 限定,即限定用户在指定时间段内可以发出的 API 要求量。

保护数据层

您可以通过输入验证和准备好的语句来防止跨站点脚本和 SQL 注入攻击。
事实上,利用准备好的语句被认为是安全 PHP 的最主要的编码实践之一。
除了绑定参数之外,您必须避免将任何输入数据连接到 SQL 查询。

此外,您必须在做事器端验证所有输入数据。
我们已经看到不良行为者如何轻松绕过在客户端实行的 JavaScript 验证。
他们只需禁用 Web 浏览器上的 JavaScript 或利用 Web 代理即可。
因此,您必须在客户端和做事器端实行验证。

HTML(输入)实体编码是缓解 XSS 漏洞的另一种方法。
在将相应发送到 Web 浏览器之前,用户输入数据会被加密。
只管我们已经看到许多开拓职员实现了 HTML 的实体编码,但他们方向于让放置在脚本中的输入数据不受保护。
这个问题也该当得到办理。

保护身份和访问层

跨每个 API、功能和角色映射持续评估 RBAC 是保护 API 免受利用权限升级的攻击的最佳方法。
这该当在 API 和运用程序的开拓过程中完成,以便尽早检测任何 RBAC 漏洞。

此外,您该当在运用程序开拓过程中持续监视和测试工具和操作属性(API 资源和方法)。
这是防止 ABAC 攻击的最佳方法。

保护业务和运用层

您可以通过持续审核和测试运用程序和 API 来防止业务逻辑毛病。
在试图按时完成任务时,开拓职员常常忽略数据封装和最小特权原则等基本实践。
此外,开拓职员必须履行有效的质量担保测试方法,让履历丰富的业务用户参与进来。

结论

N 层分层架构仍旧是最常用的软件架构设计。
这种方法须要编写软件来仿照传统的 IT 组织模式。
大多数软件(包括 API)都遵照大略的四层/层模式。
因此,我们该当考虑利用类似的方法来保护它,以最大限度地提高安全性,同时保持低本钱。

只管网络犯罪分子紧张对数据库或数据层感兴趣,但他们可能会利用其他层作为进入路线。
软件工程师和技能主管必须确保每一层都充分覆盖其安全软件开拓生命周期(SSDLC) 策略。

标签:

相关文章

php反射类注释技巧_php反射机制用法详解

面向工具编程中工具被授予了自省的能力,而这个自省的过程便是反射。反射,直不雅观理解便是根据到达地找到出发地和来源。比如,一个光秃秃...

PHP教程 2024-12-15 阅读0 评论0