MySQL構成SSL証明書ログインの実装

MySQL構成SSL証明書ログインの実装

序文

国家レベル 3 セキュリティ要件によると、MySQL の SSL にはセキュリティ証明書の暗号化が必要です。これを調べて、デモンストレーション用にいくつかのアカウントを選択する必要があります。 mysqlのバージョンは8.0.20です

1. MySQLはSSL構成を有効にする

1.1 SSLが有効になっているかどうかを確認する

mysql> '%ssl%' のような変数を表示します。
+--------------------+-----------------+
| 変数名 | 値 |
+--------------------+-----------------+
| openssl がある | はい |  
| have_ssl | YES | # SSLが有効になっています
|mysqlx_ssl_ca | |
|mysqlx_ssl_capath | |
|mysqlx_ssl_cert | |
|mysqlx_ssl_cipher | |
|mysqlx_ssl_crl | |
|mysqlx_ssl_crl パス | |
|mysqlx_ssl_key | |
| ssl_ca | ca.pem |
| ssl_capath | |
| ssl_cert | server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlパス | |
| ssl_fips_mode | オフ |
| ssl_key | サーバーキー.pem |
+--------------------+-----------------+
セット内の行数は 17 行 (0.56 秒)

1.2 ユーザーがSSL接続を使用するかどうかを設定する

mysql> user = 'dev_fqr' の場合、user から ssl_type を選択します。
+----------+
|SSLタイプ|
+----------+
| |
+----------+
セット内の1行(0.05秒)

デフォルトでは、ユーザーは SSL を使用してログインしません。
この管理ユーザーに SSL を使用してログインするように強制できます。

ユーザー 'xxx'@'%' を変更し、SSL を必要とします。
SSL検証をキャンセルするには:
ユーザー 'xxx'@'%' を変更するには何も必要ありません。

変更後、アカウントにログインできなくなり、以下の状態になります

mysql> user = 'dev_fqr' の場合、user から ssl_type を選択します。
+----------+
|SSLタイプ|
+----------+
| いずれか |
+----------+
セット内の1行(0.01秒)

ログインをテストします。このマシンは直接ログインできません。

[root@localhost データ]# mysql -u dev_fqr -p
パスワードを入力してください: 
エラー 2026 (HY000): SSL 接続エラー: SSL が必要ですが、サーバーがサポートしていません

リモート クライアントは直接ログインできません。

1.3 SSLを使用したログイン

SSL 経由でログインするには、次の証明書を使用する必要があります。ログインが成功するには、クライアント証明書をサーバーで検証する必要があります。

1) ローカルログイン

データ ディレクトリ内の 3 つのファイルは、証明書ログインに使用されます。

[root@localhost データ]# mysql -udev_fqr -pDev@fqr2021 --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは55です
サーバーバージョン: 8.0.22 MySQL コミュニティサーバー - GPL
​
Copyright (c) 2000, 2020, Oracle およびその関連会社。無断複写・転載を禁じます。
​
OracleはOracle Corporationおよびその関連会社の登録商標です。
その他の名称は各社の商標である場合があります。
所有者。
​
ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。
​
UNIXソケット経由でSSL接続を強制しています。
UNIXソケット経由で接続しないのでSSLをオフにする
より安全になります。
マイSQL> 

2) リモートクライアントログインをナビゲートする

これら3つの証明書をダウンロードしてください

リモート アクセス用の証明書ディレクトリを構成します。

2. 結論

評価中に JDBC の設定は表示されないため、JDBC は変更されません。そうしないと、多くの変更が必要になります。特定のデモンストレーションでは、事前に 2 つのアカウントを準備し、クライアントを使用して接続することができます。
現在、2 つの MySQL サーバーの SSL ユーザーは次のとおりです。

これで、MySQL 構成 SSL 証明書ログインの実装に関するこの記事は終了です。MySQL SSL 証明書ログインに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • mysql show processlist コマンドを使用して mysql ロックを確認する方法
  • MySQL SSL接続構成の詳細
  • MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します
  • さまざまなMySQL SSL構成
  • SSLプロトコルに基づくMySQLマスタースレーブレプリケーションの詳細な操作チュートリアル
  • さまざまなMySQL SSL構成
  • MySQL 構成 SSL マスタースレーブ レプリケーション

<<:  CSS 要素の非表示の原則と display:none および visibility:hidden

>>:  CSS background-blend-modeの仕組みを深く理解する

推薦する

コード分​​析を実現するためのFastDFSとNginxの統合

FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...

CSS 疑似要素を使用して複数の連続する要素のスタイルを制御する方法

CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...

Linux の一般的なハードディスク管理コマンドの紹介

目次1. dfコマンド2. duコマンド3. fsckファイルシステム修復コマンド4. ディスクステ...

MySQLに必要な共通知識のまとめ

目次主キー制約一意の主キー非 Null 制約デフォルトの制約外部キー制約1NF 2NF 3NFデータ...

MySQL 時間差関数 (TIMESTAMPDIFF、DATEDIFF)、日付変換計算関数 (date_add、day、date_format、str_to_date)

1. 時間差関数(TIMESTAMPDIFF、DATEDIFF) MySQLを使用して時間差を計算...

Portainer を使用して Docker のビジュアル インターフェースを構築する方法

ポーテナーの紹介Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な...

W3C チュートリアル (10): W3C XQuery アクティビティ

XQuery は、XML ドキュメントからデータを抽出するための言語です。 XQuery は、XML...

HTML で入力テキスト入力キャッシュのクリアを禁止する 2 つの方法

ほとんどのブラウザはデフォルトで入力値をキャッシュし、ctl+F5 を使用して強制的に更新することに...

1時間で学ぶMySQLの基礎

目次MySQL を使い始めるMySQL 管理6. MySQL サーバーを起動および停止します。 7....

js のループメソッドとさまざまなトラバーサルメソッド

目次forループwhileループdo-while ループループのネストトラバーサルメソッド~のために...

MySQL が起動直後にシャットダウンする問題 (ibdata1 ファイルの破損が原因) に対する完璧な解決策

コンピュータ ルームのサーバー上の mysql がしばらく実行されていたのですが、突然、再起動しても...

HTML スライドフローティングボールメニュー効果の実装

CSS スタイル html,本文{ 幅: 100%; 高さ: 100%; マージン: 0;パディング...

HTML ヘッド構造

以下では、よく使われるヘッド構造と、各タグや要素の意味や使用シーンを紹介します(この記事は、Yisi...

HTML検証 HTML検証

HTML 検証はHTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ...