クライアントとクラスター間の接続のセキュリティ保護
クライアントとノード間の暗号化は、クライアント・コンピューターからデータベース・クラスターに転送中のデータをSSLを使用して保護し、クライアントとコーディネーター・ノードの間にセキュアなチャネルを確立します。
クライアントとノード間の暗号化は、クライアント・コンピューターからデータベース・クラスターに転送中のデータをSSL(Secure Sockets Layer)を使用して保護し、クライアントとコーディネーター・ノードの間にセキュアなチャネルを確立します。Kerberosとは異なり、共有認証サービスを設定する必要がありません。
TomcatSolrRunnerがserver.xmlでコネクターを見つけられない場合は、デフォルトのコネクターが作成されます。デフォルトのコネクターは、cassandra.yamlのrpc_addressにバインドされます。
始める前に
- DataStaxでは、JCEのインストールを推奨しています。
- SSL証明書を作成し、SSL証明書の設定を実行します。
手順
-
実稼働クラスター:cassandra.yamlファイルのclient_encryption_optionsセクションで、以下の手順を実行します。
- enabledをtrueに設定します。
- .keystoreファイルと.truststoreファイルへのパスを設定します。
- キーストアとトラストストアを生成するときに使用したパスワードを入力します。
- クライアントの証明書認証を有効にするには、require_client_authをtrueに設定します。
- SSL実稼働環境証明書を使用します。
client_encryption_options: enabled: true keystore: resources/dse/conf/.keystore ## Path to your .keystore file keystore_password: keystore_password ## Password that you used to generate the keystore require_client_auth: true # Set truststore and truststore_password when require_client_auth: true truststore: resources/dse/conf/.truststore ## Path to your .truststore truststore_password: truststore_password ## Password that you used to generate the truststore protocol: ssl algorithm: SunX509 store_type: JKS cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA]
SSLでKerberosを使用する方法については、「CQLシェル(cqlsh)でSSLを使用する」を参照してください。トラストストアとキーストアのパスワードをKMIPで暗号化するには、「テーブル・データの暗号化」を参照してください。 -
開発クラスター:cassandra.yamlファイルのclient_encryption_optionsセクションで、以下の手順を実行します。
- enabledをtrueに設定します。
- キーストアとトラストストアを生成するときに使用したパスワードを入力します。
- .keystoreファイルと.truststoreファイルへのパスを設定します。
- 双方向の証明書認証が必要な場合は、require_client_authをtrueに設定します。双方向の証明書認証を有効にすると、ツールはリモート・ノードに接続できます。
- 「SSL証明書の設定」の手順を完了します。
SSL暗号化を使用してローカル・ノードで
cqlsh
を実行するためのローカル・アクセスでは、require_client_auth
をfalse
に設定できます。client_encryption_options: enabled: true # If enabled and optional is set to true encrypted and unencrypted connections are handled. optional: false keystore: conf/keystore.node0 keystore_password: cassandra require_client_auth: true # Set trustore and truststore_password if require_client_auth is true truststore: conf/truststore.node0 truststore_password: cassandra protocol: TLS algorithm: SunX509 store_type: JKS cipher_suites: [TLS_RSA_WITH_AES_256_CBC_SHA]
-
client_encryption_options
がdse.yamlファイルで設定されている場合は、これらを削除します。 -
JCE Unlimited Strength Jurisdiction Policyを使用していない場合は、プリンシパルを付与したチケットでAES-256が使用されないことを確認します。
プリンシパルを付与したチケットでAES-256が使用される場合は、以下のような警告がログに記録されることがあります。
WARN [StreamConnectionEstablisher:18] 2015-06-22 14:12:18,589 SSLFactory.java (line 162) Filtering out TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA as it isnt supported by the socket
-
DataStax Enterpriseを再起動します。
Tomcat server.xmlファイルのデフォルトの場所は、インストール・タイプによって異なります。
パッケージ・インストールInstaller-Servicesインストール
/etc/dse/tomcat/conf/server.xml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/tomcat/conf/server.xml dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストールInstaller-Servicesインストール
/etc/dse/dse.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/dse/conf/dse.yaml cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストールInstaller-Servicesインストール
/etc/dse/cassandra/cassandra.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/cassandra/conf/cassandra.yaml