【问题标题】:Whether spring cloud config cache/store config data from backendspring cloud config是否缓存/存储来自后端的配置数据
【发布时间】:2018-07-16 01:39:42
【问题描述】:

在我的项目中,我计划在我的 spring cloud 配置服务器设置中使用多个后端来存储不同的数据:使用 git 后端来存储非敏感数据,并使用 vault 来存储密码/令牌等敏感数据。这与https://content.pivotal.io/blog/spring-cloud-services-supports-vault-multiple-backends-use-the-right-config-repo-for-the-job 的建议类似。

我的问题是,由于从保险库返回的解密值通过配置服务器传递回“客户端应用程序”,因此将以任何方式配置服务器缓存/存储/记录保险库的响应。如果这是真的,配置服务器将成为黑客的大目标,我们可能不得不通过额外的配置来保护配置服务器。

【问题讨论】:

  • 您找到这个问题的答案了吗?如果是这样,请分享,我对答案很感兴趣......!

标签: spring-cloud-config hashicorp-vault


【解决方案1】:

我想你所关心的真正答案是保护你的堆栈的每一层,以防止任何一点的入侵。

Spring documentation 没有明确引用缓存数据 - 所以在这方面你应该是安全的。 Config Server 从外部数据存储缓存配置也没有多大意义,因为它不是该数据的真实来源。我们希望它始终从源中获取数据,以确保我们获得最新版本的数据。我假设可能存在缓存的情况如果配置服务器将配置存储在本地并且能够观察文件的更改和相应地刷新其缓存。但话虽如此,我仍然不喜欢在这一层缓存的好处。

从个人使用 Spring Cloud Config Server 来看,我还没有看到它注销了整个配置;事实上,它记录的很少。我相信您可以通过设置适当的级别来进一步抑制日志记录。

您还应该注意保护 Vault & Config Server 和 Config Server 以及使用 SSL 的每个应用程序之间的连接。这将阻止您以明文形式传输数据,并为您提供额外的安全保护。

【讨论】:

  • 我不了解 vault,但是当配置服务器使用 git 服务器时,它会缓存它检索到的每个 repo,即使它设置为针对每个请求进行刷新。没有办法关闭这种行为。它不会记录它,但它会将它缓存到文件系统中。保险柜可能会有所不同。我不会基于没有记录的缓存对缓存做出任何假设。但是,如果您在 git 存储库中加密敏感值,则本地缓存将具有加密值,因此这似乎足够安全。 (不确定 Vault 比 git 服务器有什么优势。)
猜你喜欢
  • 2019-06-30
  • 2018-07-31
  • 2019-02-15
  • 2018-05-21
  • 1970-01-01
  • 2019-04-02
  • 2021-08-13
  • 2020-07-23
  • 1970-01-01
相关资源
最近更新 更多