Толчком для написания данной статьи явился тот факт, что у некоторых пользователей, судя по вопросам на форуме GetSimple, возникают проблемы при замене своего или сгенерированного системой при установке пароля на пароль с дополнительным уникальным модификатором (salt). Разработчики надеются, что данная статья послужит базовым материалом, к которому впоследствии может обратиться любой пользователь системы.
Для начала предположим, что читатель данной статьи знает, что такое FTP, панель управления сайтом от хостера и зачем в системе существует файл gsconfig.php. Процесс замены обычного пароля на пароль с дополнительной защитой требует и некоторых знаний в администрировании сайта.
Система GetSimple умеет использовать в работе пароли с дополнительной защитой от взлома. Дополнительная защита осуществляется добавлением в криптографическую функцию при хешировании пароля случайной строки или уникального модификатора (salt), что значительно усложняет задачу его взлома. Алгоритм дополнительной защиты использует больше символов, чем содержится в пароле, затрудняя задачу подбора методом грубой силы (случайного подбора), а словарные атаки работать вовсе не будут, поскольку уникальный модификатор не является словом.
Разумеется, уникальный модификатор (salt) для шифрования должен быть достаточной длины и содержать обычный случайный набор букв в верхнем и нижнем регистре и цифр, а также специальных символов.
Смысл и красота такого метода дополнительной защиты в том, что ваш администраторский пароль может быть нормальной длины для запоминания обычным человеком. Применение уникального модификатора (salt) при хешировании делает бессмысленным создание пароля длиной, скажем, в 30 символов, при этом защищенный дополнительным модификатором пароль, хранящийся в системе, серьезно затрудняет задачу его дешифровки.
Проблема перехода с пароля со стандартным хешированием на пароль с дополнительным модификатором (salt) заключается в том, что после такого изменения конфигурации пароль администратора не будет распознан системой, и он не сможет в следующий раз залогиниться. Все дело в том, что пока хеш пароля в системе хранится со старым алгоритмом шифровки и не совпадет с модифицированным хешем, который будет создан системой авторизации для сравнения уже по новому алгоритму с дополнительной защитой.
Таким образом, задача заключается в том, чтобы четко следовать описанному ниже процессу изменения алгоритма шифрования пароля во избежание проблем.
На самом деле, все достаточно просто. Предполагаем, что у вас уже есть работающий сайт с установленной системой. Вот общее описание процесса:
gsconfig.php
для включения дополнительной защиты пароляХостинговые компании, как правило, обеспечивают клиентов панелью управления, в этом случае пользователь имеет возможность редактировать gsconfig.php прямо на сервере. Если такого доступа у вашего хостера нет – придется с помощью FTP-клиента скачивать файл gsconfig.php на локал, редактировать его и загружать обратно на сервер.
Входим под администратором на наш GetSimple-сайт и остаемся в административной панели для того, чтобы избежать ситуации, когда вы не сможете залогиниться вновь.
Редактируем 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');
Добавьте (или раскомментируйте) следующие строки:
define('GSLOGINSALT', ' …ваш уникальный модификатор номер один… ');
и если требуется
define('GSUSECUSTOMSALT', ' …ваш уникальный модификатор номер два… ');
Итак – мы только что добавили уникальные модификаторы для дополнительного хеширования администраторского пароля, информации cookie-файлов и дополнительных мер защиты при загрузке файлов средствами системы.
Не забудьте сохранить изменения в файле gsconfig.php
В последней версии GetSimple CMS обнаружилась необходимость вводить модификаторы по очереди, сначала ввести один и сохранить пароль, затем другой и пароль нужно снова сохранить.
Внимание! Выполняйте все действия, как указано, это - критический шаг.
На этом этапе нашей системе ожидает пароль, зашифрованный с дополнительным уникальным модификатором (salt), но хранящийся в системе хеш пароля администратора зашифрован еще по старому алгоритму.
В шаге 1 мы уже вошли на сайт как администратор. Теперь в секции Настройки необходимо поменять пароль. Можно ввести и старый пароль, это не имеет значения. Нам просто нужно заменить хранящийся в системе старый хеш пароля на новый с дополнительной защитой. Такое действие заставит систему сгенерировать хеш пароля администратора пароль по новому алгоритму с уникальным модификатором.
Конец работы. Выходим из административной панели и пробуем залогиниться заново. Все должно быть просто отлично.
Если у вас не получается заново войти в систему – самое время догадаться, что что-то пошло не так.
Скачайте файл gsconfig.php
с помощью FTP-клиента на локал, закомментируйте строки, которые мы добавили, знаком # в начале строки и загрузите файл обратно на сервер. Если есть такая возможность, то редактируйте файл прямо на сервере. Механизм генерации дополнительной защиты пароля нами теперь выключен, ваш старый администраторский пароль снова в силе.
На главную Содержание