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