Cato Networks のログを収集する
このドキュメントでは、AWS S3 を使用して Cato Networks ログを Google Security Operations に取り込む方法について説明します。パーサーは、まず一連のフィールドを空の文字列に初期化してから、JSON 形式の Cato Networks ログを解析します。次に、抽出されたフィールドを Google SecOps 統合データモデル(UDM)モデルの対応するフィールドにマッピングし、さまざまなイベントタイプを処理して、追加のコンテキストでデータを拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- AWS S3、AWS IAM への特権アクセス
- Cato Networks への特権アクセス
AWS IAM と S3 バケットを構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- バケットの名前とリージョンを保存しておきます。
- IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] で [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックし、[アクセスキー] と [シークレット アクセスキー] を保存して、今後の参照に備えます。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
データ アップロードを有効にするために S3 バケットの新しい IAM ポリシーを構成する
- [ポリシー] で、[JSON] タブをクリックします。
- 次の JSON を編集し、 - <bucket name>を S3 バケットに置き換えてから、タブに貼り付けます。- { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/*" ] } ] }
- [ポリシーを作成] をクリックします。 
Cato の ARN を使用して新しい IAM ロールを構成する
- [信頼できるエンティティの選択] 画面で、[カスタム信頼ポリシー] を選択し、Cato の ARN をロールに追加します。arn:aws:iam::428465470022:role/cato-events-integration - { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::428465470022:role/cato-events-integration" }, "Action": "sts:AssumeRole" } ] }
- [次へ] をクリックします。 
- [権限を追加] 画面で、前に作成したポリシーをロールに適用します。 
- [次へ] をクリックします。 
- [ロール名] を入力し、[ロールを作成] をクリックします。 
Cato Networks Events と S3 の統合を構成する
- Cato Networks のウェブ UI にログインします。
- [リソース] > [イベント統合] に移動します。
- [Enable integration with Cato events] をクリックします。
- [New] をクリックします。
- 次の構成の詳細を入力します。
- 統合の名前を入力します。
- バケット名: S3 バケットと同じ名前。
- フォルダ: S3 バケット内のフォルダパスの同じ名前(必要な場合)。
- リージョン: S3 バケットと同じリージョン。
- ロール ARN: S3 バケットのロールの ARN をコピーして貼り付けます。
- (省略可)S3 バケットにアップロードされるイベントのフィルタ設定を定義します(複数のフィルタを定義すると、AND 関係になり、すべてのフィルタに一致するイベントがアップロードされます)。
 
- [適用] をクリックします。
フィードを設定する
フィードを構成する手順は次のとおりです。
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Cato Logs)。
- [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [Cato Networks] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。 - S3 URI: バケット URI(形式は - s3://<your-log-bucket-name>にする必要があります)。次の項目を置き換えます。- your-log-bucket-name: バケットの名前。
 
- Source deletion options: 必要に応じて削除オプションを選択します。 
 
- [次へ] をクリックします。 
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。 
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック | 
|---|---|---|
| account_id | target.user.userid | このフィールドの値は account_idフィールドから取得されます。 | 
| アクション | additional.fields.value.string_value | このフィールドの値は actionフィールドから取得されます。 | 
| app_stack | additional.fields.value.list_value.values.string_value | このフィールドの値は app_stackフィールドから取得されます。 | 
| アプリケーション | principal.application | このフィールドの値は applicationフィールドから取得されます。 | 
| categories | additional.fields.value.list_value.values.string_value | このフィールドの値は categoriesフィールドから取得されます。 | 
| clientIP | principal.ip、principal.asset.ip | このフィールドの値は clientIPフィールドから取得されます。 | 
| creationTime | このフィールドは、イベントのタイムスタンプの計算に使用されます。 | |
| custom_categories | additional.fields.value.list_value.values.string_value | このフィールドの値は custom_categoriesフィールドから取得されます。 | 
| dest_country | target.location.country_or_region | このフィールドの値は dest_countryフィールドから取得されます。 | 
| dest_country_code | target.resource.attribute.labels.value | このフィールドの値は dest_country_codeフィールドから取得されます。 | 
| dest_ip | target.ip、target.asset.ip | このフィールドの値は dest_ipフィールドから取得されます。 | 
| dest_port | target.port | このフィールドの値は dest_portフィールドから取得されます。 | 
| destinationCountry | target.location.country_or_region | このフィールドの値は destinationCountryフィールドから取得されます。 | 
| destinationIp | target.ip、target.asset.ip | このフィールドの値は destinationIpフィールドから取得されます。 | 
| destinationName | target.hostname、target.asset.hostname | このフィールドの値は destinationNameフィールドから取得されます。 | 
| device_name | network.dhcp.client_hostname | このフィールドの値は device_nameフィールドから取得されます。 | 
| dns_name | additional.fields.value.string_value | このフィールドの値は dns_nameフィールドから取得されます。 | 
| event_count | additional.fields.value.string_value | このフィールドの値は event_countフィールドから取得されます。 | 
| event_sub_type | metadata.description | このフィールドの値は event_sub_typeフィールドから取得されます。 | 
| fieldsMap.ISP_name | additional.fields.value.string_value | このフィールドの値は fieldsMap.ISP_nameフィールドから取得されます。 | 
| fieldsMap.action | security_result.action_details | このフィールドの値は fieldsMap.actionフィールドから取得されます。 | 
| fieldsMap.categories | security_result.category_details | このフィールドの値は fieldsMap.categoriesフィールドから取得されます。 | 
| fieldsMap.dest_country | target.location.country_or_region | このフィールドの値は fieldsMap.dest_countryフィールドから取得されます。 | 
| fieldsMap.dest_ip | target.ip、target.asset.ip | このフィールドの値は fieldsMap.dest_ipフィールドから取得されます。 | 
| fieldsMap.dest_port | principal.port | このフィールドの値は fieldsMap.dest_portフィールドから取得されます。 | 
| fieldsMap.domain_name | principal.administrative_domain | このフィールドの値は fieldsMap.domain_nameフィールドから取得されます。 | 
| fieldsMap.event_sub_type | metadata.description | このフィールドの値は fieldsMap.event_sub_typeフィールドから取得されます。 | 
| fieldsMap.event_type | metadata.product_event_type | このフィールドの値は fieldsMap.event_typeフィールドから取得されます。 | 
| fieldsMap.ip_protocol | network.ip_protocol | このフィールドの値は fieldsMap.ip_protocolフィールドから取得されます。 | 
| fieldsMap.os_type | このフィールドは、プリンシパルのオペレーティング システムを特定するために使用されます。 | |
| fieldsMap.pop_name | additional.fields.value.string_value | このフィールドの値は fieldsMap.pop_nameフィールドから取得されます。 | 
| fieldsMap.rule_id | security_result.rule_id | このフィールドの値は fieldsMap.rule_idフィールドから取得されます。 | 
| fieldsMap.rule_name | security_result.rule_name | このフィールドの値は fieldsMap.rule_nameフィールドから取得されます。 | 
| fieldsMap.src_ip | principal.ip、principal.asset.ip | このフィールドの値は fieldsMap.src_ipフィールドから取得されます。 | 
| fieldsMap.src_isp_ip | src.ip、src.asset.ip | このフィールドの値は fieldsMap.src_isp_ipフィールドから取得されます。 | 
| fieldsMap.time | このフィールドは、イベントのタイムスタンプの計算に使用されます。 | |
| file_hash | target.file.sha256 | このフィールドの値は file_hashフィールドから取得されます。 | 
| file_name | target.file.full_path | このフィールドの値は file_nameフィールドから取得されます。 | 
| file_size | target.file.size | このフィールドの値は file_sizeフィールドから取得されます。 | 
| http_host_name | principal.hostname、principal.asset.hostname | このフィールドの値は http_host_nameフィールドから取得されます。 | 
| insertionDate | additional.fields.value.string_value | このフィールドの値は insertionDateフィールドから取得されます。 | 
| internalId | additional.fields.value.string_value | このフィールドの値は internalIdフィールドから取得されます。 | 
| ip_protocol | network.ip_protocol | このフィールドの値は ip_protocolフィールドから取得されます。 | 
| is_sanctioned_app | security_result.detection_fields.value | このフィールドの値は is_sanctioned_appフィールドから取得されます。 | 
| os_type | principal.platform | このフィールドの値は os_typeフィールドから取得されます。 | 
| pop_name | このフィールドは、 fieldsMap.pop_nameフィールドに値を設定するために使用されます。 | |
| prettyType | metadata.product_event_type | このフィールドの値は prettyTypeフィールドから取得されます。 | 
| ルール | additional.fields.value.string_value | このフィールドの値は ruleフィールドから取得されます。 | 
| rule_id | security_result.rule_id | このフィールドの値は rule_idフィールドから取得されます。 | 
| rule_name | security_result.rule_name | このフィールドの値は rule_nameフィールドから取得されます。 | 
| server_port | target.port | このフィールドの値は server_portフィールドから取得されます。 | 
| 重要度 | security_result.severity_details | このフィールドの値は severityフィールドから取得されます。 | 
| sourceCountry | principal.location.country_or_region | このフィールドの値は sourceCountryフィールドから取得されます。 | 
| sourceInternalIp | principal.ip | このフィールドの値は sourceInternalIpフィールドから取得されます。 | 
| sourceIp | src.ip、src.asset.ip | このフィールドの値は sourceIpフィールドから取得されます。 | 
| sourceName | principal.user.user_display_name | このフィールドの値は sourceNameフィールドから取得されます。 | 
| スポーツ | principal.port | このフィールドの値は sportフィールドから取得されます。 | 
| src_country | このフィールドは、 sourceCountryフィールドに値を設定するために使用されます。 | |
| src_country_code | principal.resource.attribute.labels.value | このフィールドの値は src_country_codeフィールドから取得されます。 | 
| src_ip | principal.ip、principal.asset.ip | このフィールドの値は src_ipフィールドから取得されます。 | 
| src_is_site_or_vpn | security_result.detection_fields.value | このフィールドの値は src_is_site_or_vpnフィールドから取得されます。 | 
| src_isp_ip | src.ip、src.asset.ip | このフィールドの値は src_isp_ipフィールドから取得されます。 | 
| src_site | additional.fields.value.string_value | このフィールドの値は src_siteフィールドから取得されます。 | 
| src_site_name | additional.fields.value.string_value | このフィールドの値は src_site_nameフィールドから取得されます。 | 
| start | このフィールドは、イベントのタイムスタンプの計算に使用されます。 | |
| subnet_name | additional.fields.value.string_value | このフィールドの値は subnet_nameフィールドから取得されます。 | 
| 時間 | このフィールドは、イベントのタイムスタンプの計算に使用されます。 | |
| time_str | このフィールドは、イベントのタイムスタンプの計算に使用されます。 | |
| tunnel_host_logon_names | principal.user.userid | このフィールドの値は tunnel_host_logon_namesフィールドから取得されます。 | 
| URL | target.url | このフィールドの値は urlフィールドから取得されます。 | 
| user_id | principal.user.userid | このフィールドの値は user_idフィールドから取得されます。 | 
| metadata.event_type | このフィールドの値は GENERIC_EVENTに設定され、イベントに基づいてNETWORK_CONNECTION、NETWORK_DHCP、NETWORK_HTTPにオーバーライドできます。 | |
| metadata.log_type | このフィールドの値は CATO_NETWORKSに設定されます。 | |
| metadata.product_name | このフィールドの値は SASEに設定されます。 | |
| metadata.vendor_name | このフィールドの値は Cato Networksに設定されます。 | |
| network.application_protocol | Connectedイベントの場合、このフィールドの値はDHCPに設定されます。 | |
| network.dhcp.chaddr | Connectedイベントの場合、このフィールドの値は01:23:45:ab:cd:efに設定されます。 | |
| network.dhcp.lease_time_seconds | Connectedイベントの場合、このフィールドの値は86400に設定されます。 | |
| network.dhcp.opcode | Connectedイベントの場合、このフィールドの値はBOOTREPLYに設定されます。 | |
| network.dhcp.type | Connectedイベントの場合、このフィールドの値はACKに設定されます。 | |
| network.direction | このフィールドの値は、 Anti MalwareイベントとURL FilteringイベントではOUTBOUNDに設定されます。 | |
| security_result.action | actionフィールドがBLOCKでない場合、このフィールドの値はALLOWに設定されます。それ以外の場合はBLOCKに設定されます。 | |
| event_type | metadata.description | このフィールドの値は event_typeフィールドから取得されます。 | 
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。