SSLモデル

Oracle NoSQL Databaseでは、単純なSSLキー管理戦略が使用されます。通信の保護には、単一の共有RSAキーが使用されます。共有キー・モデルでは、securityディレクトリのマスター・コピーが存在し、これが各サーバーにコピーされることを確認する必要があります。すべてのサーバーで-store-security configureオプションを指定してmakebootconfigを実行しないでください。大部分のサーバーでは、makebootconfigコマンドに-store-security enableオプションが指定されている必要があります。

共有キーには、サーバー固有でないサブジェクト識別名を持つ、関連する自己署名証明書があります。自動作成証明書は、識別名CN=NoSQLで生成されます。

各サーバー・コンポーネントはSSLインタフェースでリスニングし、クライアントおよびそのコンポーネントに接続する他のサーバーに対し、認証性の証拠として共有証明書を提示します。各クライアントおよびサーバー・コンポーネントは、共有証明書のコピーが含まれるJavaトラストストアを使用して、サーバーにより提示された証明書を検証します。

SSL/TLSを使用して保護されているNoSQLインタフェースにアクセスする際には、少なくとも次の情報を指定する必要があります。

  1. クライアントがSSLを使用して接続することを指定する必要があります。このためには、セキュリティ・プロパティoracle.kv.transportを"ssl"に設定します。

  2. サーバー証明書の検証に使用されるJavaトラストストア・ファイルを指定する必要があります。このためには、セキュリティ・プロパティoracle.kv.ssl.trustStoreを設定します。

    たとえば、runadminをセキュリティ・モードで起動するには、次のコマンドを使用します。

    java -Xmx64m -Xms64m \
    -Doracle.kv.security=mylogin.txt \
    -jar KVHOME/lib/kvstore.jar runadmin  

    ここで、ファイルmylogin.txtは、認証用に追加のプロパティ設定が含まれる、client.securityファイルのコピーである必要があります。このファイルには次のような内容が含まれます。

    oracle.kv.auth.username=root
    oracle.kv.auth.wallet.dir=login.wallet
    oracle.kv.transport=ssl
    oracle.kv.ssl.trustStore=client.trust
    oracle.kv.ssl.protocols=TLSv1.2,TLSv1.1,TLSv1
    oracle.kv.ssl.hostnameVerifier=dnmatch(CN\=NoSQL) 

    ノート:

    oracle.kv.transportプロパティまたはトラストストアを正しく指定しなかった場合、クライアントはサーバーへの接続に失敗します。