CSV

統合バージョン: 31.0

権限の前提条件

統合を使用してファイルを操作するには、適切な権限が必要です。次のコマンドを実行して、フォルダに適切な権限を付与します。chown scripting:scripting "directory_path"

Google Security Operations で CSV 統合を構成する

Google SecOps で統合を構成する方法について詳しくは、統合を構成するをご覧ください。

統合のパラメータ

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

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

アクション

JSON を CSV に保存

説明

JSON オブジェクトを CSV に保存します。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
JSON オブジェクト JSON なし CSV として保存する JSON オブジェクトを指定します。
上書き ブール値 False いいえ 有効にすると、アクションによって既存のファイルが上書きされます。
ファイルパス 文字列 なし 新しく作成された CSV ファイルの絶対ファイルパスを指定します。ファイル名のみが指定されている場合、アクションはファイルを /tmp/ フォルダに保存します。

実行

なし

アクションの結果

スクリプトの結果
スクリプトの結果名
is_success True/False
JSON の結果
{"filepath": "{file name}"}
ケースウォール

このアクションでは、次の出力メッセージが表示されます。

出力メッセージ メッセージの説明
JSON オブジェクトを変換し、指定されたファイルパスに保存しました。 アクションが成功しました。
指定されたパスにファイルが見つかりませんでした。 そのファイルは存在しません。
指定されたサービス アカウントのアクティビティが Google Cloud Policy Intelligence で見つかりませんでした アクションは、一覧表示されているサービス アカウントのデータを見つけられませんでした。
アクション「JSON を CSV に保存」の実行エラー。

アクションがエラーを返しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

文字列で検索する

説明

CSV ファイル内の文字列を検索します。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
CSV パス 文字列 なし CSV ファイルのファイルパス、またはすべての CSV ファイルを含むフォルダのパスを指定します。フォルダが指定されている場合、アクションはフォルダ内のすべての CSV ファイルに対して反復処理されます。
CSV 列 文字列 なし いいえ エンティティ情報を含むことができる列のカンマ区切りリストを指定します。何も指定しない場合、アクションはすべての列を検索します。
遡る日数 文字列 10 いいえ CSV ファイルを処理する日数を遡って指定します。
検索値 文字列 なし いいえ 検索する文字列を指定します。「複数の文字列を検索」が有効になっている場合、このパラメータは、検索対象の文字列のカンマ区切りリストとして扱われます。
最初の行のみを返します。 チェックボックス オフ いいえ 有効の場合、アクションはエンティティに一致した最初のファイル内の 1 行のみを返します。
ファイル エンコード タイプ 文字列 utf-8、latin-1、iso-8859-1 CSV ファイルのデコードに使用される CSV エンコード タイプのカンマ区切りのリスト。例: utf-8、latin-1、iso-8859-1、utf-16。エンコード タイプを指定する順序により、ファイルのデコードの順序が決まります。たとえば、上記の例では、utf-8 が最も優先され、すべてのファイルのデコードに主に使用されます。別のエンコードを使用する CSV ファイルがある場合、順序内の次のエンコード latin-1 エンコードが使用され、最後のエンコードが使用されるまで続けられます。
Search Multiple String チェックボックス オフ いいえ 有効にすると、「検索値」は単一の文字列ではなく、値のカンマ区切りリストとして機能します。
返されるフィールド CSV なし いいえ 返す必要のある値のカンマ区切りのリストを指定します。

ユースケース

CSV ファイル内の文字列を検索します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
count_rows_csv 行数に制限なし count_rows += 1
JSON の結果
[
    {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        },
        "Entity": "host"
    }, {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        }, "Entity": "1.1.1.1"
    }
]
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

見つかったレコードに対して: 次の文字列に関する情報が見つかりました: \n (search_string)」

一部の文字列のレコードが見つからない場合:「アクションでは、次の文字列に関する情報が見つかりませんでした:」

すべてのレコードで成功しなかった場合:「指定された項目に関する情報が見つかりませんでした。」

すべてのエンコードが無効な場合:アクション「文字列での CSV 検索」の実行エラー。指定されたエンコードが無効です。スペルを確認してください。」

一般

[エンティティ] で検索する

説明

CSV ファイル内のエンティティを検索して拡充します。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
CSV パス 文字列 なし CSV ファイルのファイルパス、またはすべての CSV ファイルを含むフォルダのパスを指定します。フォルダが指定されている場合、アクションはフォルダ内のすべての CSV ファイルに対して反復処理されます。
CSV 列 文字列 なし エンティティ情報を含むことができる列のカンマ区切りリストを指定します。何も指定しない場合、アクションはすべての列を検索します。
遡る日数 文字列 10 CSV ファイルを処理する日数を遡って指定します。
不審としてマーク チェックボックス オフ いいえ 有効の場合、ファイル内で検出された場合に、アクションはエンティティを不審としてマークします。
最初の行のみを返します。 チェックボックス オフ いいえ 有効の場合、アクションはエンティティに一致した最初のファイル内の 1 行のみを返します。
ファイル エンコード タイプ 文字列 utf-8、latin-1、iso-8859-1 CSV ファイルのデコードに使用される CSV エンコード タイプのカンマ区切りのリスト。例: utf-8、latin-1、iso-8859-1、utf-16。エンコード タイプを指定する順序により、ファイルのデコードの順序が決まります。たとえば、上記の例では、utf-8 が最も優先され、すべてのファイルのデコードに主に使用されます。別のエンコードを使用する CSV ファイルがある場合、順序内の次のエンコード latin-1 エンコードが使用され、最後のエンコードが使用されるまで続けられます。
エンティティの拡充 チェックボックス オン いいえ 有効にした場合、アクションは CSV ファイルから情報を追加し、エンティティの拡充テーブルに追加します。
インサイトの作成 チェックボックス オン いいえ 有効の場合、アクションは、ファイル内でエンティティが見つかった場合に分析情報を作成します。
返されるフィールド CSV なし いいえ 返す必要のある値のカンマ区切りのリストを指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
count_rows_csv 行数に制限なし count_rows += 1
JSON の結果
[
    {
        "EntityResult": [{
            "domain": "example.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "Arcsight",
            "id": "1011",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "blocked",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "Ziv",
            "eventHostName": "WS-ZivDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }, {
            "domain": "SmartCompany.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "ESM",
            "id": "1012",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "allowed",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "GG",
            "eventHostName": "WS-GGDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }],
        "Entity": "192.168.11.11"
    }
]
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

見つかったレコードに対して: 次のエンティティに関する情報が見つかりました: \n (entity.identifier)」

見つからなかったエンティティに対して:「次のエンティティに関する情報が見つかりませんでした: \n (entity.identifier)」

すべてのエンティティで成功しなかった場合:「指定されたエンティティに関する情報が見つかりませんでした。」

すべてのエンコードが無効な場合:「アクション「文字列での CSV 検索」の実行エラー。指定されたエンコードが無効です。スペルを確認してください。」

一般

Ping

説明

接続をテストします。

パラメータ

なし

実行

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

アクションの結果

スクリプトの結果

なし

JSON の結果
N/A

コネクタ

CSV コネクタ

説明

特定のフォルダにある CSV ファイルからデータを取得し、このデータを Google SecOps システムのアラートに変換します。

このトピックでは、Google SecOps が CSV ファイルを生成するメカニズムと構成、サポートされている作業フローとプラットフォーム内で実行されるアクションについて説明します。

ユースケース

お客様がシステムから取得した CSV を取得しており、ファイルはさまざまなエンコードの可能性があります。

*   Add support for comma-separated encodings in the Encoding field in the
    connector.
    *   The connector should try the different encodings by their order in
        the field (first encoding - highest priority, last - lowest
        priority) with try/except. If no matching encoding was found -
        consider the file as an error and notify.
    *   Put a default value for the fields - a list of most common CSV
        encodings by priority (utf8, latin1, and iso...)

CSV ファイルへのアクセス

Google SecOps による CSV ファイルへのアクセス: CSV ファイル用のフォルダを設定します。

Google SecOps への CSV レコードの転送

CSV ファイルのレコードを操作する

アラートソースとして CSV ファイルを使用するように Google SecOps を構成する場合は、CSV の取得元となる特定のフォルダを指定する必要があります。Google SecOps は、CSV ファイル内のレコードを取得し、変換のために転送し、ケースのアラートとしてコンテキスト化します。

コネクタで重大度をマッピングする方法

重大度をマッピングするには、[Severity Field Name] パラメータで重大度の値を取得するために使用するフィールドを指定する必要があります。レスポンスでは、整数、浮動小数点数、文字列の 3 種類の値を取得できます。整数と浮動小数点の場合、追加の構成を行う必要はありません。コネクタはこれらの値を読み取り、Google SecOps 標準に従ってマッピングします。整数値のマッピング方法を簡単に説明します。

  • 100 - 重大
  • 100 > x >= 80 高
  • 80 > x >=60 中
  • 60 > x >=40 低
  • 40 > x 情報

レスポンスで文字列を扱う場合は、追加の構成が必要です。コネクタ スクリプトが配置されているフォルダに、構成ファイル名 severity_map_config.json があります。このファイルは、重大度のマッピング ルールを定義します。

最初は、ファイルは次のようになります。1 2 3 { "Default": 50 }

たとえば、必要な値が event.severity にあるとします。 event.severity には「Malicious」、「Benign」、「Unknown」の値が含まれます。

まず、[Severity Field Name] パラメータで event.severity を使用することを指定する必要があります。次に、構成ファイルを更新する必要があります。変更後、severity_map_config.json ファイルは次のようになります。1 2 3 4 5 6 7 8 { "event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default": 50 }

これで、コネクタが event.severity = "Malicious" のイベントを受信すると、重大の重大度が付与されます。

Google SecOps で CSV コネクタを構成する

Google SecOps でコネクタを構成する方法の詳細については、コネクタの構成をご覧ください。

コネクタ パラメータ

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

パラメータ名 種類 デフォルト値 必須 説明
プロダクト フィールド名 文字列 device_product デバイス プロダクトを特定するために使用されるフィールド名。
イベント フィールド名 文字列 name いいえ イベント名(サブタイプ)を特定するために使用されるフィールド名。
スクリプトのタイムアウト(秒) 文字列 60 現在のスクリプトを実行している Python プロセスのタイムアウト上限(秒単位)。
CSV フォルダのパス 文字列 なし 取り込む必要のあるすべての CSV ファイルを含むフォルダのパス。
CSV の上限 文字列 なし いいえ 1 回のイテレーションで処理する CSV ファイルの数。
ルール生成ツール フィールド名 文字列 なし いいえ ルール ジェネレータに関する情報を含むフィールドの名前。
時間フィールド名 文字列 なし いいえ イベント時間に関する情報を含むフィールドの名前。
CSV Has Header チェックボックス オン CSV ファイルにヘッダーがあるかどうかを示します。
ファイルのエンコード タイプ 文字列 utf-8 CSV エンコード タイプ(iso-8859-1、latin1、utf-8、utf-16 など)を設定します。
アラートのフィールド名 文字列 なし いいえ アラート名に関する情報を含むフィールドの名前。
重大度フィールド名 文字列 なし いいえ

重大度に関する情報を含むフィールドの名前。
注: レスポンスの値に基づいて重大度をマッピングできます。そのためには、コネクタの実行フォルダに移動して severity_mapping_config.json を変更する必要があります。ドキュメントを参照してください。

コネクタ ルール

プロキシのサポート

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

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