DataStax Enterpriseポートのセキュリティ保護

不要なポートをすべてロックダウンして、ノード間通信とクライアント通信を許可するIPセキュリティ規則を作成します。

どのようなネットワーク・セキュリティでも、まず始めにインターネットにさらされているインターフェイスに厳格で適切なファイアウォール規則を設定して、最小限のトラフィックしか内部ネットワークに出入りできないようにします。ファイアウォール・セキュリティは、インフラストラクチャをパブリック・クラウドで実行する場合に特に重要です。クラスターをどこでホストするかにかかわらず、DataStaxでは、クラスター内のすべてのノードにファイアウォールを使用することを強く推奨しています。

SSH以外のすべてのトラフィックをブロックする、制限的な構成から開始します。次に、セキュリティ要件に従って以下のポートを開いてノード間の通信を許可します。これらのポートを開かずにDataStax Enterprise(DSE)をノードで起動すると、ノードはクラスターに参加せず、スタンドアローンのデータベース・サーバーとして機能します。

クラスターがSSLのみを使用する場合は、専用のSSLポートがある非SSLポートを閉じます。非SSLクライアントとの通信が無効にならないようにするために、DataStaxでは、プロダクション環境でファイアウォールを有効にする前にステージング環境で構成をテストすることをお勧めします。

重要: DSE Analyticsノード間のトラフィックは制限しないでください。DSE Sparkマスター・ノードとワーカー・ノード間の通信を許可するには、DSE Analyticsノード間のトラフィックを無制限にする必要があります。

spark-env.sh

spark-env.shファイルのデフォルトの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/spark/spark-env.sh
tarボール・インストール installation_location/resources/spark/conf/spark-env.sh

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

cassandra-env.sh

cassandra-env.shファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra-env.sh
tarボール・インストール installation_location/resources/cassandra/conf/cassandra-env.sh

手順

以下のポートを開きます。
ポート サービス 構成可能ファイル
パブリック側のポート
22 SSH(デフォルト) sshdに関するOSドキュメントを参照してください。
DataStax Enterpriseパブリック・ポート
(ランダム) ドライバーがリッスンするSparkポート。エグゼキューターおよびスタンドアロン・マスターとの通信に使用されます。ポートを明示的に設定するには、Sparkドライバーでspark.driver.portプロパティを設定します。アプリケーションがすでに指定ポートを使用している場合、ポート番号はspark.port.maxRetriesプロパティの設定までインクリメントされます。たとえば、spark.port.portが11000に設定されており、spark.port.maxRetriesが10に設定されている場合、ポート11000へのバインドが試行されます。それが失敗すると、ポート番号をインクリメントして再試行され、ポート11010で停止されます。 DSE Analyticsノード間のトラフィックが制限されていないことを確認してください。
(ランダム) すべてのブロック・マネージャーがリッスンするSparkポート。これらのポートは、ドライバーとエグゼキューターの両方に存在します。ポートを明示的に設定するには、spark.blockManager.portプロパティを設定します。アプリケーションがすでに指定ポートを使用している場合、ポート番号はspark.port.maxRetriesプロパティの設定までインクリメントされます。たとえば、spark.blockManager.portが11000に設定されており、spark.port.maxRetriesが10に設定されている場合、ポート11000へのバインドが試行されます。それが失敗すると、ポート番号をインクリメントして再試行され、ポート11010で停止されます。 DSE Analyticsノード間のトラフィックが制限されていないことを確認してください。
(ローカルホスト名) エグゼキューターおよびスタンドアロン・マスターとの通信用のSparkポート。 DSE Analyticsノード間のトラフィックが制限されていないことを確認してください。
4040 SparkアプリケーションのWebサイトのポートアプリケーションがすでに指定ポートを使用している場合、ポート番号はspark.port.maxRetriesプロパティの設定までインクリメントされます。たとえば、spark.port.maxRetriesが10に設定されている場合、アプリケーションは4041へのバインドを試み、ポート4050に達するまでインクリメントを繰り返します。
5598、5599 DSE File System(DSEFS)クライアントのパブリック/ノード間ポート。 dse.yaml
7080 Sparkマスター・コンソール・ポート。 spark-env.sh
7081 Spark WorkerのWebサイトのポート spark-env.sh
8182 DSE GraphのGremlin Serverのポート。 Graph構成」を参照してください。
8983 DSE Search(Solr)ポートとDemoアプリケーションのWebサイトのポート(Portfolio、Search、Searchログ、Weather Sensors)
8090 Spark JobserverのREST APIポート。 Spark Jobserver」を参照してください。
9042 DSEデータベース・ネイティブ・クライアント・ポート。client_encryption_optionsでネイティブ・トランスポート暗号化を有効にすると、標準ポートに暗号化を使用するか、暗号化されないnative_transport_portの他に専用ポートを使用するオプションが選択可能になります。SSLが有効にされている場合、ネイティブ・クライアントはポート9142を使用します。 cassandra.yaml
9091 DataStax Studioサーバー・ポート。 DataStax Studioのドキュメントを参照してください。構成はdse_studio_install_dir/configuration.yamlで行います。
9077 AlwaysOn SQL WebUIポート。 AlwaysOn SQLの構成」を参照してください。
9142 SSLが有効になっているときのDSEクライアント・ポート。クライアントの暗号化を有効にし、かつnative_transport_port_sslを無効のままにすると、native_transport_portに暗号化が使用されます。native_transport_port_sslnative_transport_portとは別の値に設定すると、native_transport_port_sslでは暗号化が使用され、native_transport_portは暗号化されません。 クライアントとノードを接続するためのSSLの構成」を参照してください。
9999 Spark Jobserver JMXポート。Spark Jobserverが実行されていて、JMXへのリモート・アクセスが必要な場合にのみ必須です。
18080 Sparkアプリケーション履歴サーバーWebサイトのポート。Sparkアプリケーション履歴サーバーが実行されている場合にのみ必要です。spark.history.ui.port設定を使用して変更できます。 Spark履歴サーバー」を参照してください。
OpsCenterパブリック・ポート
8888 OpsCenterのWebサイトのポート。opscenterdデーモンは、ブラウザーから直接送られるHTTP要求をこのポートでリッスンします。「OpsCenterポート・リファレンス」を参照してください。 opscenterd.conf
ノード間ポート
DSEデータベース・ノード間通信ポート
5599 DSEFSノード間通信ポートのプライベート・ポート。クラスターの外部からはアクセスできません。 dse.yaml
7000 DSEノード間クラスター通信ポート。 cassandra.yaml
7001 DSE SSLノード間クラスター通信ポート。 cassandra.yaml
7199 DSE JMXメトリクス監視ポート。ローカル・ノードからの接続のみ許可することが推奨されます。他のノードからの接続を許可する場合は、SSLおよびJMX認証を構成します。 cassandra-env.sh

Java仮想マシンの調整」のJMXオプションを参照してください。

1024 - 65355 JMX再接続/ループバック・ポート。ポート7199の説明を参照してください。

Java仮想マシンの調整」のJMXオプションを参照してください。

DataStax Enterpriseノード間ポート
7077 Sparkマスターのノード間通信ポート。 dse.yaml
8609 ノード間メッセージング・サービスのポート。 dse.yaml
10000 Spark SQL Thriftサーバー・ポート。Spark SQL Thriftサーバーが実行されている場合にのみ必須です。 Spark SQL Thriftサーバーで-pオプションを使用して設定します。