セキュリティに関する公開情報

ここでは、Dataflow に関連するすべてのセキュリティに関する公開情報について説明します。

最新のセキュリティに関する公開情報を取得するには、次のいずれかを行います。

  • このページの URL をフィード リーダーに追加する
  • フィードの URL(https://cloud.google.com/feeds/dataflow-security-bulletins.xml)をフィード リーダーに直接追加する

GCP-2024-040

公開日: 2024 年 7 月 3 日

説明 重大度 メモ

先日、OpenSSH において、リモートコード実行の脆弱性である CVE-2024-6387 が発見されました。Dataflow ジョブは、CVE-2024-6387 に対して脆弱な OpenSSH バージョンの OS イメージを使用する VM を作成する場合があります。この脆弱性により、攻撃者は Dataflow ワーカー VM へのルートアクセスを取得できる可能性があります。緩和策として、パブリック IP アドレスとインターネットに公開された SSH を持つ Dataflow ワーカー VM を最優先に処理する必要があります。

必要な対策

更新後の OpenSSH を含むパッチ適用済みの Dataflow VM イメージは、近日中に利用可能になります。パッチ適用済みイメージが利用可能になり次第、このセキュリティ情報は更新されます。次の手順でパイプラインの公開状態を確認し、必要に応じて説明されている緩和策を適用することをおすすめします。

Dataflow ワーカー VM への SSH を禁止する

この操作は、SSH の現在の脆弱性と将来の脆弱性に対する最も効果的な緩和策です。

Dataflow の機能やほとんどの Dataflow の問題のデバッグに、Dataflow ワーカー VM への SSH アクセスは必要ありません。

Dataflow VM で SSH を無効にするには、次の Google Cloud CLI コマンドを使用します。

gcloud compute firewall-rules create block-ssh-dataflow \
   --network=NETWORK \
   --action=DENY --priority=500 \
   --rules=tcp:22 \
   --target-tags=dataflow

パッチ適用済みのイメージがリリースされた後に、このアクションを元に戻すには、gcloud compute firewall-rules delete block-ssh-dataflow コマンドを使用します。

パッチのリリース後に長時間実行されているストリーミング パイプラインを更新または再起動する

このアクションは、この公開情報に記載されている特定の脆弱性に対処します。

パッチがリリースされた後に実行する新しいバッチジョブは、自動的にパッチ適用済みの VM イメージを使用します。ストリーミング パイプラインの場合、パッチ適用済みの VM イメージを使用するには、ジョブを手動で更新するか、ジョブを再起動する必要があります。

パブリック IP アドレスを持つワーカー VM がある Dataflow ジョブを特定する

アクセスがファイアウォールでブロックされていない限り、パブリック IP アドレスを持つ Dataflow ワーカー VM の SSH ポートはインターネットに公開されています。

外部 IP アドレスを持つ VM を起動した Dataflow ジョブのリストを取得するには、次の gcloud CLI コマンドを使用します。

gcloud --project PROJECT_ID compute instances list \
   --filter "EXTERNAL_IP!='' AND STATUS='RUNNING' \
              AND description ~ 'Created for Dataflow job'" \
   --format="list (description)" | sort -u

プロジェクト内の外部 IP アドレスを持つすべての VM のリストを調べるには、次の gcloud CLI コマンドを使用します。

gcloud --project PROJECT_ID compute instances list \
   --filter "EXTERNAL_IP!='' AND STATUS='RUNNING'"

Dataflow ジョブでパブリック IP を無効にする

この手順により、SSH ポートが公共のインターネットに公開されなくなります。この構成では、ファイアウォールでアクセスがブロックされていない限り、このネットワークにアクセスできる他のユーザーに対してポートが開いたままになります。

公共のインターネットにアクセスしない Dataflow パイプラインは、パブリック IP アドレスを使用する必要はありません。

パブリック IP アドレスを使用しているパイプラインが存在し、公共のインターネットにアクセスする必要がない場合は、これらのパイプラインの外部 IP アドレスをオフにします。手順については、外部 IP アドレスをオフにするをご覧ください。

対処されている脆弱性

CVE-2024-6387 の脆弱性は、リモートシェルへのアクセスに使用できる競合状態を悪用するもので、攻撃者は、Dataflow ワーカー VM への root アクセス権を取得できる可能性があります。本情報の公開時点において、悪用は困難であり、攻撃にはマシン 1 台あたり数時間かかると考えられています。悪用されたという報告は確認されていません。

CVE-2024-6387