2011-07-25 41 views
0

我在Rails应用程序中有许多'system'密码,例如数据库密码和XML feed的单独HTTP认证密码。将系统密码存储在Rails目录树中的位置?

我的问题是确切知道如何将这些密码存储在我的目录中,以便它们尽可能安全。你对Rails 3有什么特别的建议?

回答

5

在数据库中加密?

在环境配置?

我以前都用过。现实情况是,HTTP密码更像是一个API密钥。该服务的提供者有责任,您不能通过访问进行任何“恶意”行为。一般来说,建议不要将任何东西放在源代码管理中,而不想公开。在过去,我不得不在我的应用程序外部署单独的密钥文件。如果你正在做安全的东西(一张信用卡),那么你可以做到这一点。只需在可访问密钥文件的服务器上创建一个用户即可。然后,您实际上将对Unix的访问权限用作您的安全模型,而不是您的密钥文件的密码。

2

只要确保将您的配置文件存储在配置文件夹(或至少在公用文件夹之外;)。除此之外,您应该保护从外部访问您的rails-app-user-account(强制ssh-pubkey认证)。

另一个安全缺陷是使用合理的密码信息(例如数据库访问)检入config-files。我总是将config/database.yml添加到.gitignore中,并将缺省config/database.sample.yml作为其他开发人员的模板。 “real”config/database.yml是使用特定于环境的配置值手动创建和配置的。

相关问题