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 関係になり、すべてのフィルタに一致するイベントがアップロードされます)。
- [適用] をクリックします。
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード]
[Content Hub] > [Content Packs]
[SIEM 設定] > [フィード] でフィードを設定する
フィードを構成する手順は次のとおりです。
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Cato Logs
)。 - [ソースタイプ] として [Amazon S3] を選択します。
- [ログタイプ] として [Cato Networks] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- リージョン: Amazon S3 バケットが配置されているリージョン。
- S3 URI: バケット URI(形式は
s3://<your-log-bucket-name>
にする必要があります)。次の内容を置き換えます。your-log-bucket-name
: バケットの名前。
- URI is a: [ディレクトリ] または [サブディレクトリを含むディレクトリ] を選択します。
- Source deletion options: 必要に応じて削除オプションを選択します。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
コンテンツ ハブからフィードを設定する
次のフィールドに値を指定します。
リージョン: Amazon S3 バケットが配置されているリージョン。
- S3 URI: バケット URI(形式は
s3://<your-log-bucket-name>
にする必要があります)。次の内容を置き換えます。your-log-bucket-name
: バケットの名前。
- URI is a: [ディレクトリ] または [サブディレクトリを含むディレクトリ] を選択します。
- Source deletion options: 必要に応じて削除オプションを選択します。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
- S3 URI: バケット URI(形式は
詳細オプション
- フィード名: フィードを識別する事前入力された値。
- ソースタイプ: Google SecOps にログを収集するために使用される方法。
- アセットの名前空間: フィードに関連付けられた名前空間。
- Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。
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 のプロフェッショナルから回答を得ることができます。