OpsCenterとDataStaxエージェントでクライアントとノード間の暗号化を使用したDSEへの接続

クライアントとノード間の暗号化が有効な場合にDSEに接続するためのOpsCenterとDataStaxエージェントの設定手順。

opscenterdマシンとDataStaxエージェントは、各DSEマシンに対するクライアントとして機能します。したがって、opscenterdとDataStaxエージェントは、SSLハンドシェイク処理中に独自のキーストア(証明書を提示するため)とトラストストア(DSEサーバー証明書を検証するため)を使用する必要があります。
注: 双方向認証が有効な場合、DSEはトラストストアを使用してopscenterdとDataStaxエージェントからのトラフィックを確認する必要があります。
OpsCenterとDataStaxエージェントが一方向または双方向認証を使用してクライアントとノード間の暗号化を使用するように設定するには、以下の手順に従います。

始める前に

  • クライアントとノード間の暗号化がDSEクラスターで有効になっている必要があります。
  • キーストアとトラストストア(任意)がすべてのDSEノードに対して作成されている必要があります。詳細については、DSEドキュメントの「SSL証明書の設定」を参照してください。
1. クライアントとノード間の暗号化
OpsCenterとDataStaxエージェントのクライアントとノード間の暗号化

cluster_name.conf

cluster_name.confファイルの場所は、インストールのタイプによって異なります。

  • パッケージ・インストール:/etc/opscenter/clusters/cluster_name.conf
  • tarボール・インストール:install_location/conf/clusters/cluster_name.conf

手順

  1. opscenterdマシン上でキーストアを作成します。
    keytool -genkey -alias opscenter -keyalg RSA -keypass password -storepass password -keystore opscenter.jks
    このコマンドは、opscenter.jksという名前のキーストアを現在のディレクトリーに作成します。
  2. opscenterd証明書をエクスポートします。
    keytool -export -alias opscenter -storepass password -file opscenter.crt -keystore opscenter.jks
    このコマンドは、opscenter.jksに格納されているopscenter.crtという名前の証明書を現在のディレクトリにエクスポートします。
  3. opscenterdマシンにトラストストアを作成し、各ノードの公開証明書をインポートします。
    keytool -import -v -trustcacerts -alias node1 -file node1.crt -keystore truststore.jks -keypass password
    このコマンドは、node1の証明書をインポートすることによってトラストストアを作成します。各ノードの証明書を使用して、このコマンドを繰り返します。
  4. オプション:
    注: この手順は任意であり、DSEのクライアントとノード間の暗号化を使用する際に、双方向認証が有効になっている場合にのみ実行する必要があります。これはクラスターのすべてのノードで実行する必要があります。
    opscenterd証明書をすべてのDSEノードのトラストストアにインポートします。
    keytool -import -v -trustcacerts -alias opscenter -file opscenter.crt -keystore dse_truststore.jks -keypass password
    このコマンドは、opscenter.crt証明書をdse_truststore.jksという名前のトラストストアにインポート(および信頼)します。
  5. オプション:
    注: 6.1.1より前のバージョンのOpsCenterでは、DataStaxエージェントは1つのファイルをキーストアとトラストストアの両方に使用します。したがって、各エージェントは、DSEでクライアントとノード間の暗号化を有効にするときに作成されたものと同じトラストストアを再利用できます。追加手順は、DataStaxエージェントが監視しているノードのトラストストアに証明書を追加することだけです。
    DataStaxエージェントがクライアントとノード間の暗号化に統合されたトラストストアとキーストアを使用できるように、DSE証明書をトラストストアにインポートします。ノードごとに手順を繰り返します。
    keytool -import -alias node1 -file node1.crt -keystore dse_truststore.jks -storepass password
    このコマンドはnode1.crtをトラストストア・ファイルdse_truststore.jksにインポートします。これにより、dse_truststore.jksがトラストストアとキーストアの両方になります。すべてのDSEマシンでこのプロセスを繰り返します。
  6. OpsCenterとDataStaxエージェントがクライアントとノード間の暗号化を使用するよう構成します。
    1. OpsCenter Monitoring(OpsCenterモニタリング)のUIの[Edit Cluster Connection Settings]ダイアログを使用して、クライアントとノード間の設定を構成します。UIに値を入力すると、cluster_name.confの対応する構成オプションに値が入力されます。「クラスター設定の構成」を参照してください。
    2. クラスター構成ファイルcluster_name.confを構成します。
      クラスター構成ファイルを編集し、前の手順で作成したSSLキーストアとSSLトラストストアの情報を入力します。
      注: 別のストレージ・クラスターを使用する場合は、ストレージ・クラスター内のノードの証明書とエージェント・マシンの証明書/キーを保持する追加のキーストア/トラストストアを1つ作成する必要があります。前述のキーストア/トラストストアのパスとパスワードは、クラスター構成ファイルの[agents]セクションに指定する必要があります。
      cluster_name.conf
      
      [cassandra]
      # Note: If the truststore and keystore are the same file, enter 
      # the same path/password
      # for both the keystore and truststore
      ssl_keystore = /path/to/keystore/file/on/opsc/machine
      ssl_keystore_password = password_of_keystore
      ssl_truststore = /path/to/truststore/file/on/opsc/machine
      ssl_truststore_password = password_of_truststore
      
      [agents]
      # The agent uses one keystore/truststore file that operates as 
      # both a keystore and a truststore
      #  Applicable to OpsCenter versions earlier than 6.1.1
      ssl_keystore = /path/to/dse/truststore/file/on/agent/machine
      ssl_keystore_password = password_of_keystore
      # The agent has separate keystore and truststore
      # Applicable to OpsCenter versions 6.1.1 and later.
      ssl_truststore = /path/to/trusted/certs 
      ssl_truststore_password = pw_for_agents_to_access_trusted_certs
      
      # Optional if using a separate storage cluster
      storage_ssl_keystore = /path/to/storage_cluster/keystore/file/on/agent/machine
      storage_ssl_keystore_password = password_of_keystore
      # Separate truststore options applicable to OpsCenter versions 6.1.1 and later 
      storage_ssl_truststore = /path/to/trusted/certs
      storage_ssl_truststore_password = pw_for_agents_to_access_trusted_certs
      
      
  7. OpsCenterを再起動します