【问题标题】:Can access to a heroku postgresql DB be restricted to it's heroku app ONLY?对heroku postgresql DB的访问是否仅限于它的heroku应用程序?
【发布时间】:2013-11-08 07:28:41
【问题描述】:

由于安全顾问的建议,我最近将应用程序从 heroku 迁移到 amazon-ec2。然而,他对heroku的了解并不深,疑虑依然存在。

是否可以限制对 Heroku PostgreSQL 数据库的访问,使其只能由应用程序访问?

您会推荐 Heroku 用于安全关键型应用程序吗?

【问题讨论】:

  • 虽然不了解 Heroku,但我不会推荐 Amazon 用于安全关键应用程序 - 或任何云解决方案! /)
  • 我的评论是基于架构的。如果第三方对您的客户数据负责,您就无法保证现实中谁可以访问这些数据。

标签: security heroku


【解决方案1】:

这是一个看似复杂的问题,因为“受到限制以使其只能由应用程序访问”的概念定义不明确。如果您的最终目标只是让您的数据尽可能安全,那么 Heroku 与 AWS 与物理服务器的锁定和密钥将涉及一些成本效益分析,而不仅仅是如何访问您的数据库。

Heroku 通过身份验证限制数据库访问。您在数据库和应用程序之间共享一个秘密(用户名/密码)。任何拥有该秘密的人都可以访问该数据库。为了便于保密,所有数据库访问都通过或应该通过 SSL。

除了身份验证之外,还有其他限制访问的方法,但其中许多与基于云的方法不兼容。此外,它们中的许多要求您对服务器环境进行更多控制,并且您在这方面的责任越多,问题与谁可以访问数据库上的 postgres 端口完全分开的可能性就越大。 .

直接使用 AWS 而不是通过像 Heroku 这样的 paas 提供商的优势在于您可以自己配置所有内容。缺点是您必须自己配置所有内容。仅当您拥有一支合格且细心的系统管理员团队来配置、监控和更新您的环境时,我才建议您使用 AWS 而不是托管服务。阅读 Heroku 的安全政策页面。您是否至少在 AWS 上以自己的配置保护服务器?如果没有,那么您可能会遇到比数据库周围有多少层冗余更大的问题。

【讨论】:

  • 当您说问题“定义不明确”时,您的意思是 a) 做出这样的限制不会真正使系统更安全还是 b) 不可能或 c) 另一个完全原因?我真的没有看到只允许我的 ip/域访问数据库的问题,同时仍然保留所有其他安全措施。这似乎是一个不错的额外预防措施?
  • 定义不明确意味着不清楚“仅由应用程序”是什么意思。如果您想将其定义为通过 IP 地址,那么这就澄清了挑战。但是你仍然有问题:Heroku 节点是匿名的,并且 IP 地址会不断变化。
  • 我不认为这是一个答案。如果这意味着“不”,那将是一个答案......
猜你喜欢
  • 1970-01-01
  • 2018-02-26
  • 2014-09-04
  • 1970-01-01
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
  • 2017-02-28
  • 2013-04-09
相关资源
最近更新 更多