Jump to section

API 安全防护

复制 URL

API 安全防护就是保护 API(包括您拥有的和您使用的 API)的完整性。但它到底是什么意思?

您或许听过物联网(IoT),它就是通过 API 将计算能力嵌入我们的日常生活中。通过物联网,您的手机可以与家中的冰箱连接,所以当您在回家途中采购食物时,就能清楚知道该买些什么,最终在一小时内就轻松准备好临时聚餐的菜肴。此外,如果您是 DevOps 团队的一员,会利用微服务和容器快速迭代地构建并部署传统和云原生应用。API 就是最常见的微服务和容器通信方式,无论连接系统、连接应用,都要用到 API。随着集成和互联变得愈加重要,API 的重要性也在提升。

企业使用 API 来连接服务和传输数据。许多重大数据泄露问题,其幕后原因都在于 API 遭到破坏、泄露或攻击。受到攻击的 API 会让敏感的医疗、金融和个人数据公之于众,被不法分子利用。不过,并不是所有数据都是一样的,保护数据更不能以不变应万变。如何实施 API 防护,具体取决于传输的数据种类。  

如果您的 API 连接了第三方应用,那么您必须知道这个应用会如何将信息返回互联网。继续上面的例子,也许您不在意别人是否知道您的冰箱里有些什么,但如果他们使用同一个 API 来跟踪您的位置,那情况就不妙了。 

Web API 安全防护主要关注通过 API 与互联网的数据传输。OAuth(开放授权)是访问权限委派的开放标准。它让用户不必共享密码就能将 Web 资源的访问权限授予第三方。借助 OAuth 这一技术标准,只需通过一个“分享”按钮,就能将“柯基犬戏水视频集锦”分享到您的社交网络上。

大多数 API 实施属于 REST(表述性状态传递)或 SOAP(简单对象访问协议)

REST API 使用 HTTP 并且支持传输层安全性(TLS)加密。TLS 是确保互联网连接私密性的一个标准,可以检查两个系统(服务器与服务器或服务器与客户端)之间发送的数据是否受到加密且未被篡改。这意味着,如果黑客试图从购物网站套取您的信用卡信息,他们会无法读取或修改您的数据。如果 URL 的开头是“HTTPS”(超文本传输安全协议),那么该网站就使用了 TLS 保护。 

REST API 也使用 JavaScript 对象表示法(JSON),这是一种能够更轻松通过 Web 浏览器传输数据的文件格式。通过使用 HTTP 和 JSON,REST API 不需要存储或重新打包数据,因此速度要比 SOAP API 快得多。

SOAP API 使用称为 Web 服务安全性(WS 安全性)的内置协议。这类协议会定义一套采用保密和身份验证的规则集。SOAP API 支持两大国际标准机构(结构化信息标准促进组织(OASIS)万维网联盟(W3C)制定的标准,它们结合使用 XML 加密、XML 签名和 SAML 令牌来验证身份和授权。通常而言,SOAP API 因具有更加全面的安全措施而受到推崇,但它们也需要更多的管理。因此,处理敏感数据的机构更推荐采用 SOAP API。

您应该不会把自己的钱存放在床垫之下。大多数人都会把钱存到可信的环境(银行)中,而采用分开的方式授权和验证支付。API 安全防护与之相似。您需要一个具有验证和授权策略的可信环境。

下方列出了一些最常见的加强 API 安全性的方法:

  • 使用令牌。建立可信的身份,再通过使用分配给这些身份的令牌来控制对服务和资源的访问。  
  • 使用加密和签名。通过 TLS 等方式(见上文)加密您的数据。要求使用签名,确保只有拥有权限的用户才能解密和修改您的数据。
  • 识别漏洞。确保操作系统、网络、驱动程序和 API 组件保持最新状态。了解如何全面实现协同工作,识别会被用于侵入您的 API 的薄弱之处。使用嗅探器来检测安全问题并跟踪数据泄露。
  • 使用配额和限流。对 API 的调用频率设置限额,并跟踪其使用记录。如果 API 调用数量增多,表明它可能正被滥用。也可能是编程出了错,例如在无限循环中调用 API。指定限流规则,防止 API 出现调用激增和拒绝服务攻击。
  • 使用 API 网关API 网关担当主要的 API 流量策略执行点。良好的网关既能帮助您验证流量的使用者身份,也能控制和分析您的 API 使用情况。

最后,API 安全性通常取决于良好的 API 管理。许多 API 管理平台支持三种防护方案,它们分别是:

  • API 密钥,单一令牌字符串(即提供唯一身份验证信息的小型硬件设备)。
  • 基础身份验证(APP ID / APP 密钥),双令牌字符串解决方案(即应户名和密码)。
  • OpenID Connect(OIDC),基于主流 OAuth 框架的简单身份层(即通过获取基本配置集信息和使用身份验证服务器来验证用户)。

在选择 API 管理器时,您要清楚它可以处理哪些防护方案,还要制定好计划,明确如何纳入上述 API 安全防护实践。

数据泄露令人恐慌,但您可以采取措施来增强安全。API 功能出众,绝对值得您投入精力,只需要找准目标即可。红帽每年都会发布红帽产品风险报告,概述影响企业软件的全球安全漏洞,以及适用于我们产品的红帽解决方案。其中的关键,在于采取持续的防护举措、学会提问、了解需要注意的事项,以及使用您可以信任的 API 管理器。红帽竭诚为您提供帮助。

我们建议您使用备受赞誉的红帽 3scale API 管理。它包括:

  • 可管理 API、应用和开发者角色的 API 管理器
  • 执行 API 管理器策略的流量管理器(API 网关)
  • 支持众多身份验证协议的身份提供商(IDP)中心

在 API 网关方面,红帽 3scale API 管理可以解译到期的时间戳令牌;检查客户端身份是否有效;并且使用公钥来确认签名。

API 与红帽

Red Hat 3scale API Management

能让您轻松地针对内部或外部用户,实现 API 共享、保护、分发、控制和盈利。

Red Hat Fuse logo

分布式云原生集成平台,可以连接位于企业本地、云端以及两者之间的 API。

一项托管式 API 管理服务,是红帽 OpenShift 专业版的附加组件。

Illustration - mail

获取更多类似的内容

免费订阅我们的 Red Hat Shares 通讯邮件