我需要保护我的私有 REST API 吗?

Do I need to secure my private REST API?

我最近开发了一项 RESTful 服务,我的 windows 桌面应用程序正在使用该服务从位于 Linode 服务器上的 MySQL 数据库检索信息。桌面应用程序是用 .Net 编写的并进行了混淆处理,以便对所有 url 进行编码。我在 Spring 中开发了 RESTful 服务,但在 Spring 安全性方面存在很多问题,我认为可能不需要身份验证,因为我是唯一的用户。如果代码被混淆,那么任何人都很难获得端点并开始使用我的网络服务。所以问题是,我的逻辑是否有效,或者即使我不得不与 OAuth 和 Spring 作斗争,我是否应该保护我的 API?

我认为这取决于几个因素,例如:

  • 您的数据库中是否存储了任何私人和有价值的数据?
  • 是否可以从您的 API 修改您的数据?
  • 是否有其他人依赖此服务或它的工作结果?

如果以上任何一条属实,您应该提供基本的 OAuth。 但这样做通常是一个好习惯(甚至 "a must")。

是的。即使使用混淆代码,启动 Fiddler 并观察您的应用程序正在进行的所有网络调用也是微不足道的。如果您不对 API 端的调用进行身份验证,恶意用户可能会读取或更改他们不应访问的数据。