目次
ネットワーク・データを暗号化すると、データの機密が保たれ、ネットワーク上で受け渡される平文データを権限のないユーザーが閲覧できなくなります。
Oracle NoSQL Databaseでは、アプリケーションとサーバーの間、コマンドライン・ユーティリティとサーバーの間、さらにサーバー・コンポーネント間のネットワーク・トラフィックの暗号化にSSLベースの暗号化が使用されます。
JMXアクセスにはSSLの使用が必要です。Web管理インタフェースはSSLを介して動作しません。
Oracle NoSQL Databaseでは、単純なSSLキー管理戦略が使用されます。通信の保護には、単一の共有RSA鍵が使用されます。共有鍵モデルでは、securityディレクトリのマスター・コピーが存在し、これが各サーバーにコピーされることを確認する必要があります。すべてのサーバーで-store-security configure
オプションを指定してmakebootconfigを実行しないでください。大部分のサーバーでは、makebootconfigコマンドに-store-security enable
オプションが指定されている必要があります。
共有鍵には、サーバー固有でないサブジェクト識別名を持つ、関連する自己署名証明書があります。自動作成証明書は、識別名CN=NoSQL
で生成されます。
各サーバー・コンポーネントはSSLインタフェースでリスニングし、クライアントおよびそのコンポーネントに接続する他のサーバーに対し、認証性の証拠として共有証明書を提示します。各クライアントおよびサーバー・コンポーネントは、共有証明書のコピーが含まれるJavaトラストストアを使用して、サーバーにより提示された証明書を検証します。
SSL/TLSを使用して保護されているNoSQLインタフェースにアクセスする際には、少なくとも次の情報を指定する必要があります。
クライアントがSSLを使用して接続することを指定する必要があります。このためには、セキュリティ・プロパティoracle.kv.transportを"ssl"に設定します。
サーバー証明書の検証に使用されるJavaトラストストア・ファイルを指定する必要があります。このためには、セキュリティ・プロパティoracle.kv.ssl.trustStoreを設定します。
たとえば、runadmin
をセキュリティ・モードで起動するには、次のコマンドを使用します。
java -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プロパティまたはトラストストアを正しく指定しなかった場合、クライアントはサーバーへの接続に失敗します。