Lacework Cloud Security のログを収集する
概要
このパーサーは、Lacework Cloud Security JSON ログからフィールドを抽出し、UDM 形式に変換します。未加工のログフィールドを UDM フィールドにマッピングし、さまざまなデータ型を処理して、タグから追加のコンテキストでイベントを拡充します。最終的に、プリンシパル情報とターゲット情報の有無に基づいてイベントタイプを分類します。
始める前に
次の前提条件を満たしていることを確認します。
- Google Security Operations インスタンス。
- FortiCNAPP Lacework への特権アクセス。
フィードを設定する
フィードを構成する手順は次のとおりです。
- [SIEM Settings] > [Feeds] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Lacework Logs)。
- [Source type] として [Webhook] を選択します。
- [ログタイプ] として [Lacework] を選択します。
- [次へ] をクリックします。
- 省略可: 次の入力パラメータの値を指定します。
- Split delimiter: ログ行を区切るために使用される区切り文字(\nなど)。
 
- Split delimiter: ログ行を区切るために使用される区切り文字(
- [次へ] をクリックします。
- [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。
- [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
- 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、その場合以前の秘密鍵は無効になります。
- [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。 このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。
- [完了] をクリックします。
Webhook フィード用の API キーを作成する
- Google Cloud コンソール > [認証情報] に移動します。 
- [認証情報を作成] をクリックして [API キー] を選択します。 
- API キーのアクセスを Chronicle API に制限します。 
エンドポイント URL を指定する
- クライアント アプリケーション内で、Webhook フィードで提供される HTTPS エンドポイント URL を指定します。
- 次の形式でカスタム ヘッダーの一部として API キーと秘密鍵を指定して、認証を有効にします。 - X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET- 推奨事項: API キーは URL 内で指定するのではなくヘッダーとして指定してください。 
- Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。 - ENDPOINT_URL?key=API_KEY&secret=SECRET- 以下を置き換えます。 - ENDPOINT_URL: フィード エンドポイントの URL。
- API_KEY: Google SecOps に対する認証に使用する API キー。
- SECRET: フィードの認証用に生成した秘密鍵。
 
Google SecOps 用に Lacework Webhook を構成する
- 管理者権限で Lacework FortiCNAPP コンソールにログインします。
- [設定] > [通知] > [アラート チャンネル] に移動します。
- [+ 新規追加] をクリックします。
- [Webhook] を選択します。
- [次へ] をクリックします。
- チャンネルに一意の名前を指定します(例: Google SecOps)。
- Webhook URL: <ENDPOINT_URL>の後に<API_KEY>と<SECRET>を入力します。
- [保存] をクリックします。
- [アラートルール] を選択し、必要なアラート ルーティングの詳細を構成します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 | 
|---|---|---|
| AGENT_VERSION | metadata.product_version | AGENT_VERSIONフィールドから直接マッピングされます。 | 
| CREATED_TIME | metadata.event_timestamp | CREATED_TIMEフィールドから直接マッピングされ、タイムスタンプに変換されます。 | 
| FILEDATA_HASH | target.file.sha256 | FILEDATA_HASHフィールドから直接マッピングされます。 | 
| FILE_PATH | target.file.full_path | FILE_PATHフィールドから直接マッピングされます。 | 
| IP_ADDR | principal.ip | IP_ADDRフィールドから直接マッピングされます。 | 
| OS | target.platform | OSフィールドからマッピングされます。ロジックは、さまざまな OS 文字列(Linux、Windows、Mac)を UDM 列挙値(LINUX、WINDOWS、MAC)に変換します。一致するものが見つからない場合、デフォルトは UNKNOWN_PLATFORM です。 | 
| STATUS | additional.fields[].key:"STATUS", value.string_value | STATUSフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.Account | metadata.product_deployment_id | TAGS.Accountフィールドから直接マッピングされます。 | 
| TAGS.AmiId | additional.fields[].key:"AmiId", value.string_value | TAGS.AmiIdフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.ExternalIp | target.ip | TAGS.ExternalIpフィールドから直接マッピングされます。 | 
| TAGS.Hostname | principal.hostname | TAGS.Hostnameフィールドから直接マッピングされます。 | 
| TAGS.InstanceId | target.asset_id | TAGS.InstanceIdフィールドから直接マッピングされ、「Device Instance Id:」という接頭辞が付いています。 | 
| TAGS.LwTokenShort | additional.fields[].key:"LwTokenShort", value.string_value | TAGS.LwTokenShortフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.MID | additional.fields[].key:"MID", value.string_value | MIDフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.MODE | additional.fields[].key:"MODE", value.string_value | MODEフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.Name | additional.fields[].key:"Name", value.string_value | TAGS.Nameフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.QSConfigName-vfzg0 | additional.fields[].key:"QSConfigName", value.string_value | TAGS.QSConfigName-vfzg0フィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.ResourceType | target.resource.resource_subtype | TAGS.ResourceTypeフィールドから直接マッピングされます。 | 
| TAGS.SubnetId | target.resource.attribute.labels[].key:"Subnet Id", value | TAGS.SubnetIdフィールドから target.resource.attribute 内のラベルとして直接マッピングされます。 | 
| TAGS.VmInstanceType | target.resource.attribute.labels[].key:"VmInstanceType", value | TAGS.VmInstanceTypeフィールドから target.resource.attribute 内のラベルとして直接マッピングされます。 | 
| TAGS.VmProvider | target.resource.attribute.labels[].key:"VmProvider", value | TAGS.VmProviderフィールドから target.resource.attribute 内のラベルとして直接マッピングされます。 | 
| TAGS.VpcId | target.resource.product_object_id | TAGS.VpcIdフィールドから直接マッピングされます。 | 
| TAGS.Zone | target.cloud.availability_zone | TAGS.Zoneフィールドから直接マッピングされます。 | 
| TAGS.alpha.eksctl.io/nodegroup-name | additional.fields[].key:"eksctl_nodegroup_name", value.string_value | TAGS.alpha.eksctl.io/nodegroup-nameフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.alpha.eksctl.io/nodegroup-type | additional.fields[].key:"eksctl_nodegroup_type", value.string_value | TAGS.alpha.eksctl.io/nodegroup-typeフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.arch | principal.platform_version | TAGS.archフィールドから直接マッピングされます。 | 
| TAGS.aws:autoscaling:groupName | additional.fields[].key:"autoscaling_groupName", value.string_value | TAGS.aws:autoscaling:groupNameフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.aws:ec2:fleet-id | additional.fields[].key:"ec2_fleetid", value.string_value | TAGS.aws:ec2:fleet-idフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.aws:ec2launchtemplate:id | additional.fields[].key:"ec2launchtemplate_id", value.string_value | TAGS.aws:ec2launchtemplate:idフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.aws:ec2launchtemplate:version | additional.fields[].key:"ec2launchtemplate_ver", value.string_value | TAGS.aws:ec2launchtemplate:versionフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.aws:eks:cluster-name | additional.fields[].key:"eks_cluster_name", value.string_value | TAGS.aws:eks:cluster-nameフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.enableCrowdStrike | additional.fields[].key:"enableCrowdStrike", value.string_value | TAGS.enableCrowdStrikeフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/application | additional.fields[].key:"io/application", value.string_value | TAGS.falconx.io/applicationフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/environment | additional.fields[].key:"io/environment", value.string_value | TAGS.falconx.io/environmentフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/managedBy | additional.fields[].key:"io/managedBy", value.string_value | TAGS.falconx.io/managedByフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/project | additional.fields[].key:"io/project", value.string_value | TAGS.falconx.io/projectフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/proxy-type | additional.fields[].key:"io/proxy_type", value.string_value | TAGS.falconx.io/proxy-typeフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/service | additional.fields[].key:"io/service", value.string_value | TAGS.falconx.io/serviceフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.falconx.io/team | additional.fields[].key:"io/team", value.string_value | TAGS.falconx.io/teamフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.k8s.io/cluster-autoscaler/enabled | additional.fields[].key:"k8s_autoscaler_enabled", value.string_value | TAGS.k8s.io/cluster-autoscaler/enabledフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.k8s.io/cluster-autoscaler/falcon | additional.fields[].key:"k8s_cluster_autoscaler", value.string_value | TAGS.k8s.io/cluster-autoscaler/falconフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.kubernetes.io/cluster/falcon | additional.fields[].key:"kubernetes_io_cluster", value.string_value | TAGS.kubernetes.io/cluster/falconフィールドから追加フィールドとして直接マッピングされます。 | 
| TAGS.lw_KubernetesCluster | additional.fields[].key:"lw_KubernetesCluster", value.string_value | TAGS.lw_KubernetesClusterフィールドから追加フィールドとして直接マッピングされます。 | 
| LAST_UPDATE | additional.fields[].key:"LAST_UPDATE", value.string_value | LAST_UPDATEフィールドから追加フィールドとして直接マッピングされます。「LACEWORK」にハードコードされています。「Lacework Cloud Security」にハードコードされます。 | 
| metadata.event_type | metadata.event_type | ロジックによって決定されます。principal.ip と target.ip の両方が存在する場合は「NETWORK_CONNECTION」に設定します。principal.ip のみが存在する場合は「STATUS_UPDATE」に設定します。それ以外の場合は「GENERIC_EVENT」に設定します。 | 
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。