执行一个新应用程序编程接口(API)因为您的在线申请是一个令人兴奋的一步。对于希望与您的应用程序集成的第三方开发人员来说,这对于从您的应用程序的集成中受益,而且在您的平台上绘制更多用户时,非常适合受益的客户。

不幸的是,新的api对黑客来说也是好消息,因为它们提供了另一种方法来利用存储在raybetapp服务器上的信息。api的目标是促进系统和外部用户之间的数据传输(通常是私有的)。因此,一个维护不善且不安全的API就像一扇打开的门,打开了您的敏感数据。

如果这是危言耸听的话,知道这一点已经暴露了数十亿的记录来自Cyber​​attacks,许多人因Inecure API:

API的一线图随着时间的推移违规图片来源

成功的API Hacks受到影响的业务,包括Facebook,芬木,推特,甚至美国邮政总局。要留下此列表,您需要将API安全原则集成到规划和构建过程中。因此,在这篇文章中,我们将解释API安全的基本原则,包括对API的共同威胁以及抵御他们的最佳方式。

现在下载:免费介绍指南HTML和CSS

尽管网络安全是一个广泛的主题,包括所有在线技术,API存在独特的挑战,因为他们坐在第三方开发人员和公司的资源之间。reybet雷竞技下载raybet电子竞技成功的API安全漏洞可能对应用程序及其用户尤其有害,因为被攻击端点授予直接访问敏感信息。

很难夸大一次成功袭击的潜在影响。虽然财务上的影响可能是巨大的,但对你的品牌的损害可能是不可弥补的。您肯定会失去客户的信任,以及使用您的API的公司的信誉。第三方集成应用甚至可能受到扩展的损害。

不过,api在短期内不会消失。实际上,任何寻求与其他应用程序集成的在线应用程序都需要一个或一个现成的API,而每一个新的web API都为黑客提供了另一个利用个人数据的机会。因此,任何监督软件集成的人都应该了解适当的特定于api的安全措雷竞技苹果下载官方版施。

另一件事:如果你的组织正在构建一个API,很可能它是一个休息API.。通过超文本传输​​协议(HTTP)休息API传输数据,相同的方法用于将HTML文档发送到浏览器(我们将其视为网站)。现在10个api中大约有8个宁静的,包括公共api和内部API(用于微服务,例如)。

虽然任何API都有安全漏洞的风险,但我将在这里主要讨论REST API,以使内容易于理解。

API网络攻击的类型

在我们审查硬化您的API的最佳实践之前,我们需要了解我们的反对。以下是您应该知道的最常见的攻击:

偷来的身份验证

访问API的最简单方法之一是劫持授权用户的身份。例如,如果身份验证令牌落入错误的手中,则可以使用它来访问具有恶意意图的资源,同时出现合法。reybet雷竞技下载Cyber​​ Sriminals还将尝试猜测身份验证密码或打破弱的身份验证过程以获得访问。

中间人攻击

当黑客拦截最终用户和API之间的API请求或响应时,发生中间人(MITM)攻击。他们可以窃取此通信的敏感内容(例如,帐户登录凭据或付款信息)或修改请求/响应的内容。

代码注入

在身份验证和验证方面存在缺陷的API也容易受到代码注入的攻击,即攻击者通过API请求向应用程序服务器发送脚本。该脚本旨在公开或删除数据、植入虚假信息和/或损害应用程序的内部结构。您还将看到使用术语“SQL注入”—这是在SQL数据库

拒绝服务攻击

拒绝服务(DoS)攻击通过API请求使服务器资源不堪重负,从而使web服务器变慢、中断或崩溃。reybet雷竞技下载通常,这些攻击是由多个恶意源同时发起的——分布式拒绝服务(DDoS)攻击。

虽然可以针对任何具有API的组织,但每个组织都将以不同的方式实现API和API安全性。一个提供支付信息访问的API比一个图片共享服务需要更多的预防措施。

这就是为什么以下技巧是通用的,适用于任何实现REST API的应用程序。通过遵循这些指导方针,您将大大降低与维护API相关的风险,无论您的细分领域是什么。

另请注意,API管理器或网关工具将处理或帮助解决以下指南。尽管如此,这是没有理由让你的守卫。在成功攻击您的API的情况下,那些受影响的人将责备您,而不是您使用的工具。您应该随时了解可以共享您的数据,如何存在风险,以及如何保护它。

1.实现身份验证。

在处理请求之前,API执行身份验证 - 它需要验证发送请求的用户或程序的身份。

通常,api使用密码、多因素身份验证和/或身份验证令牌(身份验证令牌是作为用户的唯一标识符的字符串)进行身份验证。要使用令牌验证请求,API将请求中发送的令牌与存储在其数据库中的令牌进行匹配。令牌帮助组织跟踪那些受其资源信任的人。reybet雷竞技下载

今天,OAuth协议是广泛接受的API用户身份验证标准。OAuth最初是为社交登录而设计的,允许用户使用密码登录第三方应用程序,而无需透露自己的密码。例如,OAuth允许我使用谷歌密码登录第三方网站,如LinkedIn,而不需要LinkedIn存储我的密码。

OAuth是建立在HTTP之上的,这也使得它非常适合REST api。虽然OAuth的内部工作超出了本文的范围,但在基本层面上,OAuth为API管理员提供了一种将身份验证令牌授予经过批准的第三方的方法。管理员可以设置自定义访问规则,根据请求的来源确定允许哪些API请求。

2.实施授权。

在验证发送请求的用户的身份之后,API需要一种方法来只授予对授权资源和方法的访问权。reybet雷竞技下载例如,用户可能被批准访问API,但是如果不允许他们通过POST方法向应用程序的数据库添加信息,那么任何这样做的请求都应该被拒绝。授权信息也可以作为令牌包含在请求中。

与其他一些API类型不同,REST API必须对向服务器发出的每个请求进行身份验证和授权,即使多个请求来自同一用户。这是因为REST通信是无状态的即,可以通过API隔离地理解每个请求,而无需来自先前请求的信息。

授权可以由用户角色来管理,其中每个角色都具有不同的权限。通常,API开发人员应该遵循最小权限原则,即用户只能访问其角色所需的资源和方法,除此之外别无其他。reybet雷竞技下载预定义的角色使监视和更改用户权限变得更容易,减少了不良参与者访问敏感数据的机会。

3.验证所有请求。

如上所述,有时来自完美有效源的请求可能是黑客尝试。因此,API需要规则来确定请求是否友好,友好但无效或有害,例如尝试注入有害的代码。

API请求只有在其内容通过彻底的验证检查后才会被处理——否则,请求永远不会到达应用程序数据层。

4.加密所有请求和响应。

为了防止MITM攻击,用户和API服务器之间的任何数据传输都必须加密。这样,如果没有正确的解密方法,任何被截获的请求或响应对入侵者来说都是无用的。

由于REST api使用HTTP,因此可以通过使用传输层安全(Transport Layer Security, TLS)协议或其之前的迭代安全套接字层(SSL)协议。这些协议在“https”中提供了s中的s(“s”,这意味着“安全”),并且是加密网页和REST API通信的标准。

TLS / SSL仅在传输数据时加密数据。它不会加密坐在API后面的数据,这就是为什么敏感数据也应该在数据库层中加密。

5.仅包括响应中的必要信息。

就像你可能无意中就会让秘密单位告诉一个故事给朋友时,可以使用API​​响应公开信息黑客可以使用。为了防止这一点,发送到最终用户的所有响应应该仅包括传送请求的成功或失败的信息,所请求的资源(如果有的话),以及与这些资源直接相关的任何其他信息。reybet雷竞技下载

换句话说,避免“过度共享”数据——通过返回的资源或详细的状态消息,响应可能会无意中暴露私有数据。reybet雷竞技下载

6.限制API请求并建立配额。

为了防止像DoS这样的暴力攻击,API可以实施速率限制,这是一种在任何给定时间控制对API服务器请求数量的方法。

有两种主要方法来限制API请求的速率、配额和节流。配额限制了用户在一段时间内允许的请求数量,而节流则降低了用户的连接速度,同时仍然允许他们使用您的API。

两种方法都应允许正常的API请求,但防止旨在破坏的流量泛滥,以及一般意外请求尖峰。

7.活动日志API。

截至目前,我们已经涵盖了用于对抗API威胁的先发制品方法。但是,在您的系统上成功的黑客攻击的情况下,您将希望通过一种方法来追踪事件的来源,以便您可以解决并报告问题。

这就是为什么记录所有API活动是必要的——如果攻击者破坏了您的保护,您可以评估他们做了什么,以及他们是如何进入的。如果没有其他功能,您可以使用攻击进一步强化您的API,潜在地防止将来发生类似事件。

8.进行安全测试。

不要等到真正的攻击发生时才去看你的防护措施如何。相反,要留出足够的时间进行安全测试,这样您就可以有意地破解API以暴露漏洞。

这意味着首先通过API客户端提交正常的请求,并确保它们遵循上述原则。开发能回答以下问题的场景:

  • 只能通过身份验证的用户访问您的端点?
  • 是否仅根据用户的角色授予他们访问必要端点的权限?
  • 响应中是否为每个潜在的请求返回了正确的信息?
  • 是良性但无效的请求被拒绝了吗?

但是,您还需要在适当的测试环境中模拟对系统的代码注入,MITM,DOS和被盗密码攻击。在您的测试中解决以下内容:

  • 我的身份验证是否会对蛮力进入尝试?
  • 我的API如何处理请求的显著峰值?
  • 如果经过身份验证的用户通过请求提交了有害的脚本或文件,该怎么办?
  • 所有数据传输都加密了吗?没有TLS/SSL(即HTTP而不是HTTPS)的请求被禁止吗?
  • 如果请求或响应被拦截了怎么办?我的API和用户如何知道?

测试不是一个完成的过程 - 它应该以例程执行,尤其是在更新API时。

通过保护你的API保护你的用户

当涉及到api和安全性时,很容易陷入术语的泥潭。但是,请记住,这项工作的根本责任是保护您的用户——这扩展到那些委托您提供数据的人,以及使用您的API的开发人员。

API技术为在线应用程序带来了无数的可能性,但是一个安全事件可以很快掩盖您从API中获得的任何好处。虽然不可能根除所有的威胁,但上述原则对于任何关心其声誉,更重要的是关心其客户的组织都是必要的。

新的呼叫动作

css的介绍

最初发布于2020年12月14日上午7:00:00,更新于2020年12月14日

主题:

应用程序编程接口(API)