既存のデフォルト・セキュア・インストール用の外部証明書の構成ガイドライン

デフォルトのセキュリティ構成と自己署名証明書を使用する既存のセキュアなNoSQL Databaseインストールに外部証明書をインストールするには、次のステップを実行します。

ノート:

この手順では、Javaのキーストアおよびトラストストアの設定がすでに存在することを前提としています。詳細は、Javaキーストアの準備を参照してください。

  1. 外部証明書を使用する新しいセキュリティ構成を作成します。

    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は、生成されたセキュリティ・ファイルのみを保持する一時ディレクトリである必要があります。

  2. ストレージ・ノードをホストする各サーバーで、キーストアおよびトラストストアのファイルを独自のものに置き換えます。次に例を示します。

    copy store.keys store.trust client.trust NEW_KVROOT/security/ 
  3. 証明書のインストール中に既存のストアにアクセスできるように保つ必要がない場合は、外部証明書をインストールする方が簡単です。これを行うには、新しいセキュリティ全体のセキュリティ構成を各ストレージ・ノードにコピーしてから、すべてのストレージ・ノードを再起動することのみが必要です。

    ノート:

    SNAを開始する前に、環境変数MALLOC_ARENA_MAX1に設定します。MALLOC_ARENA_MAX1に設定すると、メモリー使用量が指定されたヒープ・サイズに制限されます。

    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& 
  4. 資格証明の変更中に既存のストアにアクセスできるように保つ必要がある場合は、暫定トラストストアを作成し、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を実行する必要があります。

  5. 更新されたclient.trustファイルを各ホストのセキュリティ・ディレクトリにコピーして、クライアントがストアへのアクセスに使用できるようにします。

  6. 処理中にストアにアクセスできるように保つには、セキュリティ構成の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)
  7. すべてのレプリケーション・ノードがオンラインであることを確認してから、次のコマンドを使用して、各ストレージ・ノードを1つずつ再起動します。

    java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar stop -root KVROOT 
    java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar start -root KVROOT&
  8. 更新された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&
  9. すべてのストレージ・ノードについて、廃止された証明書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