Security Command Center のデータを Elastic Stack に送信する

このページでは、Docker コンテナを使用せずに Security Command Center の検出結果、アセット、セキュリティ ソースを Elastic Stack に自動的に送信する方法について説明します。また、エクスポートされたデータの管理方法についても説明します。Elastic Stack は、1 つ以上のソースからデータを取り込み、セキュリティ チームがインシデントへの対応を管理してリアルタイム分析を行えるセキュリティ情報イベント管理(SIEM)プラットフォームです。このガイドで説明する Elastic Stack の構成には、次の 4 つのコンポーネントが含まれています。

  • Filebeat: 仮想マシン(VM)などのエッジホストにインストールされ、データを収集して転送するように構成できる軽量エージェント
  • Logstash: データを取り込み、そのデータを必須項目にマッピングして、結果を Elasticsearch に転送する変換サービス
  • Elasticsearch: データを保存する検索データベース エンジン
  • Kibana: データの可視化と分析を可能にする強力なダッシュボード

最新リリースにアップグレードする

最新のリリースにアップグレードするには、GoApp モジュールを含む Docker コンテナ イメージをデプロイする必要があります。詳細については、Docker と Elastic Stack を使用してアセットと検出結果をエクスポートするをご覧ください。

最新のリリースにアップグレードするには、次の手順を行います。

  1. //etc/systemd/system/ から go_script.service を削除します。
  2. GoApp フォルダを削除します。
  3. Logstash 構成を削除します。
  4. logstash2.service を削除します。
  5. filebeat.service を削除します。
  6. 必要に応じて、新しいダッシュボードをインポートする際の問題を避けるために、Kibana から既存のダッシュボードを削除します。
    1. Kibana アプリケーションを開きます。
    2. ナビゲーション メニューで、[Stack Management] に移動し、[Saved Objects] をクリックします。
    3. Google SCC を検索します。
    4. 削除するダッシュボードをすべて選択します。
    5. [Delete] をクリックします。
  7. サービス アカウントにログ構成書き込みroles/logging.configWriter)のロールを追加します。
  8. 監査ログ用の Pub/Sub トピックを作成します。
  9. 別のクラウドに Docker コンテナをインストールする場合は、サービス アカウント キーを使用する代わりに Workload Identity 連携を構成します有効期間の短いサービス アカウント認証情報を作成し、認証情報の構成ファイルをダウンロードする必要があります。
  10. GoApp モジュールをダウンロードするの手順を完了します。
  11. Docker コンテナをインストールするの手順を完了します。
  12. 監査ログの権限を更新するの手順を完了します。
  13. Kibana ダッシュボードのインポートの説明に沿って、すべてのダッシュボードをインポートします。

SIEM 統合を管理するには、Docker と Elastic Stack を使用してアセットと検出結果をエクスポートするの手順を行います。

サービスとログを管理する

このセクションでは、GoApp モジュールログを表示し、モジュールの構成を変更する方法について説明します。

このセクションの内容は、2022 年 2 月に公開された GoogleSCCElasticIntegration インストール パッケージからインストールした GoApp モジュールにのみ適用されます。最新情報については、最新リリースへのアップグレードをご覧ください。

  1. サービスのステータスを確認します。

      systemctl | grep go_script
    
  2. 実行失敗に関する情報やその他のサービスの情報を含む、現在の作業ログを確認します。

      sudo journalctl -f -u go_script.service
    
  3. 過去と現在の作業ログを確認します。

      sudo journalctl -u go_script.service
    
  4. go_script.service のログのトラブルシューティングまたは確認を行います。

      cat go.log
    

GoApp モジュールをアンインストールする

Elastic Stack 用の Security Command Center データを取得する必要がなくなった場合は、GoApp モジュールをアンインストールします。

このセクションの内容は、2022 年 2 月に公開された GoogleSCCElasticIntegration インストール パッケージからインストールした GoApp モジュールにのみ適用されます。最新情報については、最新リリースへのアップグレードをご覧ください。

  1. //etc/systemd/system/ から go_script.service を削除します。
  2. アセットと IAM ポリシーのフィードを削除します。
  3. アセット、IAM ポリシー、検出結果の Pub/Sub を削除します。
  4. 作業ディレクトリを削除します。

Elastic Stack アプリケーションを構成する

このセクションでは、Elastic Stack アプリケーションで Security Command Center データを取り込むように構成する方法について説明します。この手順では、Elastic Stack を正しくインストールして有効にしており、アプリケーション環境で root 権限を持っていることを前提としています。

このセクションの内容は、2022 年 2 月に公開された GoogleSCCElasticIntegration インストール パッケージからインストールした GoApp モジュールにのみ適用されます。最新情報については、最新リリースへのアップグレードをご覧ください。

Logstash サービスログを表示する

現在のログを表示するには、次のコマンドを実行します。

    sudo journalctl -f -u logstash2.service

履歴のログを表示するには、次のコマンドを実行します。

    sudo journalctl -u logstash2.service

サービスをアンインストールする

  1. Logstash 構成を削除します。
  2. logstash2.service を削除します。

Filebeat を設定する

このセクションの内容は、2022 年 2 月に公開された GoogleSCCElasticIntegration インストール パッケージからインストールした GoApp モジュールにのみ適用されます。最新情報については、最新リリースへのアップグレードをご覧ください。

Filebeat サービスログを表示する

現在のログを表示するには、次のコマンドを実行します。

    sudo journalctl -f -u filebeat.service

履歴のログを表示するには、次のコマンドを実行します。

    sudo journalctl -u filebeat.service

サービスをアンインストールする

  1. logstash 構成を削除します。
  2. filebeat.service を削除します。

Kibana ダッシュボードを表示する

Elastic Stack のカスタム ダッシュボードを使用すると、検出結果、アセット、セキュリティ ソースを可視化して分析できます。ダッシュボードには重要な検出結果が示され、セキュリティ チームが修正の優先順位を決めるのに役立ちます。

このセクションの内容は、2022 年 2 月に公開された GoogleSCCElasticIntegration インストール パッケージからインストールした GoApp モジュールにのみ適用されます。最新情報については、最新リリースへのアップグレードをご覧ください。

概要

[Overview] ダッシュボードには、重要度レベル、カテゴリ、状態別に、組織で見つかった検出結果の合計数を表示する一連のグラフが表示されます。検出結果は、Security Command Center の組み込みサービス(Security Health AnalyticsWeb Security ScannerEvent Threat DetectionContainer Threat Detection)および有効にした統合サービスからコンパイルされます。

追加のグラフには、最も多くの検出結果を生成したカテゴリ、プロジェクト、アセットが表示されます。

アセット

[Assets] ダッシュボードには、Google Cloud アセットを示すテーブルが表示されます。テーブルには、アセットのオーナー、リソースタイプとプロジェクトごとのアセット数、最近追加または更新されたアセットが表示されます。

アセットデータを期間、リソース名、リソースタイプ、オーナー、プロジェクトでフィルタし、特定のアセットの検出結果にドリルダウンできます。アセット名をクリックすると、Google Cloud Console の Security Command Center の [アセット] ページにリダイレクトされ、選択したアセットの詳細が表示されます。

検出結果

[Findings] ダッシュボードには、最近の検出結果を示すテーブルが表示されます。データをリソース名、カテゴリ、重大度でフィルタできます。

テーブル列には、検出結果の名前が organizations/<var>ORGANIZATION_ID</var>/sources/<var>SOURCE_ID</var>/findings/<var>FINDING_ID</var>、カテゴリ、リソース名、イベント時間、作成時間、親名、親 URI、セキュリティ マークの形式で表示されます。親 URI の形式が検出結果名と一致します。検出結果の名前をクリックすると、Google Cloud Console の Security Command Center の [検出結果] ページにリダイレクトされ、選択した検出結果の詳細が表示されます。

ソース

[Sources] ダッシュボードには、検出結果とセキュリティ ソースの総数、検出結果の数(ソース名別)、すべてのセキュリティ ソースを含むテーブルが表示されます。テーブルの列には、名前、表示名、説明が含まれています。

ダッシュボードを編集する

列を追加する

  1. ダッシュボードに移動します。
  2. [Edit] をクリックし、[Edit visualization] をクリックします。
  3. [Add sub-bucket] で、[Split rows] を選択します。
  4. リストで [Aggregation] を選択します。
  5. [Descending] プルダウン メニューで、昇順または降順を選択します。[size] フィールドにテーブルの最大行数を入力します。
  6. 追加する列を選択します。
  7. 変更を保存します。

列を削除する

  1. ダッシュボードに移動します。
  2. [Edit] をクリックします。
  3. 列を非表示にするには、列名の横にある表示アイコン(目のアイコン)をクリックします。列を削除するには、列名の横にある [X](削除)アイコンをクリックします。

次のステップ