5

我需要在Drupal 中使用敏感数据才能使用自定义模块。如果我只是通过 GUI 设置它们,它们将不加密地存储在数据库中。任何有权访问它的人都可以访问我的敏感数据。

目前我可以看到两种解决方案:

  1. 找到一种方法将这些凭据安全地存储到数据库中;
  2. 将这些敏感数据放入 credentials_inc.php 文件中,将其包含在 settings.php 中以设置我的自定义模块可以使用的变量,并确保没有其他人可以读取该文件。

哪种解决方案最适合您?你有什么建议吗?还有其他最好的选择吗?

最好的祝福。

4

3 回答 3

6

我将从使用SecurePages模块开始,以确保沿途某处输入的数据不会被窥探。

然后加密信息尝试使用 php 的mcrypt以及如何加密解密的简短示例。

一旦信息得到保护,将数据存储在 drupal 的 db 结构中应该没有问题。另外,重要的一点是,您可以查看hook_init()而不是尝试在 settings.php 中附加一些内容。这通常是一种不好的做法。

于 2011-04-29T17:07:34.620 回答
6

Encryption 模块提供了一个 API ,它支持几种不同的加密方法,包括 mcrypt(如果你启用了它)。

于 2011-04-29T17:23:04.163 回答
1

加密模块是在 Drupal 中加密敏感数据的绝佳方式。然而,这个模块没有提供足够的密钥管理(它将加密密钥存储在 Drupal 数据库中 - 就像将密钥存储在您的欢迎垫下一样)。

除了 Encrypt,您还需要一个额外的模块,例如Townsend Security Key Connection,它允许您在加密密钥管理器(HSM、Cloud、VMware 等)中管理 Drupal 数据库之外的加密密钥。请记住 - 如果您没有正确管理您的加密密钥,那么您就没有正确加密您的数据。

全面披露:我与 Drupal 团队的 Townsend Security 合作。

于 2014-06-24T19:45:48.613 回答