Fortinet FortiSIEM

統合バージョン: 5.0

Google Security Operations で Fortinet FortiSIEM の統合を構成する

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

統合のパラメータ

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

パラメータの表示名 種類 デフォルト値 必須 説明
API ルート 文字列 https://x.x.x.x:port はい ターゲットの FortiSIEM インストールの API ルートを指定します。
ユーザー名 文字列 なし はい ターゲットの FortiSIEM インストールで使用するユーザー名を指定します。
パスワード パスワード なし はい ターゲットの FortiSIEM インストールで使用するパスワードを指定します。
SSL を確認する チェックボックス オン いいえ 有効にすると、Google SecOps サーバーは、証明書が API ルート用に構成されていることを確認します。

プロダクトのユースケース

  1. SIEM から Google SecOps にアラートを取り込みます。
  2. Google SecOps アラートの拡充に SIEM のデータを使用します。
  3. 処理済みのステータスを Google SecOps アラートと同期して、SIEM 側に返します。

操作

Ping

説明

[Google Security Operations Marketplace] タブの統合構成ページで提供されるパラメータを使用して、FortiSIEM への接続をテストします。

パラメータ

なし

実行

このアクションはエンティティに対しては実行されず、必須入力パラメータもありません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success=False
JSON の結果
N/A
エンティティ拡充

なし

分析情報

なし

ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

成功した場合: 「指定された接続パラメータを使用して FortiSIEM インストールに正常に接続されました。」

アクションが失敗し、ハンドブックの実行が停止します。

>成功しなかった場合: 「FortiSIEM インストールへの接続に失敗しました。エラー: {0}".format(exception.stacktrace)」

一般

エンティティの拡充

説明

Fortinet FortiSIEM CMDB の情報を使用してエンティティを拡充します。サポートされるエンティティ: ホスト名、IP アドレス。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
標的組織 文字列 なし いいえ この組織でのみ拡充情報を検索するオプションのターゲット組織名を指定します。

実行

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

  • ホスト名
  • IP アドレス

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success=False
JSON の結果
[
  {
    "Entity": "centos-xxx",
    "EntityResult": {
      "device": {
        "organization": {
          "@id": "1xx",
          "@name": "Super"
        },
        "accessIp": "172.30.xxx.xxx",
        "approved": "true",
        "components": null,
        "creationMethod": "LOG",
        "deviceType": {
          "accessProtocols": "TELNET,SSH",
          "jobWeight": "10",
          "model": "Unix",
          "vendor": "Generic",
          "version": "ANY"
        },
        "discoverMethod": "LOG",
        "discoverTime": "1640008485000",
        "eventParserList": null,
        "interfaces": null,
        "ipToHostNames": null,
        "luns": null,
        "name": "centos-xxx",
        "naturalId": "centos%2dxxx",
        "processors": null,
        "properties": {
          "customproperty": [
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Importance",
                "groupKey": "false",
                "propertyName": "importance",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "importance",
              "propertyValue": "Normal",
              "updated": "false"
            },
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Location Name",
                "groupKey": "false",
                "propertyName": "locationName",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "locationName",
              "updated": "false"
            }
          ]
        },
        "raidGroups": null,
        "sanControllerPorts": null,
        "softwarePatches": null,
        "softwareServices": null,
        "status": "2",
        "storageGroups": null,
        "storages": null,
        "unmanaged": "false",
        "updateMethod": "LOG",
        "version": "ANY",
        "winMachineGuid": null
      }
    }
  },
  {
    "Entity": "172.30.xxx.xxx",
    "EntityResult": {
      "device": {
        "organization": {
          "@id": "1xx",
          "@name": "Super"
        },
        "accessIp": "172.30.xxx.xxx",
        "applications": null,
        "approved": "true",
        "components": null,
        "creationMethod": "LOG",
        "deviceType": {
          "accessProtocols": "TELNET,SSH",
          "jobWeight": "10",
          "model": "Unix",
          "vendor": "Generic",
          "version": "ANY"
        },
        "discoverMethod": "LOG",
        "discoverTime": "1640070721000",
        "eventParserList": {
          "eventparser": {
            "deviceType": {
              "category": "Appliance",
              "jobWeight": "10",
              "model": "Generic",
              "vendor": "Generic",
              "version": "ANY"
            },
            "enabled": "true",
            "name": "SyslogNGParser",
            "parserXml": "<patternDefinitions><pattern>..."
          }
        },
        "interfaces": null,
        "ipToHostNames": null,
        "luns": null,
        "name": "centos-xxx",
        "naturalId": "centos",
        "primaryContactUser": "0",
        "processors": null,
        "properties": {
          "customproperty": [
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Importance",
                "groupKey": "false",
                "propertyName": "importance",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "importance",
              "propertyValue": "Mission Critical",
              "updated": "false"
            },
            {
              "matched": "false",
              "propertyDef": {
                "displayInCMDB": "false",
                "displayName": "Location Name",
                "groupKey": "false",
                "propertyName": "locationName",
                "subValueType": "STRING",
                "valueType": "STRING"
              },
              "propertyName": "locationName",
              "updated": "false"
            }
          ]
        },
        "raidGroups": null,
        "sanControllerPorts": null,
        "secondaryContactUser": "0",
        "softwarePatches": null,
        "softwareServices": null,
        "status": "2",
        "storageGroups": null,
        "storages": null,
        "unmanaged": "false",
        "updateMethod": "MANUAL",
        "version": "ANY",
        "winMachineGuid": null
      }
    }
  }
]
エンティティ拡充
拡充フィールド名 ソース(JSON キー) ロジック - 適用するタイミング
accessIp accessIp XML で利用可能な場合
name name XML で利用可能な場合
アプリケーション 「applications/name」の CSV XML で利用可能な場合
creationMethod creationMethod XML で利用可能な場合
deviceType_model deviceType_model XML で利用可能な場合

deviceType_accessProtocols

deviceType_vendor

deviceType_accessProtocols

deviceType_vendor

XML で利用可能な場合
discoverMethod discoverMethod XML で利用可能な場合
discoverTime discoverTime XML で利用可能な場合
分析情報

なし

ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

1 つのエンティティにデータが利用可能な場合(is_success=true): 「FortiSIEM の情報を使用して、次のエンティティを拡充しました: {entity.identifier}」

1 つのエンティティにデータが利用できない場合(is_success=true): 「アクションは、FortiSIEM の情報を使用して次のエンティティを拡充できませんでした: {entity.identifier}。」

すべてのエンティティでデータが利用可能でない場合(is_success=false): 「指定されたエンティティが拡充されませんでした。」

アクションが失敗し、Playbook の実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラーが報告された場合: 「アクション「エンティティの拡充」の実行エラー。理由: {0}」.format(error.Stacktrace)

一般
Case Wall テーブル

テーブルのタイトル: {entity.identifier}

テーブル列:

  • キー
エンティティ

Execute Simple Query

説明

指定されたパラメータに基づいて FortiSIEM イベント クエリを実行します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
イベントタイプ CSV なし いいえ

クエリで取得するイベントタイプを指定します。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

取得する最小の重大度 Integer なし いいえ

Google SecOps に取得する最小イベントの重大度を数値で指定します。

例: 5 または 7

イベント カテゴリ CSV なし いいえ

イベント カテゴリのクエリで取得するカテゴリを指定します。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

イベント ID CSV なし いいえ

オプションで、クエリで取得する正確なイベント ID を指定します。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

返されるフィールド CSV なし いいえ

返すフィールドを指定します。

何も指定しないと、アクションですべてのフィールドが返されます。

フィールドの並べ替え 文字列 phRecvTime いいえ 並べ替えに使用するパラメータを指定します。
並べ替え順序 DDL

DESC

有効な値:

  • 昇順
  • DESC
いいえ 並べ替えの順序を指定します。
期間 DDL

Last Hour

有効な値:

  • Last Hour
  • 過去 6 時間
  • 過去 24 時間
  • 先週
  • 先月
  • カスタム
いいえ

結果の期間を指定します。

「カスタム」を選択した場合は、「開始時刻」パラメータも指定する必要があります。

開始時刻 文字列 なし いいえ

結果の開始時刻を指定します。

「期間」パラメータに「カスタム」が選択されている場合、このパラメータは必須です。

形式: ISO 8601

例: 2021-04-23T12:38Z

終了時刻 文字列 なし いいえ

結果の終了時刻を指定します。

何も指定されず、「期間」パラメータで「カスタム」が選択されている場合、このパラメータでは現在の時刻が使用されます。

形式: ISO 8601

返される結果の最大数 整数 50 いいえ 返す結果の数を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success=False
JSON の結果
[
  {
    "custId": "1",
    "attributes": {
      "eventType": "Unknown_EventType",
      "eventSeverity": "3",
      "eventAction": "0 (Permit)",
      "phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
      "relayDevIpAddr": "172.30.20xxx",
      "reptDevIpAddr": "172.30.20xxx",
      "destIpAddr": "172.30.20xxx",
      "destName": "HOST-172.30.20xxx",
      "reptDevName": "centos-xxx",
      "reptVendor": "Unknown",
      "customer": "Super",
      "reptModel": "Unknown",
      "rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
      "collectorId": "1",
      "eventId": "4242813061460978xxx",
      "phEventCategory": "0 (External)",
      "count": "1",
      "eventName": "Unknown event type",
      "eventParsedOk": "0",
      "parserName": "SyslogNGParser"
    },
    "dataStr": null,
    "eventType": "Unknown_EventType",
    "id": "4242813061460978xxx",
    "index": "0",
    "nid": "4242813061460978xxx",
    "receiveTime": "2021-12-29T00:36:55+02:00"
  }
]
エンティティ拡充

なし

分析情報

なし

ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

少なくともいくつかのデータが見つかった場合(is_success=true):「FortiSIEM で構築されたクエリ「{query}」の結果が正常に取得されました。」

結果が見つからない場合(is_success=false): 「FortiSIEM で構築されたクエリ「{Query}」の結果が見つかりませんでした。」

アクションが失敗し、ハンドブックの実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラーが報告された場合:「アクション「単純なクエリ」の実行エラー。理由: {0}」.format(error.Stacktrace)

「開始時刻」パラメータが空で、「期間」パラメータが「カスタム」に設定されている場合(失敗):「アクション「」の実行エラー。理由:「期間」パラメータで「カスタム」が選択されている場合、「開始時刻」を指定する必要があります。」

「開始時刻」の値が「終了時刻」パラメータの値より大きい場合(失敗):「アクション「」の実行エラー。理由:「終了時刻」は「開始時刻」より後である必要があります。」

全般
Table

テーブル名: 単純なクエリの結果

テーブル列: レスポンスのすべての列

全般

カスタムクエリを実行する

説明

FortiSIEM でカスタムクエリを実行します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
クエリ 文字列の複数行入力フィールド (属性 = 値 OR 値)AND(属性値 OR 値) はい

イベントに関する情報の取得に使用されるクエリを指定します。

例: (relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1)

返されるフィールド CSV いいえ

返すフィールドを指定します。

何も指定しないと、アクションですべてのフィールドが返されます。

フィールドの並べ替え 文字列 phRecvTime いいえ 並べ替えに使用するパラメータを指定します。
並べ替え順序 DDL

DESC

有効な値:

  • 昇順
  • DESC
いいえ 並べ替えの順序を指定します。
期間 DDL

Last Hour

有効な値:

  • Last Hour
  • 過去 6 時間
  • 過去 24 時間
  • 先週
  • 先月
  • カスタム
いいえ

結果の期間を指定します。

「カスタム」を選択した場合は、「開始時刻」パラメータも指定する必要があります。

開始時刻 文字列 なし いいえ

結果の開始時刻を指定します。

「期間」パラメータに「カスタム」が選択されている場合、このパラメータは必須です。

形式: ISO 8601

例: 2021-04-23T12:38Z

終了時刻 文字列 なし いいえ

結果の終了時刻を指定します。

何も指定されず、「期間」パラメータで「カスタム」が選択されている場合、このパラメータでは現在の時刻が使用されます。

返される結果の最大数 整数 50 いいえ 返す結果の数を指定します。

実行

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

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success=False
JSON の結果
[
  {
    "custId": "1",
    "attributes": {
      "eventType": "Unknown_EventType",
      "eventSeverity": "3",
      "eventAction": "0 (Permit)",
      "phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
      "relayDevIpAddr": "172.30.20xxx",
      "reptDevIpAddr": "172.30.20xxx",
      "destIpAddr": "172.30.20xxx",
      "destName": "HOST-172.30.20xxx",
      "reptDevName": "centos-xxx",
      "reptVendor": "Unknown",
      "customer": "Super",
      "reptModel": "Unknown",
      "rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
      "collectorId": "1",
      "eventId": "4242813061460978xxx",
      "phEventCategory": "0 (External)",
      "count": "1",
      "eventName": "Unknown event type",
      "eventParsedOk": "0",
      "parserName": "SyslogNGParser"
    },
    "dataStr": null,
    "eventType": "Unknown_EventType",
    "id": "4242813061460978xxx",
    "index": "0",
    "nid": "4242813061460978xxx",
    "receiveTime": "2021-12-29T00:36:55+02:00"
  }
]
エンティティ拡充

なし

分析情報

なし

ケースウォール
結果のタイプ 値 / 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

少なくともいくつかのデータが見つかった場合(is_success=true):「FortiSIEM で指定されたクエリ「{query}」の結果が正常に取得されました。」

結果が見つからない場合(is_success=false):「FortiSIEM で指定されたクエリ「{Query}」の結果が見つかりませんでした。」

アクションが失敗し、ハンドブックの実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラーが報告された場合:「アクション「単純なクエリ」の実行エラー。理由: {0}」.format(error.Stacktrace)

「開始時刻」パラメータが空で、「期間」パラメータが「カスタム」に設定されている場合(失敗):「アクション「」の実行エラー。理由:「期間」パラメータで「カスタム」が選択されている場合、「開始時刻」を指定する必要があります。」

「開始時刻」の値が「終了時刻」パラメータの値より大きい場合(失敗):「アクション「」の実行エラー。理由:「終了時刻」は「開始時刻」より後である必要があります。」

全般
テーブル

テーブル名: カスタムクエリの結果

テーブル列: レスポンスのすべての列

全般

コネクタ

FortiSIEM インシデント コネクタ

コネクタの説明

コネクタを使用して FortiSIEM インシデントを取得できます。コネクタのホワイトリストを使用すると、インシデントの eventType 属性値に基づいて、特定のタイプのインシデントのみを取り込むことができます。コネクタの SourceGroupIdentifier を使用して、インシデント ID に基づいて Google SecOps アラートをグループ化できます。コネクタには FortiSIEM バージョン 6.3 以降が必要です。

コネクタ パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
プロダクト フィールド名 文字列 deviceProduct はい ソース フィールド名を入力してプロダクト フィールド名を取得します。
イベント フィールド名 文字列 eventType ソース フィールド名を入力してイベント フィールド名を取得します。
環境フィールド名 文字列 いいえ

環境名が保存されるフィールドの名前を記述します。

環境フィールドがない場合、その環境がデフォルトの環境です。

環境の正規表現パターン 文字列 .* いいえ

[環境フィールド名] フィールドで見つかった値に対して実行する正規表現パターン。

デフォルトは、すべてキャッチして値を変更せずに返す .* です。

ユーザーが正規表現ロジックで環境フィールドを操作できるようにするために使用されます。

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

スクリプトのタイムアウト Integer 300 はい コネクタの実行タイムアウトを指定します。
API ルート 文字列 https:/x.x.x.x:port はい ターゲットの FortiSIEM インストールの API ルートを指定します。
ユーザー名 文字列 なし はい ターゲットの FortiSIEM インストールで使用するユーザー名を指定します。
パスワード パスワード なし はい ターゲットの FortiSIEM インストールで使用するパスワードを指定します。
SSL を確認する チェックボックス オン いいえ 有効にすると、Google SecOps サーバーは API ルート用に構成された証明書をチェックします。
標的組織 CSV なし いいえ

コネクタがインシデントを取得する組織を指定します。

パラメータは、カンマ区切りの文字列として複数の値を受け入れます。

遡る最大時間数 Integer 24 はい X 時間前から遡ってインシデントを取得する期間を指定します。
1 サイクルあたりの最大インシデント数 Integer 10 はい 1 回のコネクタ実行で処理するインシデントの数を指定します。
インシデントあたりの最大イベント数 Integer 100 はい

コネクタがインシデントで追跡するイベントの最大数を指定します。

上限に達すると、新しいイベントは Google SecOps に追加されなくなります。

取得するインシデントのステータス CSV 0 いいえ

Google SecOps に取得するインシデントのステータスを指定します。

このパラメータは、カンマ区切りの文字列として複数の値を受け入れます。

0 は、ステータスが対応待ちのインシデントを表します。

取得する最小の重大度 Integer なし いいえ Google SecOps に取得するインシデントの最小イベント重大度を数値で指定します(例: 5、7)。
許可リストを拒否リストとして使用 チェックボックス オフ 有効にすると、許可リストが拒否リストとして使用されます。
すでに取り込まれたインシデントに追加された新しいイベントを追跡する チェックボックス オン はい 有効にすると、すでに取り込まれている FortiSIEM インシデントに新しいイベントが追加された場合、これらの新しいイベントを含む新しいアラートが Google SecOps に作成されます。
新しいイベントのしきい値(時間)をトラッキング Integer 24 はい

[Track New Events Added to Already Ingested Incidents] チェックボックスがオンになっている場合は、コネクタが新しいイベントの取り込み済みインシデントを追跡する最大時間数を指定します。

上限に達すると、新しいイベントは Google SecOps に追加されなくなります。

プロキシ サーバーのアドレス 文字列 なし いいえ 使用するプロキシ サーバーのアドレスを指定します。
プロキシのユーザー名 文字列 なし いいえ 認証に使用するプロキシのユーザー名を指定します。
プロキシ パスワード パスワード なし いいえ 認証に使用するプロキシ パスワードを指定します。

コネクタ ルール

プロキシのサポート

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

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