security - *intranet* REST API 调用应该如何保护?

标签 security rest ssl certificate

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

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

最佳答案

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

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

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

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

关于security - *intranet* REST API 调用应该如何保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749642/

相关文章:

android - 安装跟踪是否需要导出?

android - 保护市场应用程序

security - 第三方是否可以可靠地识别您的 CMS?

web-services - 将 SSL 添加到 Web 服务时无效的安全 header

apache-flex - 哈希值不匹配(可能与编码有关?)

Azure 队列删除休息 API 返回 "No Content",而删除 API 工作正常

java - 如何获取两个 REST API 响应的差异?

api - Restful API 认证推荐?

apache - 使用 Apache Rewrite 从 HTTP 转到 HTTPS,反之亦然,但我收到 302 响应并且我的应用程序出错

php - 如何使用 laravel 4 邮件方法设置 hotmail?