DataStax Enterpriseポートのセキュリティ保護
不要なポートをすべてロックダウンして、ノード間通信とクライアント通信を許可するIPセキュリティ規則を作成します。
どのようなネットワーク・セキュリティでも、まず始めにインターネットにさらされているインターフェイスに厳格で適切なファイアウォール規則を設定して、最小限のトラフィックしか内部ネットワークに出入りできないようにします。ファイアウォール・セキュリティは、インフラストラクチャをパブリック・クラウドで実行する場合に特に重要です。クラスターをどこでホストするかにかかわらず、DataStaxでは、クラスター内のすべてのノードにファイアウォールを使用することを強く推奨しています。
SSH以外のすべてのトラフィックをブロックする、制限的な構成から開始します。次に、セキュリティ要件に従って以下のポートを開いてノード間の通信を許可します。これらのポートを開かずにDataStax Enterprise(DSE)をノードで起動すると、ノードはクラスターに参加せず、スタンドアローンのデータベース・サーバーとして機能します。
クラスターがSSLのみを使用する場合は、専用のSSLポートがある非SSLポートを閉じます。非SSLクライアントとの通信が無効にならないようにするために、DataStaxでは、プロダクション環境でファイアウォールを有効にする前にステージング環境で構成をテストすることをお勧めします。
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_ssl をnative_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オプションを使用して設定します。 |