システム管理のデフォルト証明書の代わりにカスタム証明書を使用して、 または のプライマリエンドポイントまたはクラスターエンドポイントに SSL 暗号化を設定します。
注意事項
-
SSL 暗号化により、CPU 使用率と読み書きのレイテンシーが増加します。
-
SSL 暗号化を有効にした後、既存の接続を再確立する必要があります。
-
カスタム証明書の設定または変更、あるいは SSL 暗号化の無効化により、瞬断が発生します。これらの操作はオフピーク時間に行ってください。
ステップ1:カスタム証明書の取得
サーバー証明書または自己署名 CA 証明書の秘密鍵をパスワードで暗号化しないでください。パスワードで保護された秘密鍵を使用すると、SSL 暗号化が有効にできなくなります。
このトピックでは CentOS を例として使用します。Windows では openssl コマンドは同じですが、cp コマンドを手動でのファイルコピーに、vim コマンドを手動でのファイル編集に置き換えてください。
-
自己署名 CA 証明書 (ca.crt) とその秘密鍵 (ca.key) を作成します。
openssl req -new -x509 -days 3650 -nodes -out ca.crt -keyout ca.key -subj "/CN=root-ca" -
次のいずれかの方法を選択して、CSR (証明書署名要求) (
server.csr) とサーバー秘密鍵 (server.key) を生成します。カスタム証明書は、プライマリエンドポイントやクラスターエンドポイントなど、1 つ以上のエンドポイントを保護できます。-
単一のエンドポイントを保護するには、次のコマンドを実行します。
openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=pe-xxx.rwlb.rds.aliyuncs.com"説明pe-xxx.rwlb.rds.aliyuncs.comは例です。保護するプライマリエンドポイントまたはクラスターエンドポイントで置き換えてください。 -
複数のエンドポイントを保護する場合:
-
OpenSSL 設定ファイルを一時的に使用するためにコピーします。
cp /etc/pki/tls/openssl.cnf /tmp/openssl.cnf説明Windows では、
openssl.cnfファイルは OpenSSL のインストールパスの\bin\cnfディレクトリにあります。このファイルを任意の場所にコピーしてください。 -
一時的な
openssl.cnfファイルを編集します。vim /tmp/openssl.cnf -
iを押して編集モードに入り、次の内容を追加します。# この行を [ req ] セクションの末尾に追加します req_extensions = v3_req # [ v3_req ] セクションを追加します [ v3_req ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names # [ alt_names ] セクションを追加します。各 DNS エントリに、保護対象のデータベース接続エンドポイントを指定します。 [ alt_names ] DNS.1 = pc-bpxxxxx.pg.rds.aliyuncs.com DNS.2 = pc-bpxxxxx.pg.rds.aliyuncs.com -
Escキーを押して編集モードを終了し、:wqを入力してファイルを保存し、終了します。 -
CSR (
server.csr) とサーバー秘密鍵 (server.key) を生成します。openssl req -new -nodes -text -out server.csr -keyout server.key -config /tmp/openssl.cnfCSR の生成中に、次の情報の入力を求められます。
パラメーター
説明
例
国名
2 文字の ISO 国コード。
CN
都道府県名
都道府県。
ZheJiang
市区町村名
市区町村。
HangZhou
組織名
会社名。
Alibaba
部署名
部署名。
Aliyun
コモンネーム
SSL 証明書のドメイン名。すでに
openssl.cnfファイルで設定されています。空白のままにします。-
メールアドレス
空白のままにします。
-
チャレンジパスワード
空白のままにします。
-
オプションの会社名
空白のままにします。
-
-
-
-
サーバー証明書 (
server.crt) を生成します。-
単一のエンドポイントを保護する場合:
openssl x509 -req -in server.csr -text -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -
複数のエンドポイントを保護する場合:
openssl x509 -req -in server.csr -text -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -extensions v3_req -extfile /tmp/openssl.cnf
-
ls コマンドを実行して、生成されたファイルを確認します。
# ls
ca.crt ca.key ca.srl server.crt server.csr server.key
主要なファイル:
-
server.crt:サーバー証明書。 -
server.key:サーバー秘密鍵。 -
ca.crt:自己署名 CA 証明書。 -
ca.key:自己署名 CA 証明書の秘密鍵。
ステップ2:SSL 暗号化の有効化
-
PolarDB コンソール にログインします。
-
画面左上で、クラスターが属するリージョンを選択します。
-
対象のクラスターを見つけ、その ID をクリックします。
-
左側のナビゲーションペインで、 を選択します。
-
SSL の設定 タブで、証明書を生成したエンドポイントを選択し、SSL をオンにするか、データベース証明書の設定 をクリックします。
-
データベース証明書の設定 ダイアログボックスで、カスタム証明書 を選択し、サーバー証明書と秘密鍵を貼り付けて、OK をクリックします。
パラメーター
値
サーバー証明書
ステップ1:カスタム証明書の取得 の
server.crtファイルの内容を貼り付けてください。-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- までの全内容を含めてください。サーバー秘密鍵
ステップ1:カスタム証明書の取得 の
server.keyファイルの内容を貼り付けてください。-----BEGIN PRIVATE KEY----- から -----END PRIVATE KEY----- までの全内容を含めてください。
証明書が複数のエンドポイントを保護する場合、保護アドレス セクションに各エンドポイントとその SSL 接続文字列が一覧表示されます。
[SSL 設定] タブには、[SSL 証明書の有効期限]、[SSL 証明書の有効期間]、[クライアント CA 証明書ステータス]、および [認証方式 (クライアント偽装防止)] も表示されます。このタブからは、[クライアント CA 証明書の設定]、[クライアント失効ファイルの設定]、および [認証方式の設定] も行うことができます。
ステップ3:データベースへの接続
または はリモート SSL 接続をサポートしています。詳細については、「」をご参照ください。
ステップ4:(オプション) 証明書の更新
証明書を更新すると、瞬断が発生します。
カスタム証明書を更新するには、SSL の設定 ページでエンドポイントを見つけ、データベース証明書の設定 をクリックします。新しいサーバー証明書と秘密鍵を貼り付け、[OK] をクリックします。
ステップ5:(オプション) SSL 暗号化の無効化
SSL 暗号化を無効にすると、瞬断が発生します。
SSL 暗号化を無効にするには、SSL の設定 ページでエンドポイントを見つけ、SSL をオフにします。SSL の無効化 ダイアログボックスで、OK をクリックします。