【问题标题】:Dropwizard configuration.yml security issues (where to save and should it contain passwords)Dropwizard configuration.yml 安全问题(保存位置以及是否包含密码)
【发布时间】:2013-09-27 10:33:49
【问题描述】:

Dropwizard的configuration.yml文件应该保存在哪里?

我正在使用 Dropwizard,它是一个 Java Web 框架。 Dropwizard 使用 configuration.yml 文件加载环境特定的配置文件。 在我在网上找到的示例中,configuration.yml 文件包含数据库的用户名和密码。 现在的问题是在哪里保存包含纯文本密码的配置文件。

选项 1 Git 存储库 在示例中,configuration.yml 是项目的一部分。因此,可以将它们与其余代码一起保存在 git 存储库中。虽然这是一种众所周知的不良安全做法。 如果有人破解了 git 存储库,就可以访问代码和数据库。同样这样,每个开发人员都可以访问所有环境的所有密码。

计算机上的选项 2 文件 将 configuration.yml 保存在机器上,但不要存储在 git 存储库中

选项 3 环境变量 使用 configuration.yml 文件,该文件指向特定机器上的环境变量。 这不太实用,因为所有这些环境变量都需要在所有机器上手动设置。另外在 Dropwizard 的 configuration.yml 文件中使用 ENVIRONMENT VARIABLES 的语法是什么?

【问题讨论】:

标签: web-services security configuration-files password-protection dropwizard


【解决方案1】:

如果您无法控制对配置文件的读取访问权限或担心您的计算机归不受信任的第三方所有,我会使用环境变量。

环境变量对脚本来说是微不足道的。

【讨论】:

    【解决方案2】:

    您应该使用计算机上的文件:这是有多少框架可以工作的。 如果您使用 unix/linux 服务器,您可以chmod 0600 [filename] 并确保没有人(几乎没有人作为 root 可以做任何事情)可以读取该文件。 在 dropwizard ML 中,还提到使用 puppet/chef 之类的软件来部署您的应用程序并使用这些框架来处理所有变量(例如:测试/登台/生产的不同配置)。

    再见 皮耶罗

    【讨论】:

      猜你喜欢
      • 2023-01-05
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2015-06-22
      • 2020-05-29
      • 1970-01-01
      相关资源
      最近更新 更多