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の仕組みを深く理解する

推薦する

MySQL が自動的に再起動する問題の解決方法

序文最近、テスト環境で MySQL データベースが自動的に再起動し続ける問題が発生しました。原因は、...

HTML ユーザー登録ページ設定ソースコード

上記の Web ページをデザインします。 <!DOCTYPE html> <htm...

W3C チュートリアル (15): W3C SMIL アクティビティ

SMIL は、Web にタイミングとメディアの同期のサポートを追加します。 SMIL は、Web に...

Vue2/vue3 ルーティング権限管理方法の例

1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...

Vuexの補助関数の使い方

目次マップ状態マップゲッターマップミューテーションマップアクション複数のモジュールマップ状態 ...

js が CSS 属性 (値) のサポートを決定して通知する状況の分析

新しい CSS 機能を使用する場合、その互換性は常に考慮されます。おそらく、その互換性、どのブラウザ...

Linux に起動方法を追加する (サービス/スクリプト)

システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...

Vue の nextTick について話す

データが変更されても、DOM ビューはすぐには更新されません。変更直後にノードまたはその値を取得しよ...

nginxコンテナ設定ファイルの独立した実装

コンテナを作成する [root@server1 ~]# docker run -it --name ...

JavaScript関数の使い方の詳細な説明

目次1. 関数を宣言する2. 関数の呼び出し3. 関数パラメータ4. 関数の戻り値5. 議論の使用6...

Vue コンポーネントでのアンチシェイクとスロットリングの使用例の分析

入力ボックスへのユーザー入力、ウィンドウのサイズ変更、スクロール、Intersection Obse...

mysql ステートメントを使用してユーザー権限を照会するプロセスの詳細な説明

MySQL では、ユーザーに付与された権限をどのように確認しますか? ユーザーに付与される権限は、グ...

secure_file_priv nullの問題を解決する

secure_file_priv = ' ';管理者としてcmdを実行します。 my...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...