User Tools

Site Tools


ru:how_to:change_admin_password_salted

Дополнительная защита административного пароля с помощью уникального модификатора (salt)

Цель статьи

Толчком для написания данной статьи явился тот факт, что у некоторых пользователей, судя по вопросам на форуме GetSimple, возникают проблемы при замене своего или сгенерированного системой при установке пароля на пароль с дополнительным уникальным модификатором (salt). Разработчики надеются, что данная статья послужит базовым материалом, к которому впоследствии может обратиться любой пользователь системы.

Для начала предположим, что читатель данной статьи знает, что такое FTP, панель управления сайтом от хостера и зачем в системе существует файл gsconfig.php. Процесс замены обычного пароля на пароль с дополнительной защитой требует и некоторых знаний в администрировании сайта.

Цель

Система GetSimple умеет использовать в работе пароли с дополнительной защитой от взлома. Дополнительная защита осуществляется добавлением в криптографическую функцию при хешировании пароля случайной строки или уникального модификатора (salt), что значительно усложняет задачу его взлома. Алгоритм дополнительной защиты использует больше символов, чем содержится в пароле, затрудняя задачу подбора методом грубой силы (случайного подбора), а словарные атаки работать вовсе не будут, поскольку уникальный модификатор не является словом.

Разумеется, уникальный модификатор (salt) для шифрования должен быть достаточной длины и содержать обычный случайный набор букв в верхнем и нижнем регистре и цифр, а также специальных символов.

Смысл и красота такого метода дополнительной защиты в том, что ваш администраторский пароль может быть нормальной длины для запоминания обычным человеком. Применение уникального модификатора (salt) при хешировании делает бессмысленным создание пароля длиной, скажем, в 30 символов, при этом защищенный дополнительным модификатором пароль, хранящийся в системе, серьезно затрудняет задачу его дешифровки.

Проблема

Проблема перехода с пароля со стандартным хешированием на пароль с дополнительным модификатором (salt) заключается в том, что после такого изменения конфигурации пароль администратора не будет распознан системой, и он не сможет в следующий раз залогиниться. Все дело в том, что пока хеш пароля в системе хранится со старым алгоритмом шифровки и не совпадет с модифицированным хешем, который будет создан системой авторизации для сравнения уже по новому алгоритму с дополнительной защитой.

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

Как это сделать

На самом деле, все достаточно просто. Предполагаем, что у вас уже есть работающий сайт с установленной системой. Вот общее описание процесса:

  • Входим в административную панель как администратор
  • редактируем gsconfig.php для включения дополнительной защиты пароля
  • меняем пароль администратора для регенерации хеша по алгоритму с уникальным модификатором (salt)

Хостинговые компании, как правило, обеспечивают клиентов панелью управления, в этом случае пользователь имеет возможность редактировать gsconfig.php прямо на сервере. Если такого доступа у вашего хостера нет – придется с помощью FTP-клиента скачивать файл gsconfig.php на локал, редактировать его и загружать обратно на сервер.

Шаг 1: Логин

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

Шаг 2: Редактируем gsconfig.php

Редактируем gsconfig.php либо напрямую на сервере, либо скачиваем его на локал FTP-клиентом, редактируем и вновь загружаем на сервер. Итак – мы собираемся добавить в файл конфигурации инструкцию для использования хеширования паролей с использованием уникального модификатора (salt). Также в файле можно добавить инструкцию использованию уникального модификатора для защиты cookie-файлов и загружаемых файлов.

Получаем уникальный модификатор

Наша уникальная фраза (salt) для дополнительного хеширования должна представлять собой смесь цифровых, буквенных символов в верхнем и нижнем регистре и других допустимых символов, а также должен быть достаточной длины. GetSimple использует массив длиной 55 символов.

Уникальный модификатор (salt) для настроек файла gsconfig.php можно получить с помощью GetSimple API, пожалуй, это наиболее легкий путь. Перезагрузите полученную страницу несколько раз, пока на ваш взгляд полученный уникальный модификатор не будут смотреться абсолютно случайным. Обратите внимание, что на странице выводятся два модификатора – один для дополнительной защиты административного пароля, другой – для дополнительной защиты ваших cookie-файлов и подгружаемых файлов.

Получаемые от GetSimple API уникальные модификаторы могут выглядеть следующим образом:

define('GSLOGINSALT', 'w7M%_G%CZrBjxMfdBNHhqfKZ7O7%lc_0fJ5k-CE4TjJBZxUayc^ODiv');
define('GSUSECUSTOMSALT', '-N0iquC47bueHs9YAyMBF6w=ny1WiTJnFcckR K~iW^s9IMy1cD^nUS');

Редактируем gsconfig.php

Добавьте (или раскомментируйте) следующие строки:
define('GSLOGINSALT', ' …ваш уникальный модификатор номер один… ');
и если требуется
define('GSUSECUSTOMSALT', ' …ваш уникальный модификатор номер два… ');

Итак – мы только что добавили уникальные модификаторы для дополнительного хеширования администраторского пароля, информации cookie-файлов и дополнительных мер защиты при загрузке файлов средствами системы.

Не забудьте сохранить изменения в файле gsconfig.php

В последней версии GetSimple CMS обнаружилась необходимость вводить модификаторы по очереди, сначала ввести один и сохранить пароль, затем другой и пароль нужно снова сохранить.

Шаг 3: Замена пароля администратора

Внимание! Выполняйте все действия, как указано, это - критический шаг.

На этом этапе нашей системе ожидает пароль, зашифрованный с дополнительным уникальным модификатором (salt), но хранящийся в системе хеш пароля администратора зашифрован еще по старому алгоритму.

В шаге 1 мы уже вошли на сайт как администратор. Теперь в секции Настройки необходимо поменять пароль. Можно ввести и старый пароль, это не имеет значения. Нам просто нужно заменить хранящийся в системе старый хеш пароля на новый с дополнительной защитой. Такое действие заставит систему сгенерировать хеш пароля администратора пароль по новому алгоритму с уникальным модификатором.

Конец работы. Выходим из административной панели и пробуем залогиниться заново. Все должно быть просто отлично.

Отмена

Если у вас не получается заново войти в систему – самое время догадаться, что что-то пошло не так.

Скачайте файл gsconfig.php с помощью FTP-клиента на локал, закомментируйте строки, которые мы добавили, знаком # в начале строки и загрузите файл обратно на сервер. Если есть такая возможность, то редактируйте файл прямо на сервере. Механизм генерации дополнительной защиты пароля нами теперь выключен, ваш старый администраторский пароль снова в силе.

Ссылки

На главную Содержание

Страницы этой секции

Дополнительная информация по системе

ru/how_to/change_admin_password_salted.txt · Last modified: 2015/10/07 16:16 by Oleg06