zaLinux.ru

Как исправить ошибку «ERROR 1819 (HY000)» в MariaDB


При создании пользователя MariaDB с относительно слабым паролем вы можете столкнуться с ошибкой «ERROR 1819 (HY000): Your password does not satisfy the current policy requirements» (ОШИБКА 1819 (HY000): ваш пароль не соответствует текущим требованиям политики). Технически это не ошибка, а уведомление о том, что вы используете пароль, не соответствующий рекомендованным требованиям политики паролей.

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

Эта ошибка можно возникнуть как при создании нового пользователя, так и при изменении пароля существующего пользователя, например:

CREATE USER 'mial'@'localhost' IDENTIFIED BY 'mypassword';
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('abc');

Как исправить ошибку ERROR 1819 (HY000)

База данных MariaDB поставляется с подключаемым модулем simple_password_check, который при включении применяет политику проверки пароля.

simple_password_check — это плагин для проверки пароля. Он может проверить, содержит ли пароль хотя бы определённое количество символов определённого типа. При первой установке пароль должен состоять не менее чем из восьми символов и требует наличия как минимум одной цифры, одного символа верхнего регистра, одного символа нижнего регистра и одного символа, который не является ни цифрой, ни буквой.

Обратите внимание, что если для переменной strict_password_validation установлено значение OFF (по умолчанию она включена), то пароли могут быть напрямую заданы как хеш, минуя проверку пароля.

Плагин применяет следующие настройки:

  • simple_password_check_digits — Пароль должен содержать не менее указанного количества цифр. Диапазон от 0 до 1000
  • simple_password_check_letters_same_case — Пароль должен содержать, по крайней мере, это количество прописных и строчных букв. Диапазон от 0 до 1000
  • simple_password_check_minimal_length — Пароль должен содержать не менее указанного количества символов. Диапазон от 0 до 1000
  • simple_password_check_other_characters — Пароль должен содержать как минимум такое количество символов, которые не являются ни цифрами, ни буквами. Диапазон от 0 до 1000

Текущие значения этих переменных вы можете посмотреть командой:

SHOW VARIABLES LIKE 'simple_password_check%';


Для выполнения этой команды войдите в MariaDB (чтобы появилось приглашение командной строки «MariaDB>»). Это относится и ко всем последующим командам.

Если вы запустите команду и получите пустой набор выходных данных, то плагин ещё не включён.

Чтобы включить плагин simple_password_check, выполните следующую команду.

INSTALL SONAME 'simple_password_check';

Чтобы убедиться, что плагин активирован, выполните команду.

select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'simple_password_check%';

Чтобы решить эту проблему, вам необходимо установить менее строгие правила для паролей пользователей. Я знаю, что это звучит нелогично, поскольку это создаёт возможность для установки слабых паролей, которые в конечном итоге могут привести к взлому вашей базы данных хакерами.

Однако, если вы всё ещё настаиваете на своём, вот что вы можете сделать.

Как изменить политику проверки пароля MariaDB

Чтобы устранить ошибку ERROR 1819 (HY000), установите более низкую политику проверки пароля, как показано далее. Для этого выполните вход в MariaDB и запустите одну из следующих команд.

Для разрешения паролей, в которых нет ни одного символа, отличного от буквы и цифры:

SET GLOBAL simple_password_check_other_characters=0;

Пароль может не содержать букв:


SET GLOBAL simple_password_check_letters_same_case=0;

Длина пароля может быть от 4 символов

SET GLOBAL simple_password_check_minimal_length=4;

Для разрешения паролей, в которых нет ни одной цифры:

SET GLOBAL simple_password_check_digits=0;

После этого вы можете подтвердить уровень политики проверки пароля.

SHOW VARIABLES LIKE 'simple_password_check%';

Теперь вы можете продолжить и назначить относительно слабый пароль по своему желанию.

create user 'mial'@'localhost' IDENTIFIED BY 'mypassword';

Чтобы вернуться к настройкам по умолчанию выполните команды:

SET GLOBAL simple_password_check_other_characters=1;
SET GLOBAL simple_password_check_letters_same_case=1;
SET GLOBAL simple_password_check_minimal_length=8;
SET GLOBAL simple_password_check_digits=1;

Заключение

Не используйте слабые пароли и, следовательно, не ослабляйте политики требований к паролям. Это относится как к пользователям баз данных, так и к любым другим паролям. Рекомендуется всегда устанавливать надёжный пароль, состоящий более чем из 8 символов, включая прописные, строчные, числовые и специальные символы. Не рекомендуется использовать один и тот же пароль для разных служб, сервисов, сайтов.

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


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *