Хранение конфиденциальных данных с Drupal
Мне нужно использовать конфиденциальные данные с Drupal для использования пользовательского модуля. Если я просто установлю их через графический интерфейс, они будут храниться в незашифрованном виде в базе данных. Любой, имеющий к нему доступ, получит доступ к моим конфиденциальным данным.
Я вижу два решения на данный момент:
- Найдите способ безопасного хранения этих учетных данных в базе данных;
- Поместите эти конфиденциальные данные в файл credentials_inc.php, включите его в settings.php, чтобы установить переменные, которые мой пользовательский модуль может использовать, и убедитесь, что никто другой не сможет прочитать файл.
Какое решение является лучшим по вашему мнению? Что вы порекомендуете? Есть ли другой лучший вариант?
С наилучшими пожеланиями.
3 ответа
Я бы начал с использования модуля SecurePages, чтобы убедиться, что данные, введенные где-то по пути, не отслеживаются.
Затем для шифрования информации попробуйте использовать mcrypt от php с кратким примером того, как шифровать и дешифровать.
Как только информация будет защищена, у вас не должно возникнуть проблем с сохранением данных в структуре базы данных drupal. Также важно отметить, что вы можете проверить hook_init() вместо того, чтобы пытаться что-то добавить в settings.php. Это вообще плохая практика.
Модуль Encryption предоставляет API, который поддерживает несколько различных методов шифрования, включая mcrypt (если он включен).
Модуль Encryption является отличным способом для шифрования конфиденциальных данных в Drupal. Однако этот модуль не обеспечивает надлежащего управления ключами (он хранит ключ шифрования в базе данных Drupal - например, хранит ключи от вашего дома под приветственным ковриком).
Наряду с Encrypt вам также понадобится дополнительный модуль, например Townsend Security Key Connection, который позволяет управлять ключами шифрования вне базы данных Drupal в менеджере ключей шифрования (HSM, Cloud, VMware и т. Д.). Просто помните - если вы не управляете своими ключами шифрования должным образом, вы не шифруете свои данные должным образом.
Полное раскрытие: я работаю с Townsend Security в команде Drupal.