Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  クライアント側のクリアテキスト認証プラグイン

6.3.8.7 クライアント側のクリアテキスト認証プラグイン

MySQL 5.6.2 の時点では、ハッシュ化または暗号化なしでサーバーにパスワードを送信するクライアント側の認証プラグインが使用可能です。このプラグインは、MySQL クライアントライブラリに組み込まれています。

次の表に、プラグイン名を示します。

表 6.13 MySQL クリアテキスト認証プラグイン

サーバー側のプラグイン名 なし (説明を参照してください)
クライアント側のプラグイン名 mysql_clear_password
ライブラリオブジェクトファイル名 なし (プラグインは組み込み済みです)

ネイティブの MySQL 認証では、クライアントはパスワードに一方向のハッシュ化を実行してから、それをサーバーに送信します。これにより、クライアントがパスワードをクリアテキストで送信することを回避できます。セクション6.1.2.4「MySQL でのパスワードハッシュ」を参照してください。ただし、ハッシュアルゴリズムは一方向であるため、サーバー側で元のパスワードをリカバリできません。

クライアント側で入力されたパスワードを受信するようにサーバーに要求する認証スキームの場合、一方向のハッシュ化を実行できません。このような場合、クライアント側のプラグイン mysql_clear_password を使用すると、パスワードをクリアテキストでサーバーに送信できます。対応するサーバー側のプラグインはありません。その上、クライアント側のプラグインは、クリアテキストのパスワードを必要とする任意のサーバー側のプラグインで使用できます。(PAM 認証プラグインは、このような例の 1 つです。セクション6.3.8.5「PAM 認証プラグイン」を参照してください。)

MySQL のプラガブル認証に関する一般的な情報については、セクション6.3.7「プラガブル認証」を参照してください。

注記

クリアテキストでパスワードを送信すると、一部の構成でセキュリティーの問題が発生する可能性があります。パスワードが傍受される可能性がある場合に問題を回避するには、クライアントはパスワードが保護される方式を使用して、MySQL サーバーに接続するようにしてください。SSL (セクション6.3.10「セキュアな接続のための SSL の使用」を参照)、IPsec、またはプライベートネットワークでも発生する可能性があります。

MySQL 5.6.7 の時点で、このプラグインが不注意に使用される可能性を低くするには、クライアントが明示的に有効にする必要があります。これは、複数の方法で実行できます。

  • LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 環境変数を 1Y、または y で始まる値に設定します。これにより、すべてのクライアント接続でプラグインが有効になります。

  • mysqlmysqladmin、および mysqlslap クライアントプログラムでは、呼び出すたびにプラグインを有効にする --enable-cleartext-plugin オプションがサポートされています。

  • mysql_options() C API 関数では、接続するたびにプラグインを有効にする MYSQL_ENABLE_CLEARTEXT_PLUGIN オプションがサポートされています。また、クライアントライブラリによって読み取られるオプショングループ内に enable-cleartext-plugin を含めると、libmysqlclient を使用し、オプションファイルを読み取る任意のプログラムでプラグインを有効にすることができます。


User Comments
Sign Up Login You must be logged in to post a comment.