既存のデフォルト・セキュア・インストール用の外部証明書の構成ガイドライン
デフォルトのセキュリティ構成と自己署名証明書を使用する既存のセキュアなNoSQL Databaseインストールに外部証明書をインストールするには、次のステップを実行します。
ノート:
この手順では、Javaのキーストアおよびトラストストアの設定がすでに存在することを前提としています。詳細は、Javaキーストアの準備を参照してください。
-
外部証明書を使用する新しいセキュリティ構成を作成します。
security-> config create -root NEW_KVROOT \ -pwdmgr wallet -kspwd password \ -param "client:serverIdentityAllowed=dnmatch (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "internal:serverIdentityAllowed=dnmatch (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "internal:clientIdentityAllowed=dnmatch (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "ha:serverIdentityAllowed=dnmatch (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "ha:clientIdentityAllowed=dnmatch (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)"
ノート:
NEW_KVROOT
は、生成されたセキュリティ・ファイルのみを保持する一時ディレクトリである必要があります。 -
ストレージ・ノードをホストする各サーバーで、キーストアおよびトラストストアのファイルを独自のものに置き換えます。次に例を示します。
copy store.keys store.trust client.trust NEW_KVROOT/security/
-
証明書のインストール中に既存のストアにアクセスできるように保つ必要がない場合は、外部証明書をインストールする方が簡単です。これを行うには、新しいセキュリティ全体のセキュリティ構成を各ストレージ・ノードにコピーしてから、すべてのストレージ・ノードを再起動することのみが必要です。
ノート:
SNAを開始する前に、環境変数
MALLOC_ARENA_MAX
を1
に設定します。MALLOC_ARENA_MAX
を1
に設定すると、メモリー使用量が指定されたヒープ・サイズに制限されます。copy -r NEW_KVROOT/security KVROOT java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar stop -root KVROOT java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar start -root KVROOT&
-
資格証明の変更中に既存のストアにアクセスできるように保つ必要がある場合は、暫定トラストストアを作成し、
dnmatch
フィールドを含むセキュリティ・パラメータを変更する必要があります。構成ホストでconfig merge-trust
コマンドを使用してトラストストア・エントリをマージし、ルート証明書と中間証明書もインポートします。java -Xmx64m -Xms64m \ -jar <KVHOME>/lib/kvstore.jar securityconfig \ config merge-trust -root KVROOT -source-root NEW_KVROOT keytool -import -keystore KVROOT/security/store.trust -file ca.cert.pem -alias root keytool -import -keystore KVROOT/security/store.trust -file intermediate.cert.pem -alias intermediate copy KVROOT/security/store.trust KVROOT/security/client.trust
ノート:
複数ストレージ・ノード・デプロイメントでは、新しい構成を各ホストの新しい構成ディレクトリにコピーし、前述の例のように各ホストでmerge-trustを実行する必要があります。
-
更新されたclient.trustファイルを各ホストのセキュリティ・ディレクトリにコピーして、クライアントがストアへのアクセスに使用できるようにします。
-
処理中にストアにアクセスできるように保つには、セキュリティ構成のdnmatch値を互換性のある値に変更します。各種のdnmatch(xxx)式で指定されている値は、java.util.regex.Patternによって指定される正規表現です。互換性のあるdnmatch値は、
old certificate DN | new certificate DN
の形式である必要があります。この場合、CN=NoSQL|
は、元の自己署名証明書のDNを表します。security-> config update \ -secdir KVROOT/security \ -param "client:serverIdentityAllowed=dnmatch (CN=NoSQL|CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "internal:serverIdentityAllowed=dnmatch (CN=NoSQL|CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "internal:clientIdentityAllowed=dnmatch (CN=NoSQL|CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "ha:serverIdentityAllowed=dnmatch (CN=NoSQL|CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)" \ -param "ha:clientIdentityAllowed=dnmatch (CN=NoSQL|CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, ST=California, C=US)"
クライアントでログイン・プロパティ
oracle.kv.ssl.hostnameVerifier
が設定されている場合、dnmatchフィールドの値を変更します。次に例を示します。oracle.kv.ssl.trustStore=client.trust oracle.kv.transport=ssl oracle.kv.ssl.protocols=TLSv1.2 oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL|CN\=myhost, OU\=TeamA, O\=MyCompany, L\=Unknown, ST\=California, C\=US)
-
すべてのレプリケーション・ノードがオンラインであることを確認してから、次のコマンドを使用して、各ストレージ・ノードを1つずつ再起動します。
java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar stop -root KVROOT
java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar start -root KVROOT&
-
更新されたstore.keysファイルを各ホストのセキュリティ・ディレクトリにコピーします。次に、すべてのレプリケーション・ノードがオンラインであることを確認し、次のコマンドを使用して、各ストレージ・ノードを1つずつ再起動します。
java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar stop -root KVROOT
java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar start -root KVROOT&
-
すべてのストレージ・ノードについて、廃止された証明書
mykey
をstore.trustから削除します。また、次のコマンドを使用して、新しい証明書mykey_2
の名前をmykey
に変更します。keytool -delete -keystore KVROOT/security/store.trust \ -alias mykey
keytool -changealias -keystore \ KVROOT/security/store.trust -alias mykey_2 -destalias mykey