在互联网上公开数据库服务器的智慧?

Joh*_*ark 9 oracle security database saas

我工作的那家小公司的领导层对 SaaS 感到非常兴奋,并正在将我们的产品推向 SaaS 部署 - 我对此感到担忧,因为产品的部分功能基于用户能够使用商业智能针对应用程序的底层数据库编写报告的工具。

当我问到我们计划如何在 SaaS 模型中提供该功能时,我得到了茫然的目光,回答很简单,我们将在互联网上公开数据库服务器,并允许人们查询数据库,就好像它在其中运行一样他们的公司网络。

这吓坏了我,但我不知道我是否只是偏执,或者是否有重要的理由担心。

所以我的问题是:是否可以适当地加强 Oracle 数据库服务器的安全性,以便我们不需要担心它会暴露在 Internet 上的事实?如果是这样,我应该研究哪些资源来学习做到这一点?该数据库将存储我们的客户不想向全世界公开的专有信息,但将这一功能置于 VPN 之后的提议已被明确拒绝。

我对强化 oracle 数据库的搜索几乎包含了“永远不要在防火墙上戳一个洞”这样的语句,所以这里的正确答案可能是“尽快更新你的简历”,但我感谢您提供的任何建议。

Kar*_*zke 8

与经常暴露于 world+dog 的其他一些服务相比,暴露数据库并不是一个真正的问题......除了它是一个复杂的系统,具有许多潜在的漏洞,包括权限升级。我会确保您不会将数据库暴露给公共查询并在需要 SSL 的情况下运行等。我会说这是可能的,但是,是的,您应该是偏执的,并且应该为面向公众的人维护一个单独的数据库安装。如果您的公司不愿意为此支付许可费用,是的,skedaddle。

从客户/支持方面来看,如果客户的 ISP 阻止某些类型的端口或流量,直接连接到数据库可能会出现问题。

在 SaaS 模型中,您通常希望程序员做的是编写可以从应用程序查询的 API。这种性质的 API 通常通过 https 运行,并在 HTTP 响应中向应用程序提供数据。额外的好处:它可以在 web 工作的任何地方工作,使用 memcached 或其他缓存技术缓存结果集以减少数据库服务器上的负载非常容易,并且 http auth 得到了很好的支持和测试。