7

这是场景。防火墙外的用户在浏览器中执行 UI 操作。浏览器对系统 A 进行 REST API 调用(并在通过防火墙的入口点或附近进行身份验证和授权)。系统 A(在公司网络防火墙内)对系统 B(也在公司网络防火墙内)进行 REST API 调用。

考虑到系统 A 的入口点已经发生了身份验证和授权,对于从系统 A 到系统 B 的“内部”REST API 调用来说,多少安全性是足够的?

4

3 回答 3

7

与其他任何事情一样,它取决于所涉及数据的敏感性,以及风险级别与组织想要花费的金额。

通常,使用强 SSL(https 连接)就足够了。如果您需要审核哪个System A提交了请求,您可能需要包含身份验证机制——为此,您可以使用以下任何一种:客户端证书、HTTP Auth(基本或摘要)、用户名/密码作为请求参数、IP 地址映射, API 密钥等。

对于系统->系统调用,如果客户端系统没有改变(即不是网络浏览器或主动改变客户端),你甚至不需要“真正的”证书——一个强大的自签名证书就足够了,因为您将它分发到您的客户端系统,他们都知道源是有效的,没有第 3 方签名。

如果数据非常敏感,您可能会使用物理分离的网络或 VPN 在客户端和服务器之间建立专用连接。

于 2013-09-11T19:35:37.503 回答
3

新的(2018 年+)最佳实践将以与保护外部服务完全相同的方式保护内部服务。

为什么?

因为超过 60% 的数据披露来自内部来源。内部系统与外部系统一样可能破坏数据,因此您需要拥有与外部系统相同的控制。

于 2019-02-12T02:43:48.160 回答
2

对于初学者来说,如果两者都在私有子网中,那么这已经是相当大的安全性了。如果您有任何理由相信外部人员可以连接到该 API,那么请继续实施一个安全的 API 密钥,在允许执行任何调用之前检查该密钥。

于 2013-09-11T20:55:39.443 回答