ArcSight を Google SecOps と統合する

このドキュメントでは、ArcSight を Google Security Operations と統合する方法について説明します。

始める前に

Google SecOps で ArcSight ESM 統合を構成する前に、環境がコネクタ、ジョブ、アクションの接続と権限の要件を満たしていることを確認します。

インテグレーション用に環境を準備するには、次の前提条件を満たします。

  1. 基本統合の要件を検証して、ネットワークのライン オブ サイトとプログラムによる認証を確立します。

  2. セキュリティ イベントまたは関連付けケースを Google SecOps に取り込むには、コネクタ固有の要件を構成します。

  3. ケース管理とハンドブックの自動化にきめ細かい権限を付与するには、ジョブとアクション固有の要件を構成します。

  4. 構成ワークフローを確認して、ArcSight ESM と Google SecOps 間のプロビジョニング シーケンスを理解します。

基本統合の要件

ベース統合は、すべての Google SecOps アクション、コネクタ、ジョブで使用されるコア HTTPS 接続と認証セッションを確立します。

環境で次の基本的な要件を構成します。

  1. ネットワークのライン オブ サイト: Google SecOps インスタンスまたはリモート エージェントから管理ポート(デフォルト: 8443/TCP)の ArcSight ESM サーバーへの HTTPS 通信を有効にします。

  2. REST API アクセス: ArcSight ESM REST Web Services API Guide に記載されているように、https://<esm-host>:8443/www/manager-service/rest/ と https://<esm-host>:8443/www/core-service/rest/ にある ArcSight ESM REST サービスへの直接アクセスを確認します。

  3. SSL/TLS 信頼: ArcSight ESM デプロイでプライベートまたは自己署名証明書認証局を使用している場合は、Base64 エンコードされた PEM ルートと中間 CA 証明書ファイルを提供します。

  4. サービス アカウントのプロパティ: ユーザータイプ Web User(インタラクティブなコンソール シート ライセンスの消費を避けるため推奨)または Normal User を使用して専用の ArcSight サービス アカウントを作成し、Login Enabled がアクティブに設定されていることを確認します。

    ユーザー管理の手順については、ArcSight ESM 管理者ガイドの「ユーザーの管理」セクションを参照してください。

  5. ベースグループ メンバーシップ: サービスユーザーを専用のユーザー グループ(SecOps_Integration_Group など)に割り当てて、すべてのダウンストリーム オペレーション権限、リソース ACL、イベント フィルタを一元的に管理します。

    グループ構成の手順については、ArcSight ESM 管理者ガイドの「ユーザー グループの管理」セクションをご覧ください。

コネクタ固有の要件

取り込みコネクタは、アラートとセキュリティ イベントを Google SecOps に取り込みます。これには、ベース統合を超える特別なデータ スコーピングとオペレーション権限が必要です。

選択した取り込みコネクタに対応する前提条件を構成します。

  1. イベント フィルタの割り当て: イベント フィルタ(All Events やスコープ設定された組織フィルタなど)を統合ユーザー グループに割り当てて、コネクタが取得できるセキュリティ イベントのデータスコープを定義します。

    グループレベルのイベント フィルタを構成する手順については、ArcSight ESM 管理者ガイドをご覧ください。

  2. ArcSight - Security Events Connector: Security Events: Inspect、Reports: Inspect、Reports: Execute のオペレーション権限を付与し、相関イベントをエクスポートする ArcSight の特定レポート リソースに Read と Execute の ACL 権限を割り当てます。

    リソース ACL の手順については、ArcSight ESM Console User's Guide の「Managing Access Control on Resources」セクションをご覧ください。

  3. ArcSight ESM Connector: ArcSight ESM Console ユーザーガイドに従って、Security Events: Inspect オペレーション権限と Cases: Inspect オペレーション権限を付与し、ターゲット ケース フォルダと相関リソースに Read ACL 権限を割り当てます。

ジョブとアクション固有の要件

スケジュール設定されたジョブとプレイブック アクションは、ベース統合接続を継承し、操作する特定の ArcSight リソースに応じて、きめ細かいオペレーション権限とオブジェクト レベルの ACL 権限を必要とします。

デプロイする統合機能に基づいて、権限と ACL を付与します。

  1. アクションの有効化: ハンドブックのアクションでは、Google SecOps で個別の接続構成は必要ありません。必要なオペレーション権限とリソース ACL を ArcSight のサービス アカウント グループに付与すると、すぐにプレイブックで使用できるようになります。

  2. Close Cases ジョブ: ArcSight ESM Console ユーザーガイドに記載されているように、Cases: Inspect オペレーションと Cases: Edit オペレーションの権限を付与し、ターゲット ケース フォルダに Read と Modify の ACL 権限を割り当てます。

  3. アクティブ リストのアクション: Active Lists: Inspect と Active Lists: Edit Content(または Active Lists: Edit)のオペレーション権限を付与し、プレイブック アクション パラメータで指定された特定のアクティブ リストに Read と Write の ACL 権限を割り当てます。

  4. ケース管理アクション: Cases: Inspect オペレーションと Cases: Edit オペレーションの権限を付与し、ターゲット ケース フォルダに Read ACL 権限と Modify ACL 権限を割り当てます。

  5. クエリと検索のアクション: Query Viewers: Inspect オペレーションと Query Viewers: Execute オペレーションの権限を付与し、ターゲット クエリ ビューアに Read ACL 権限と Execute ACL 権限を割り当てます。

  6. レポート アクション: Reports: Inspect オペレーション権限と Reports: Execute オペレーション権限を付与し、ターゲット レポートに Read ACL 権限と Execute ACL 権限を割り当てます。

コンポーネントの権限マッピング

次の表に、各インテグレーション コンポーネント タイプに必要な最小限のオペレーション権限とリソース ACL を示します。

権限の要件については、次の表をご覧ください。

  1. ベース セッション: ベース統合では、有効なログイン認証情報とデフォルトの認証済みユーザー権限のみが必要です。

  2. 取り込みコネクタ: コネクタには、イベント フィルタリング権限、イベント検査権限、レポートまたはケースへの読み取りアクセス権が必要です。

  3. ジョブとアクション: プレイブック アクションと同期ジョブでは、アクセスする特定のリソースに対する機能タスク権限と ACL 権限が必要です。これらは、ArcSight ESM Console User's Guide を使用して構成します。

コンポーネントのタイプ コンポーネント名 API サービス 必要なオペレーション権限 必要なリソース ACL
Base Integration ベース接続と認証 LoginService デフォルトの認証済みユーザー権限 なし
コネクタ ArcSight - セキュリティ イベント コネクタ SecurityEventService、ReportService Security Events: Inspect, Reports: Inspect, Reports: Execute ターゲット レポート リソースに対する Read と Execute
コネクタ ArcSight ESM コネクタ SecurityEventService、CaseService Security Events: Inspect、Cases: Inspect ターゲット ケースフォルダと関連付けオブジェクトに対する Read
ジョブ Close Cases ジョブ CaseService Cases: Inspect、Cases: Edit ターゲット ケース フォルダに対する Read と Modify
操作 アクティブ リスト アクション(エンティティの追加、エントリの追加、エントリの取得、値の確認) ActiveListService Active Lists: Inspect、Active Lists: Edit Content(または Active Lists: Edit) ターゲット アクティブ リストに対する Read と Write
操作 ケースのステージを変更するアクション CaseService Cases: Inspect、Cases: Edit ターゲット ケース フォルダに対する Read と Modify
操作 クエリと検索のアクション(クエリ結果の取得、検索) QueryViewerService、SearchService Query Viewers: Inspect、Query Viewers: Execute ターゲット クエリの閲覧者に対する Read と Execute
操作 レポート アクションを取得する ReportService Reports: Inspect、Reports: Execute ターゲット レポートに対する Read と Execute
操作 リソースのリスト表示アクション ActiveListService, CaseService, QueryViewerService, ReportService 有効になっている各リソースタイプの Inspect 権限 ターゲット リソース フォルダに対する Read

構成ワークフロー

このマルチフェーズ ワークフローに沿って、ArcSight ESM で権限をプロビジョニングし、Google SecOps で選択したコンポーネントを有効にします。

次の順序で構成手順を完了します。

  1. ArcSight サービス アカウントとグループのプロビジョニング: ArcSight ESM で専用のサービス ユーザーを作成し、専用のユーザー グループを作成して、サービス ユーザーをグループに割り当て、ArcSight ESM 管理者ガイドで説明されているように、イベント フィルタを適用してデータの可視性を定義します。

  2. 選択したコンポーネントの権限と ACL を割り当てる: 計画したコネクタ、ジョブ、アクションをコンポーネント権限マッピング テーブルと相互参照し、対応するオペレーション権限をユーザー グループに付与し、ArcSight ESM コンソール ユーザーガイドの特定のターゲット リソース フォルダにオブジェクト レベルの ACL(アクティブ リストに対する Read/Write やレポートに対する Read/Execute など)を割り当てます。

  3. Google SecOps で構成する: 以下のセクションの説明に沿って、Google SecOps でベース インテグレーション、取り込みコネクタ、スケジュール設定されたジョブ、プレイブック アクションを構成します。

統合のパラメータ

次のパラメータを使用して統合を構成します。

パラメータ名 種類 デフォルト値 必須 説明
インスタンス名 文字列 なし × 統合を構成するインスタンスの名前。
説明 文字列 なし いいえ インスタンスの説明。
API ルート 文字列 https://{IP}:{PORT} ○ ArcSight インスタンスのサーバー アドレス。
ユーザー名 文字列 なし ○ ArcSight アカウントのユーザー名。
パスワード パスワード なし ○ ArcSight アカウントのパスワード。
リモートで実行 チェックボックス オフ いいえ 構成した統合をリモートで実行するには、フィールドのチェックボックスをオンにします。オンにすると、リモート ユーザー(エージェント)を選択するオプションが表示されます。

Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応すると手動による対策を実行するをご覧ください。

アクティブ リストにエントリを追加する

レポート以外で、レポートに加えて、トレンドから情報を取得するメカニズムを提供します。トレンドによって更新されるアクティブ リストは、複数のトレンドからの情報の概要ビューをサポートしています。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
列 文字列 なし ○ 例: Message;Username
エントリ 文字列 なし ○ 例: test1|Me1;Test|Me2
アクティブ リストの UUID 文字列 なし ○ 例: HCN75QGABABCZXCOdT9P51w==

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_succeed 正誤問題 is_succeed:False

ケースのステージを変更する

ケースのステージを変更します。有効なステージは、INITIAL、QUEUED、CLOSED、FINAL、FOLLOW_UP です。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
ケース名 文字列 なし ○ 更新するケースの名前。
ステージ 文字列 なし ○ ケースのステージ。例: CLOSED、INITIAL

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
成功 正誤問題 success:False

アクティブリスト エントリを取得する

ArcSight アクティブ リスト エントリを取得し、CSV 出力を返します。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
アクティブ リストの UUID 文字列 なし ○ 例: HTcILQWABABCr553ieI0Xmw==

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
Success_Indicator なし なし
JSON の結果
[
"12346e4d96f0a72c42015d69aaf0e8ab ,
 file.txt",
 "0e0776034e5e096704cd28cbd40cdbb5 ,
 Test.config"
]

クエリ結果を取得する

クエリ ID でクエリ結果を取得します。クエリは、レポートのプライマリ データソースとして使用できます。また、1 つのクエリに基づく傾向を、初期クエリの結果をさらに絞り込む別のクエリのデータソースとして使用することもできます。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
クエリ ID 文字列 なし ○ クエリ ID。
返されるアイテムの最大数 整数 100 × レスポンスで返すアイテムの数を指定します。

ユースケース

返す結果の数に上限を追加します。

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
成功 正誤問題 success:False
JSON の結果
[
    {
        "Target User Name": "user",
        "Attacker Address": "192.0.2.1",
        "External ID": "127",
        "Name": "A Kerberos authentication ticket (TGT) was requested.",
        "Target Address": "192.0.2.1"
    },{
        "Target User Name": "user",
        "Attacker Address": "192.0.2.1",
        "External ID": "127",
        "Name": "A Kerberos authentication ticket (TGT) was requested.",
        "Target Address": "192.0.2.1"
    }
]

レポートの取得

動的フィールドを含むレポートを取得します。レポートは、クエリまたはトレンドのデータを既存のレポート テンプレートにバインドする ArcSight リソースです。レポートを実行すると、ArcSight コンソールのビューア パネルで結果を表示したり、保存(アーカイブ)したり、さまざまな形式でエクスポートしたりできます。レポートは定期的に実行するようにスケジュール設定できます。また、必要に応じてオンデマンドで実行することもできます。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
レポートのフルパス(URI) 文字列 なし ○ 関連するレポートの URI。
フィールド 2 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 3 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 4 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 6 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 6 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 7 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 8 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 9 文字列 なし × レポートを生成するクエリの動的フィールド。
フィールド 10 文字列 なし × レポートを生成するクエリの動的フィールド。

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
json_report なし なし

Is Value in Activelist Column

特定の値がアクティブ リストに含まれているかどうかを確認します。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
アクティブ リストの UUID 文字列 なし ○ アクティブなリストの UUID。例: cuser。
列名 文字列 なし ○ 列の名前。例: sourceUserName。

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
Success_Indicator なし なし

Ping

接続をテストします。

パラメータ

なし

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_succeed 正誤問題 is_succeed:False

コンソール イベント チャネルから ArcSight Command Center で検索を開始できます。イベント完了検索では、関連付けられた属性が検索されます。この属性は複数のフィールド(abc など)に保存されています。イベントの検索では、指定されたフィールド(名前のフィールドなど)に保存されている値(abc など)が検索されます。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
検索クエリ 文字列 なし ○ 検索クエリ。
返されるアイテムの最大数 整数 100 × レスポンスで返すアイテムの数を指定します。

ユースケース

返す結果の数に上限を追加します。

実行

このアクションはすべてのエンティティに対して実行されます。

アクションの結果

このアクションでは次の結果が得られます。

スクリプトの結果
スクリプトの結果名 値のオプション 例
成功 正誤問題 success:False
JSON の結果
[
    {
        "score": 1.2440307,
        "uuid": "UUID",
        "uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
        "name": "Attacker IPv6 Address"
    }, {
        "score": 1.2440307,
        "uuid": "UUID",
        "uri": "/All_Fields/ArcSight_Foundation/Variables_Library/IPv6/Attacker_IPv6_Address",
        "name": "Attacker IPv6 Address"
    }
]

コネクタ

Google SecOps でコネクタを構成する方法については、データを取り込む(コネクタ)をご覧ください。

Arcsight ESM コネクタ

このガイドでは、ArcSight ESM バージョン 6.9.1 以降について説明します。

ESM ルールまたはケースの Google SecOps への転送

トリガーされたルール/相関関係の操作

ArcSight ESM を構成して最新の相関オブジェクトを Google SecOps に転送し、Google SecOps を構成して ArcSight ESM で SIEM プロバイダとして機能させ、承認済みユーザーを介して ArcSight ESM への API アクセスを提供する必要があります。

この機能により、Google SecOps は ArcSight ESM 内でトリガーされたルールを準リアルタイムで取得し、翻訳とコンテキスト化のためにケースのアラートとして転送できます。

Google SecOps と ArcSight ESM 間のデータフロー

Google SecOps は、ArcSight Forwarding Connector モジュールと API アクセスを介して Google SecOps に転送され、ArcSight ESM でトリガーされた相関関係を自動的にインデックス登録してコンテキスト化します。

コネクタの重要度の優先順位付け

コネクタは、次の優先度値で重大度を割り当てます。

  • 1 と 2 - 非常に低い
  • 3 と 4 - 低
  • 5、6 - 中
  • 7 と 8 - 高
  • 9 と 10 - クリティカル

コネクタの入力

次のパラメータを使用してコネクタを構成します。

パラメータ名 種類 デフォルト値 必須 説明
環境 DDL なし ○

必要な環境(例: Customer One)を選択します。

アラートの [環境] フィールドが空の場合、このアラートはこの環境に挿入されます。

実行間隔 整数 0:0:0:10 いいえ 接続を実行する時間を選択します。
プロダクト フィールド名 文字列 device_product ×

商品名が保存されるフィールドの名前。

デフォルト値は device_product です。

商品名は主にマッピングに影響します。コネクタのマッピング プロセスを合理化して改善するため、デフォルト値 device_product は、コードから参照されるフォールバック値に解決されます。このパラメータの無効な入力は、デフォルトでフォールバック値に解決されます。

イベント フィールド名 文字列 name いいえ イベント名(サブタイプ)を特定するために使用されるフィールド名。
スクリプトのタイムアウト(秒) 文字列 500 × 現在のスクリプトを実行している Python プロセスのタイムアウト上限(秒単位)。
サーバー アドレス 文字列 なし ○ https://{IP}:{PORT}
ユーザー名 文字列 なし ○ ArcSight アカウントのユーザー名。
パスワード パスワード なし ○ ArcSight アカウントのパスワード。
イベント数の上限 Integer 15 ○ 相関関係ごとに取得するイベントの最大数を入力します。イベントの数を制限します(10 など)。
Cases Folder Path 文字列 I:\SiemShare\CorrelationSource ○

ケースファイルの場所(I:\SiemShare\CorrelationSource など)

注: Cases Folder Path パラメータは、お客様ごとに変更できます。

フルパス。例: C:\Desktop\CorrelationSource

アラート数の上限 整数 10 ○ コネクタのサイクルごとに処理するアラートの最大数(例: 10)。
環境フィールド名 文字列 event.customerURI ○ ケースの環境を取得するフィールドの名前(例: event.customerUri)。
Secondary Device Product Field(セカンダリ デバイスのプロダクト フィールド) 文字列 なし × 元のプロダクト フィールド(コネクタの DeviceProductField)をセカンダリ プロダクト フィールドの値に置き換えます。例: CustomDeviceString2
アラートのカスタム フィールド名 文字列 なし × baseEventCount、agent_address、device_assetId などのカスタム フィールド値を ArcSight からアラートに取得します。
完了したファイルの保持日数 Integer 3 ○ 各 DONE CSV ファイルを保持する日数。
エラー ファイルの保持日数 Integer 14 ○ 各 ERROR csv ファイルを保持する日数。
プロキシ サーバーのアドレス 文字列 なし いいえ 使用するプロキシ サーバーのアドレス。
プロキシのユーザー名 文字列 なし いいえ 認証に使用するプロキシのユーザー名。
プロキシ パスワード パスワード なし いいえ 認証に使用するプロキシ パスワード。

コネクタルール

コネクタはプロキシをサポートしています。

ArcSight - セキュリティ イベント コネクタ

ArcSight から相関関係を pull します。このコネクタは Google SecOps の SaaS デプロイに適しており、本番環境での使用におすすめします。

このコネクタを使用するには、前提条件の手順を完了する必要があります。

コネクタの入力

次のパラメータを使用してコネクタを構成します。

パラメータの表示名 種類 デフォルト値 必須 説明
プロダクト フィールド名 文字列 タイプ ○

商品名が保存されるフィールドの名前。

デフォルト値は type です。

プロダクト名は主にマッピングに影響します。コネクタのマッピング プロセスを合理化して改善するため、デフォルト値 type は、コードから参照されるフォールバック値に解決されます。このパラメータの無効な入力は、デフォルトでフォールバック値に解決されます。

イベント フィールド名 文字列 name ○

イベント名(サブタイプ)を特定するフィールドの名前。

環境フィールド名 文字列 "" ×

環境名が保存されるフィールドの名前。

環境フィールドがない場合、コネクタはデフォルト値を使用します。

Environment Regex Pattern 文字列 .* FALSE ×

Environment Field Name フィールドで見つかった値に対して実行する正規表現パターン。このパラメータを使用すると、正規表現ロジックを使用して環境フィールドを操作できます。

デフォルト値 .* を使用して、必要な未加工の Environment Field Name 値を取得します。

正規表現パターンが null か空の場合、または環境値が null の場合、最終的な環境の結果はデフォルト環境になります。

スクリプトのタイムアウト(秒) Integer 360 ○

現在のスクリプトを実行する Python プロセスのタイムアウト上限(秒単位)。

API ルート 文字列 https://{ip} ○ ArcSight インスタンスの API ルート。
ユーザー名 文字列 なし ○ ArcSight アカウントのユーザー名。
パスワード パスワード なし ○ ArcSight アカウントのパスワード。
レポート名 文字列 なし ○ イベントの取得に使用されるレポートの名前。
基本イベントを取得する チェックボックス オン ○ 有効にすると、コネクタはベースイベントも取得します。
取得する最も低い優先度 整数 なし × イベントの取得に使用される最も低い優先度。有効な値の範囲は 1 ~ 10 です。何も指定しない場合、すべてのイベントが取り込まれます。
取得する最大イベント数 整数 100 × コネクタのイテレーションごとに処理するアラートの数。最大許容値は 1,000 です。
動的リストをブロックリストとして使用する チェックボックス オン ○

選択すると、コネクタは動的リストを拒否リストとして使用します。

SSL を確認する チェックボックス オフ ○ 選択すると、ArcSight サーバーに接続するときに SSL 証明書が検証されます。
プロキシ サーバーのアドレス 文字列 なし いいえ 使用するプロキシ サーバーのアドレス。
プロキシのユーザー名 文字列 なし いいえ 認証に使用するプロキシのユーザー名。
プロキシ パスワード パスワード いいえ 認証に使用するプロキシ パスワード。

コネクタルール

コネクタはプロキシをサポートしています。

ジョブ

ジョブの詳細については、 新しいジョブを構成すると 高度なスケジューリングをご覧ください。

ケースをクローズ

このジョブには次のパラメータが必要です。

パラメータ名 種類 デフォルト値 必須 説明
サーバー アドレス 文字列 192.0.2.1 ○ なし
ユーザー名 文字列 なし ○ なし
パスワード パスワード なし ○ なし

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。