Security Command Center ツールの設定

>

このページでは、Security Command Center ツール アプリ パッケージをインストールするように Google Cloud プロジェクトを準備する方法について説明します。これらのアプリは、組織で Security Command Center を使用できる方法を示す新機能を追加します。

これらのアプリは、Security Command Center プラットフォームの統合またはアドオンの開発方法のデモを行います。サードパーティのセキュリティ ソリューション開発者である場合、または組織がなんらかの具体的なものを必要とする場合は、これらのサンプルアプリが特に役立ちます。

概要

Security Command Center ツールのパッケージには、次のコンポーネントが含まれています。

Hello World

Hello World は、組織のアセットやセキュリティ プロバイダの検出を取得するために Security Command Center API を呼び出す小規模なサンプルアプリです。このアプリは Cloud Functions を使用して、Security Command Center API と統合し、Security Command Center クエリに基づいて次のセキュリティ ワークフローをトリガーします。

  • クエリ パラメータと結果をログに記録します。
  • インスタンスへの SSH 接続を許可するファイアウォール ルールを無効にする。
  • Cloud Storage バケットへのアクセス権を削除する。
  • インスタンスに属するディスクごとにスナップショットを作成する。

Hello World には、小規模な Cloud Functions のサンプル ライブラリも含まれており、これによって Pub/Sub メッセージで、次のアクションをプログラムでトリガーできます。

  • ファイアウォールの修理
  • VM のスナップショット
  • バケットの ACL の変更

Hello World アプリのコードを次のような他の動作の開始点として使用できます。

  • Cloud Scheduler を使用して Pub/Sub トピックを定期的に呼び出し、セキュリティ ワークフローをトリガーする。
  • クエリ結果をデータベースに保存するか、通知として別のシステムに送信する。
  • 別の Google API を呼び出す新しい Cloud Functions の関数を追加する。

プロアクティブ アラートを受け取る場合、Security Command Center には、このページの作成者と Notifier のサンプルの代わりに使用できる一般提供の通知機能があります。

アラート

アラートのサンプルアプリでは、Security Command Center API の通知 Pub/Sub トピックに接続する方法のコードサンプルが提供されています。サンプルアプリには、接続方法、通知を受け取る方法、アラートとして通知を複数の外部システムに転送する方法も含まれます。

外部システムの例は次のとおりです。

  • SendGrid: メール用
  • Twilio: SMS メッセージ用
  • Jira: 課題の作成用
  • Slack: インスタント メッセージ用
  • Hangouts Chat: インスタント メッセージ用

作成者

組み込みの通知機能を使用して、Security Command Center からの通知を管理することをおすすめします。

作成者サンプルアプリは、定期的に Security Command Center データをクエリし、その結果を通知 Pub/Sub トピックに送信します。作成者アプリでは、Security Command Center APIfilterreadTimecompareDuration パラメータの使用方法の例が用意されています。

Notifier

Notifier サンプルアプリを使用するのではなく、このページのアラート サンプルアプリの使用をおすすめします。このアプリは Security Command Center API 通知機能で直接動作します。

Security Command Center ツールのパッケージには、Security Command Center API とは切り離された、類似の機能を持つ Notifier サンプルアプリが含まれています。Notifier アプリは通知 Pub/Sub トピックをサブスクライブし、メールや SMS などの構成済みチャネルに通知を送信します。Notifier アプリは、クリエイター アプリやクエリビルダー アプリなど、他のアプリからの Security Command Center のクエリ結果を参照します。

同じ通知 Pub/Sub トピックに登録する独自のアプリケーションを開発し、受信したメッセージの処理方法をカスタマイズできます。たとえば、結果を処理して組織のいずれかの内部システムに送信する、またはその結果をさらに分析するために指定したデータベースに保存することができます。

クエリビルダー

クエリビルダー アプリでは、ウェブ アプリケーション インターフェースを使用して、Security Command Center データに対する高度な複数ステップのクエリを作成し、スケジュール設定できます。クエリ結果は、他のアプリがそれらの結果を使用できる通知 Pub/Sub トピックに送信できます。クエリ結果に Security Command Center セキュリティ マークを追加するようにクエリビルダーを構成することもできます。

たとえば、ポート 22 を許可するネットワーク ファイアウォールを定期的に検索するようにクエリのスケジュールを設定します。その後、クエリビルダーを使用して結果を Security Command Center にマークし、適切なアクションを実行できるようにセキュリティ チームに通知します。

監査ログ

監査ログアプリは、エクスポート シンクを介して Cloud Audit Logs のログを取り込むことができ、Security Command Center のセキュリティに関する知見を作成できます。このアプリには、ブロックされたデプロイとブレークグラスのシナリオに対する、アクセスの透明性アラートおよび Binary Authorization アラートの統合が含まれています。監査ログアプリはストリーミング Dataflow ジョブです。監査ログアプリを使用すると、Dataflow の料金に従って課金されます。

このアプリでは、単一および集計ログタイプが作成されます。

  • 1 つのログタイプは、次のオカレンスごとに Security Command Center の知見を作成します。
    • Google Kubernetes Engine の Binary Authorization
    • アクセスの透明性
    • Compute Engine
    • クラウド ストレージ
    • サービス ネットワーキング
  • 集計されたログタイプでは、Dataflow 期間内に検出結果をグループ化し、Security Command Center の知見を作成します。
    • Identity and Access Management(IAM)

Splunk コネクタ

Splunk コネクタアプリは、Security Command Center API を使用して、組織のアセットと知見をエクスポートします。Security Command Center のデータをフィルタするようにアプリを構成して、エクスポートされるデータを制限できます。たとえば、特定のタイプの知見のみを検索できます。アプリはスケジュールに基づいて実行され、Splunk Server アドオンに接続されている Pub/Sub トピックに結果を送信します。

スクリプトの設定

Security Command Center ツールのパッケージには、一連のコンパニオン スクリプトとユーティリティが含まれています。このスクリプトとユーティリティは、アプリごとに必要な Google Cloud インフラストラクチャを作成するために、インストール中に使用され、アプリのデプロイに役立ちます。

これらのスクリプトは以下を実行します。

  • プロジェクトの作成
  • サービス アカウントを作成する
  • SSL 証明書を生成する
  • アプリの展開

このガイドでは、設定スクリプトを使用して Security Command Center ツールをインストールするためのコマンド実行方法について詳しい手順を説明します。

図 1 に、Security Command Center ツールの概要を示します。設定スクリプトは含まれません。

Security Command Center ツールの概要図。
図 1: 各ツールが Security Command Center とやり取りする方法の説明を含めた Security Command Center ツールの図

始める前に

このガイドを完了するには、次の準備が必要です。

  • Security Command Center が有効であるアクティブな Google Cloud 組織
  • 有効な Cloud 請求先アカウント
  • Security Command Center API へのアクセスに使用するプロジェクト ID。このプロジェクトでは、securitycenter.googleapis.com API を有効にする必要があります。
  • 組織レベルでの、次の Identity and Access Management のロール
    • 請求先アカウント ユーザー - roles/billing.user
    • DNS 管理者 - roles/dns.admin
    • 組織管理者 - roles/resourcemanager.organizationAdmin
    • 組織のロールの管理者 - roles/iam.organizationRoleAdmin
    • 組織のロールの閲覧者 - roles/iam.organizationRoleViewer
    • プロジェクト作成者 - roles/resourcemanager.projectCreator
    • Pub/Sub パブリッシャー - roles/pubsub.publisher
    • セキュリティ センター管理者 - roles/securitycenter.admin
    • サービス アカウント管理者 - roles/iam.serviceAccountAdmin
    • サービス アカウント キー管理者 - roles/iam.serviceAccountKeyAdmin
    • Service Management 管理者 - roles/servicemanagement.admin

Security Command Center ツールのインストール

Security Command Center ツールをインストールするには、以下の手順を行い、環境を準備します。このガイドを完了すると、ツールに含まれる README に従って各ツールを個別にインストールできます。

ツールをインストールするには Cloud Shell を使用する必要があります。Cloud Shell を使用すると、ブラウザからコマンドラインで直接 Google Cloud リソースにアクセスできます。

ツール パッケージを入手する

次のコマンドを実行してツール パッケージをダウンロードし、作業ディレクトリを設定します。

  1. Cloud Console に移動します。
    [Cloud Console] ページに移動
  2. [Cloud Shell をアクティブにする] をクリックします。
  3. 使用するツールのバージョンの名前を取得します。これらはタイムスタンプと一緒に保存されるため、Cloud Storage バケットの内容を表示する必要があります。

       # list available versions
       gsutil ls gs://cloud-scc-beta-example-apps-download/
    
  4. 作業ディレクトリとダウンロードするツール バージョンの環境変数を設定します。

    1. Security Command Center ツールのリリース バージョン:

        # the Cloud SCC tools release version you want to download, for example 3.4.0
        export VERSION=release-version
      
    2. ツール バージョンのファイル名:

        # the filename for the tools version you want to download,
        # for example 3.4.0-20190418T152241Z-001.zip
        export FILENAME=filename
      
    3. 作業ディレクトリのパス:

        # directory to unzip the installation zip files
        export WORKING_DIR=${HOME}/scc-tools-install
      
  5. 作業ディレクトリの作成:

       # create the working directory
       mkdir $WORKING_DIR
    
  6. 作業ディレクトリへの移動:

       # go to the working directory
       cd $WORKING_DIR
    
  7. 次のコマンドを実行して Security Command Center ツールのファイルをダウンロードします。

       gsutil cp gs://cloud-scc-beta-example-apps-download/${FILENAME} .
    
  8. Security Command Center ツールのファイルを解凍します。

       unzip -qo ${FILENAME} -d .
    
  9. 解凍したツールのファイルに含まれている README ファイルをダウンロードします。

       cloudshell download ${VERSION}/README-${VERSION}.pdf
    
  10. ダウンロードした README-version.pdf の手順を行って設定を完了します。

README を完了したら、ツール インストール ガイドを使用して任意の Security Command Center ツールをインストールできます。

インストール ガイド

ダウンロードしたツール パッケージには、各アプリのインストール手順を含む README が含まれています。README を取得するには、ツールのファイル ディレクトリから cloudshell download readme を実行します。ここで、readme はダウンロードするツールの README の名前です。

  • Hello World: scc-hello-world-README-${VERSION}.pdf
  • 作成者: scc-creator-README-${VERSION}.pdf さん
  • クエリビルダー: scc-query-builder-README-${VERSION}.pdf
  • Notifier: scc-notifier-README-${VERSION}.pdf
  • 監査ログ: scc-audit-logs-README-${VERSION}.pdf
  • Splunk コネクタ: scc-connector-README-${VERSION}.pdf

アプリをインストールすると、ユーザーガイドでアプリの詳細情報を確認できます。ユーザーガイドを取得するには、ツールのファイル ディレクトリから cloudshell download user-guide を実行します。ここで、user-guide は、ダウンロードするツールのユーザーガイドの名前です。

  • Hello World: scc-hello-world-USER_GUIDE-${VERSION}.pdf
  • 作成者: scc-creator-USER_GUIDE-${VERSION}.pdf さん
  • クエリビルダー: scc-query-builder-USER_GUIDE-${VERSION}.pdf
  • Notifier: scc-notifier-USER_GUIDE-${VERSION}.pdf
  • 監査ログ: scc-audit-logs-USER_GUIDE-${VERSION}.pdf
  • Splunk コネクタ: scc-connector-USER_GUIDE-${VERSION}.pdf