收集 Lacework Cloud Security 日志
支持的语言:
    
      
      
        
        
        
  
    
      Google SecOps
    
  
      
    
      
      
        
        
        
  
    
      SIEM
    
  
      
    
    
  概览
此解析器从 Lacework Cloud Security JSON 日志中提取字段,并将其转换为 UDM 格式。它将原始日志字段映射到 UDM 字段,处理各种数据类型,并通过代码中的其他上下文信息丰富事件,最终根据正文和目标信息的存在情况对事件类型进行分类。
准备工作
确保您满足以下前提条件:
- Google Security Operations 实例。
 - 对 FortiCNAPP Lacework 的特权访问权限。
 
设置 Feed
如需配置 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置 > Feed。
 - 点击添加新 Feed。
 - 在下一页上,点击配置单个 Feed。
 - 在 Feed name 字段中,输入 Feed 的名称(例如 Lacework Logs)。
 - 选择 Webhook 作为来源类型。
 - 选择 Lacework 作为日志类型。
 - 点击下一步。
 - 可选:为以下输入参数指定值:
- 拆分分隔符:用于分隔日志行的分隔符,例如 
\n。 
 - 拆分分隔符:用于分隔日志行的分隔符,例如 
 - 点击下一步。
 - 在最终确定界面中检查 Feed 配置,然后点击提交。
 - 点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
 - 复制并存储密钥。您将无法再次查看此密钥。如有需要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥失效。
 - 在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
 - 点击完成。
 
为 Webhook Feed 创建 API 密钥
前往 Google Cloud 控制台 > 凭据。
点击创建凭据,然后选择 API 密钥。
将 API 密钥访问权限限制为 Chronicle API。
指定端点网址
- 在客户端应用中,指定 webhook Feed 中提供的 HTTPS 端点网址。
 通过在自定义标头中指定 API 密钥和密钥来启用身份验证,格式如下:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET建议:将 API 密钥指定为标头,而不是在网址中指定。
如果您的 Webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和密钥:
ENDPOINT_URL?key=API_KEY&secret=SECRET替换以下内容:
ENDPOINT_URL:Feed 端点网址。API_KEY:用于向 Google SecOps 进行身份验证的 API 密钥。SECRET:您生成的用于验证 Feed 的密钥。
为 Google SecOps 配置 Lacework Webhook
- 以管理员权限登录 Lacework FortiCNAPP 控制台。
 - 依次前往设置 > 通知 > 提醒渠道。
 - 点击 + 添加新对比项。
 - 选择 Webhook。
 - 点击下一步。
 - 为渠道指定一个唯一的名称(例如 Google SecOps)。
 - Webhook 网址:输入 
<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 字段映射。逻辑将各种操作系统字符串(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 字段映射,并添加了“设备实例 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 专业人士那里获得解答。