Вопрос: Как мы запретить создание пользователя с пустым паролем в MySQL?
До MySQL 5.6
В случае версии MySQL ниже 5.6, это не может быть достигнуто полностью.
Но есть настройки, которые можно использовать, чтобы приблизиться к нашей цели.
Установите приведенный ниже режим SQL для экземпляра MySQL:
SET SQL_MODE = NO_AUTO_CREATE_USER
При использовании режима NO_AUTO_CREATE_USER ожидается, что – оператор должен указывать пароль NONEMPTY с использованием IDENTIFIED BY или подключаемый модуль аутентификации с использованием IDENTIFIED WITH.
Потому что, когда указано предложение IDENTIFIED BY, это явный признак того, что человек намеренно хочет создать нового пользователя.
Мы не можем запретить администраторам создавать пользователей с пустым паролем.
Следовательно, если вы хотите настроить правило мониторинга для периодической идентификации таких пользователей, включите MySQL Enterprise Monitor (MEM) версии 2.3, которые будут предупреждать вас о таких учетных записях и сообщать вам, что делать дальше:
- 1: на сервере есть учетные записи без пароля
- 2: Сервер имеет анонимные учетные записи
MySQL 5.6 и выше
Начиная с MySQL 5.6, этого можно добиться с помощью функции «validate_password_policy» плагина проверки пароля.
Используйте следующие параметры, чтобы охватить большинство случаев:
plugin-load = validate_password.so validate-password = FORCE_PLUS_PERMANENT validate-password-policy = X sql_mode = NO_AUTO_CREATE_USER