8.4.1.3 Клиентская подключаемая аутентификация в открытом тексте
Доступен клиентский плагин аутентификации, который позволяет клиентам отправлять пароли на сервер в виде открытого текста без хеширования или шифрования. Этот плагин встроен в библиотеку клиента MySQL.
В следующей таблице показано имя плагина.
Таблица 8.16 Имена плагинов и библиотек для аутентификации в открытом тексте
| Плагин или файл | Имя плагина или файла |
|---|---|
| Плагин на стороне сервера | Нет, см. обсуждение |
| Плагин на стороне клиента | mysql_clear_password |
| Файл библиотеки | Нет (плагин встроен) |
Многие клиентские плагины аутентификации выполняют хеширование или шифрование пароля перед отправкой его клиентом на сервер. Это позволяет клиентам избегать отправки паролей в открытом тексте.
Хеширование или шифрование не могут быть выполнены для схем аутентификации, которые требуют, чтобы сервер получил пароль, введенный на стороне клиента. В таких случаях используется клиентский плагин mysql_clear_password, который позволяет клиенту отправлять пароль на сервер в открытом тексте. Нет соответствующего плагина на стороне сервера. Вместо этого mysql_clear_password можно использовать на стороне клиента совместно с любым плагином на стороне сервера, которому нужен пароль в открытом тексте. (Примеры — плагины аутентификации PAM и простой LDAP; см. Раздел 8.4.1.4, «PAM Pluggable Authentication» и Раздел 8.4.1.6, «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.