Drupal повторно использует свою хэш-соль


Инструкции в default.settings.php скажи

Установщик установит для этой переменной случайное значение. Все разовые ссылки для входа в систему будут аннулированы, если значение будет изменено. Обратите внимание, что если ваш сайт развернут на кластере веб-серверов, вы должны убедиться, что эта переменная имеет одинаковое значение на каждом сервере. Если эта переменная пуста, в качестве запасного варианта будет использоваться хэш учетных данных сериализованной базы данных соль.

Но это объяснение засолки говорит

Новая случайная соль должна генерироваться каждый раз, когда пользователь создает учетную запись или меняет свой пароль.

И далее поясняет, что каждый соленый хэш (например, пароль) должен иметь свою уникальную соль, хранящуюся вместе с хэшированным+соленым паролем в базе данных.

Я неправильно понял статью, которую я прочитал о солении, или Drupal использует ошибочную практику для удобства, или статья неправильная, или происходит что-то еще?

Author: beth, 2014-11-23

1 answers

Я перенес другие CMS на Drupal и имел опыт перемещения учетных записей пользователей. Алгоритм паролей Drupal чрезвычайно хорош.

Соль, на которую вы ссылаетесь в settings.php не используется для паролей. Соль drupal_hash_salt используется для создания таких вещей, как файлы cookie. Следовательно, почему в нем говорится, что вы должны сохранять его одинаковым на всех веб-серверах, если вы находитесь в настройке с балансировкой нагрузки.

Генерация паролей использует алгоритм SHA512 со случайно сгенерированными солями использование php-библиотек openssl (не mt_rand или других слабых генераторов случайных чисел).

Если вы хотите узнать больше о генерации паролей, вы можете начать здесь с чтения Документации API для Drupal

Вы видите, что в функции для генерации она вызывает "закрытую" функцию для генерации нового пароля. (_password_generate_salt()). Что, в свою очередь, вызывает множество других частных пользовательских функций Drupal (это длинная дыра в rabit).

Таким образом, в целом используемая схема паролей поскольку Drupal чрезвычайно глубок и вложен, он не использует функции PHP, которые считаются "слабыми".

 14
Author: Brady, 2014-11-24 15:41:22