6.4.1.6 Клиентская подключаемая аутентификация в открытом виде
Доступен плагин аутентификации на стороне клиента, который позволяет клиентам отправлять пароли на сервер в открытом виде без хеширования или шифрования. Этот плагин встроен в библиотеку клиента MySQL.
В следующей таблице показано имя плагина.
Таблица 6.12 Имена плагинов и библиотек для аутентификации в открытом виде
| Плагин или файл | Имя плагина или файла |
|---|---|
| Плагин на стороне сервера | Нет, см. обсуждение |
| Плагин на стороне клиента | mysql_clear_password |
| Файл библиотеки | Нет (плагин встроен) |
Многие плагины аутентификации на стороне клиента выполняют хеширование или шифрование пароля перед отправкой клиентом на сервер. Это позволяет клиентам избежать отправки паролей в открытом виде.
Хеширование или шифрование не могут быть выполнены для схем аутентификации, которые требуют, чтобы сервер получил пароль, введённый на стороне клиента. В таких случаях используется плагин mysql_clear_password на стороне клиента, который позволяет клиенту отправлять пароль на сервер в открытом виде. Нет соответствующего плагина на стороне сервера. Вместо этого, mysql_clear_password можно использовать на стороне клиента совместно с любым плагином на стороне сервера, которому нужен пароль в открытом виде. (Примеры – плагины аутентификации PAM и простой LDAP; см. Раздел 6.4.1.7, «PAM Pluggable Authentication» и Раздел 6.4.1.9, «LDAP Pluggable Authentication».)
В следующем обсуждении приведена информация об использовании, специфичная для аутентификации с плагинами в открытом виде. Для общей информации об аутентификации с плагинами в MySQL см. Раздел 6.2.13, «Pluggable Authentication».
Отправка паролей в открытом виде может быть проблемой безопасности в некоторых конфигурациях. Чтобы избежать проблем, если существует возможность перехвата пароля, клиенты должны подключаться к серверу MySQL с помощью метода, который защищает пароль. Возможные варианты включают SSL (см. Раздел 6.3, «Использование шифрованных подключений»), IPsec или частную сеть.
Чтобы минимизировать непреднамеренное использование плагина mysql_clear_password, клиенты MySQL должны явно его включить. Это можно сделать несколькими способами:
Установите переменную среды
LIBMYSQL_ENABLE_CLEARTEXT_PLUGINна значение, которое начинается с1,Yилиy. Это включит плагин для всех подключений клиентов.Программы-клиенты mysql, mysqladmin и mysqlslap (также mysqlcheck, mysqldump и mysqlshow для MySQL 5.7.10 и более поздних версий) поддерживают опцию
--enable-cleartext-plugin, которая включает плагин на основе каждого вызова.Функция API C поддерживает опцию
MYSQL_ENABLE_CLEARTEXT_PLUGIN, которая включает плагин на основе каждого подключения. Кроме того, любая программа, использующаяlibmysqlclientи читающая файлы параметров, может включить плагин, добавив опциюenable-cleartext-pluginв группу параметров, считываемую библиотекой клиента.
© 2025 Oracle
Licensed under the GPLv2 License.