このトピックでは、Secure Socket Layer(SSL)リンク暗号化機能の使用方法について説明します。
背景情報
リンクセキュリティを向上させるために、OceanBase Database では SSL 暗号化を有効にすることができます。これは、トランスポート層でネットワーク接続を暗号化し、通信データのセキュリティを向上させます。 SSL 接続が有効になったら、クライアントがアクセスに SLL 接続を使用するように設定を構成できます。
SSL リンク暗号化が有効になると、無効にすることはできません。証明書の暗号化と復号化は計算リソースを消費するため、インスタンスのパフォーマンスがわずかに低下する可能性があります。インターネットアクセスが利用可能な場合、または伝送暗号化が必要な場合にのみ、SSL リンク暗号化を有効にすることをお勧めします。
SSL リンク暗号化は、ApsaraDB for OceanBase V2.2.76 以降でサポートされています。
現在、SSL リンク暗号化は Standard Edition(Key-Value)クラスタインスタンスでサポートされています。
SSL リンク暗号化は、直接接続アドレスには有効になりません。
手順
ApsaraDB for OceanBase コンソール にログオンします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
リストから対象のクラスタインスタンスを見つけ、クラスタインスタンス名をクリックして [クラスタインスタンスワークスペース] ページに移動します。
左側のナビゲーションウィンドウで、[セキュリティ設定] をクリックします。
[SSL リンク暗号化] タブをクリックします。次の操作を実行できます。
[SSL リンク暗号化] を有効にします。有効化プロセスには約 3 ~ 5 分かかります。 SSL リンク暗号化が有効になったら、一部のエディションで [SSL 接続の強制] を有効にするかどうかを選択できます。 [SSL 接続の強制] オプションは、現在のクラスタインスタンスエディションでサポートされている場合にのみ表示されます。
説明[SSL 接続の強制] が有効になると、非 SSL 接続はブロックされ、以前に作成された非 SSL 接続は失敗します。この場合、接続方法を変更する必要があります。
[CA 証明書のダウンロード] をクリックして、証明書をダウンロードします。
ダウンロードしたパッケージには、次の 3 つのファイルが含まれています。
.p7b ファイル:Windows オペレーティングシステムに CA 証明書をインポートするために使用されます。
.pem ファイル:他のシステムまたはアプリケーションに CA 証明書をインポートするために使用されます。
.jks ファイル:Java アプリケーションに CA 証明書チェーンをインポートするために使用される Java TrustStore 証明書ファイルです。パスワードは OceanBase です。
説明JDK 7 または JDK 8 で .jks ファイルを使用する場合は、デフォルトの JDK セキュリティ設定を変更する必要があります。具体的には、アプリケーションが配置されているサーバーの
jre/lib/security
ディレクトリにある java.security ファイルを見つけ、次のようにファイルを再構成する必要があります。jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224 jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
JDK セキュリティ設定を変更しないと、次のエラーが報告されます。一般的に、他の同様のエラーも JDK セキュリティ設定が原因です。
javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints
[有効期間の更新] をクリックし、[SSL 証明書の有効期間] を更新します。
[SSL 証明書の有効期間の自動更新] を有効にします。このオプションを有効にすると、証明書の有効期限が切れる 7 日前に証明書が自動的に更新されます。各更新は 360 日間有効です。