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

推薦する

Vue がルート変更を監視するときに watch メソッドが複数回実行される理由と解決策

目次要件の説明:要件分析:ニーズの解決問題解決私はフロントエンドの新人ですが、バックエンドのバグの中...

Vue ページに img 画像を導入する方法

HTMLを学ぶとき、画像タグ<img>は画像を導入します <img src=&qu...

Dockerコンテナのネットワークポート設定プロセスの詳細な説明

ネットワークポートの公開実際、Docker にはネットワーク ポートの公開に関わる 2 つのパラメー...

WebプロジェクトをIdeaにインポートし、Tomcatに公開する問題を解決します

Idea は既存の Web プロジェクトをインポートして Tomcat に公開しますが、Tomcat...

MySQLの基本操作を詳しく解説(第2部)

序文この記事には1. データベースのいくつかの主要な制約2. テーブル間の関係制約:主キー制約: 機...

CSS3で実装された6つの境界遷移効果

6つの効果実装コードhtml <h1>CSS 境界遷移</h1> <セ...

MySQL マルチテーブル結合クエリ例の説明

実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...

dockerエラーの原因分析 終了しました (1) 4分前

Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...

アリババの中秋節ロゴとウェブサイトのデザインプロセス

<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...

2021年の花火効果をJSで描画(ソースコードダウンロード付き)

この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...

グリッド共通レイアウトの実装

両側に隙間なし、各列間に隙間あり 幅: 100%; 表示: グリッド; グリッドテンプレート列: r...

MySQL を解凍してインストールおよび完全に削除する方法の詳細なグラフィック説明

1. MySQLをインストールする(1)ダウンロードしたMySQLの圧縮ファイルをMySQLをインス...

Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするチュートリアル

Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その...

初心者のためのウェブサイト構築入門 - ウェブサイト構築に必要な条件とツール

今日は、初心者の次のような質問に答えます。学ぶ勇気さえあれば、自分のウェブサイトを構築するのは簡単で...

Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル

序文:この記事は、CUDA 9.0 をインストールした経験に基づいています。CUDA 9.0 は現在...