使用Drupal存储敏感数据

时间:2011-04-29 16:41:53

标签: drupal encryption sensitive-data

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

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

  1. 找到一种方法将这些凭据安全地存储到数据库中;
  2. 将这些敏感数据放入credentials_inc.php文件中,将其包含在settings.php中以设置我的自定义模块可以使用的变量,并确保其他人无法读取该文件。
  3. 哪种解决方案最适合您?您有什么推荐的吗?还有其他最好的选择吗?

    最好的问候。

3 个答案:

答案 0 :(得分:6)

我将首先使用SecurePages模块,以确保沿途的某个地方输入的数据不被窥探。

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

一旦信息得到保护,您就可以毫不费力地将数据存储在drupal的db结构中。另外,重要提示,您可以查看hook_init(),而不是尝试在settings.php中附加内容。这通常是一种不好的做法。

答案 1 :(得分:6)

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

答案 2 :(得分:1)

The Encryption module是加密Drupal中敏感数据的绝佳方法。但是,此模块不提供足够的密钥管理(它将加密密钥存储在Drupal数据库中 - 例如将密钥存储在Welcome mat下的房屋中)。

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

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