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 の関数を追加する。

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

アラート

アラートのサンプルアプリには、Security Command Center API の通知 Pub/Sub トピックに接続するコードサンプルが含まれています。このサンプルアプリには、接続と通知の受信を行う機能や、複数の外部システムにアラートとして通知を転送する機能も含まれています。

外部システムの例:

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

Creator

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

Notifier

Security Command Center ツール パッケージには、Security Command Center API とは別に、同様の機能を持つ Notifier のサンプルアプリが含まれています。Notifier アプリは通知 Pub/Sub トピックに登録し、構成されたチャネル(メールや SMS など)に通知を送信します。Notifier アプリは、Creator アプリやクエリビルダー アプリなど、他のアプリから 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 の料金に従って課金されます。

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

  • 単一ログタイプは、次のオカレンスごとに Security Command Center の検出結果を作成します。
    • Google Kubernetes Engine の Binary Authorization
    • アクセスの透明性
    • Compute Engine
    • Cloud Storage
    • サービス ネットワーキング
  • 集計ログタイプでは、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. Google Cloud コンソールに移動します。
    Google Cloud コンソールのページに移動
  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 を取得するには、使用する README を含むツール ファイル ディレクトリに移動します。次に、ディレクトリから cloudshell download readme を実行します。readme はダウンロードするツールの README の名前です。

  • Hello World: scc-hello-world-README-${VERSION}.pdf
  • Creator: 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-splunk-connector-README-${VERSION}.pdf
  • アラート: scc-alerts-app-README-${VERSION}.pdf

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

  • Hello World: scc-hello-world-USER_GUIDE-${VERSION}.pdf
  • Creator: 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-splunk-connector-USER_GUIDE-${VERSION}.pdf
  • アラート: scc-alerts-app-USER_GUIDE-${VERSION}.pdf