ホームページ >データベース >mysql チュートリアル >MySQL クライアントの TLS を有効にする

MySQL クライアントの TLS を有効にする

王林
王林転載
2023-08-23 14:07:401734ブラウズ

MySQL クライアントの TLS を有効にする

TLS は SSL (Secure Sockets Layer) とも呼ばれます。これはトランスポート層のセキュリティを指します。

MySQL クライアントとサーバーの間に暗号化されていない接続が存在する場合、ネットワークにアクセスできる人はすべてのトラフィックを監視し、クライアントとサーバーの間で送受信されるデータを調べることができます。ユーザーがネットワーク上で安全な方法で情報を送信したい場合、暗号化されていない接続は受け入れられません。

あらゆる種類のデータを読み取り不能にするには、暗号化を使用する必要があります。暗号化アルゴリズムには多くの既知の攻撃に対抗するセキュリティ要素が含まれていることが多く、その中には暗号化されたメッセージの順序の変更やデータの 2 回の再生などがあります。 MySQL は、クライアントとサーバーの間で発生する暗号化された接続をサポートしており、どちらも TLS プロトコルを使用します。ただし、暗号化が弱いため、MySQL は暗号化接続に SSL プロトコルを使用しません。

TLS は暗号化アルゴリズムを使用して、パブリック ネットワークで受信したデータが信頼できるデータであることを保証します。データの変更、損失、または再生を検出するための多くの方法があります。 TLS は、X.509 標準の認証アルゴリズムも使用します。

TLS を有効にする手順

MySQL は接続ごとに暗号化します。特定のユーザーの暗号化はオプションまたは必須にすることができます。これにより、ユーザーはアプリケーションの要件に応じて、暗号化された接続または暗号化されていない接続を選択できます。

MySQL クライアントで TLS を有効にする方法を理解しましょう:

  • サーバーを起動するとき、構成ファイルで ssl-cert および ssl-key パラメーターを指定する必要があります。
  • 証明書またはキーは、OpenSSL を使用して署名および生成されます。
  • このキーは、MySQL の mysql_ssl_rsa_setup ツールを使用して生成することもできます:
  • mysql_ssl_rsa_setup --datadir=./certs
    パラメーターが正しい場合、安全な接続が出力として渡され、起動時に有効になります。
  • 証明書、キー、および CA をリロードする - サーバー インスタンスで ALTER INSTANCE RELOAD TLS ステートメントを実行します。これにより、サーバー インスタンスをリロードする必要がなくなります。
  • 確立された接続が正常に実行されると、新しくロードされた証明書、キー、および CA が有効になります。
  • 暗号化された接続を使用するように MySQL クライアントを構成します。デフォルトでは、暗号化された接続の確立が試行されます。サーバーが暗号化された接続をサポートしていない場合は、暗号化されていない接続が自動的に返されます。
  • クライアントの接続動作は、--ssl-mode パラメータを使用して変更できます:
    --ssl-mode=REQUIRED- Tells that en encrypted connection is needed.

認証を有効にする必要があります: ssl-ca パラメータが指定されていない場合、デフォルトでクライアントまたはサーバーが認証しません。

  • ssl-cert および ssl-key パラメーターはサーバーで指定する必要があります。
  • MySQL クライアントで --ssl-ca パラメータを指定します。
  • MySQL クライアントで --ssl-mode を VERIFY_CA として指定します。
  • サーバー構成の証明書 (ssl-cert) は、クライアントの --ssl-ca パラメーターで指定された CA によって署名されます。
  • それ以外の場合、認証は失敗します。

サーバーから MySQL クライアントを認証するには:

  • サーバーで ssl-cert、ssl-key、および ssl-ca パラメーターを指定します。
  • クライアントで --ssl-cert および --ssl-key パラメーターを指定します。
  • サーバーによって構成された証明書とクライアントによって構成された証明書は、サーバーによって指定された ssl-ca によって署名されます。
  • サーバーからクライアントへの認証はオプションです。クライアントが TLS ハンドシェイク中に構成証明証明書を提示しない場合でも、TLS 接続は確立されます。
  • 現在の接続で暗号化が使用されているかどうかを確認します。

以上がMySQL クライアントの TLS を有効にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。