Coletar registros do Lacework Cloud Security

Compatível com:

Visão geral

Esse analisador extrai campos dos registros JSON do Lacework Cloud Security, transformando-os em formato UDM. Ele mapeia campos de registros brutos para campos da UDM, processando vários tipos de dados e enriquecendo o evento com contexto adicional de tags. Por fim, ele classifica o tipo de evento com base na presença de informações principais e de destino.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google Security Operations.
  • Acesso privilegiado ao FortiCNAPP Lacework.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em "Configurações do SIEM" > "Feeds".

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, Registros do Lacework).
  5. Selecione Webhook como o Tipo de origem.
  6. Selecione Lacework como o Tipo de registro.
  7. Clique em Próxima.
  8. Opcional: especifique valores para os seguintes parâmetros de entrada:
    • Delimitador de divisão: o delimitador usado para separar linhas de registro, como \n.
  9. Clique em Próxima.
  10. Revise a configuração do feed na tela Finalizar e clique em Enviar.
  11. Clique em Gerar chave secreta para autenticar o feed.
  12. Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.
  13. Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.
  14. Clique em Concluído.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Delimitador de divisão: o delimitador usado para separar linhas de registro, como \n.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

  • Clique em Gerar chave secreta para autenticar o feed.

  • Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.

  • Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.

Criar uma chave de API para o feed de webhook

  1. Acesse console doGoogle Cloud > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais e, em seguida, selecione Chave de API.

  3. Restrinja o acesso da chave de API à API Chronicle.

Especifique o URL do endpoint

  1. No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed do webhook.
  2. Ative a autenticação especificando a chave de API e a chave secreta como parte do cabeçalho personalizado no seguinte formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Recomendação: especifique a chave de API como um cabeçalho em vez de no URL.

  3. Se o cliente de webhook não aceitar cabeçalhos personalizados, especifique a chave de API e a chave secreta usando parâmetros de consulta no seguinte formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Substitua:

    • ENDPOINT_URL: o URL do endpoint do feed.
    • API_KEY: a chave de API para autenticar no Google SecOps.
    • SECRET: a chave secreta gerada para autenticar o feed.

Configurar um webhook da Lacework para o Google SecOps

  1. Faça login no console do Lacework FortiCNAPP com privilégios de administrador.
  2. Acesse Configurações > Notificações > Canais de alerta.
  3. Clique em + Adicionar novo.
  4. Selecione Webhook.
  5. Clique em Próxima.
  6. Especifique um nome exclusivo para o canal (por exemplo, Google SecOps).
  7. URL do webhook: insira <ENDPOINT_URL> seguido de <API_KEY> e <SECRET>.
  8. Clique em Salvar.
  9. Selecione Regras de alerta e configure os detalhes de roteamento de alerta necessários.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
AGENT_VERSION metadata.product_version Mapeado diretamente do campo AGENT_VERSION.
CREATED_TIME metadata.event_timestamp Mapeado diretamente do campo CREATED_TIME e convertido em um carimbo de data/hora.
FILEDATA_HASH target.file.sha256 Mapeado diretamente do campo FILEDATA_HASH.
FILE_PATH target.file.full_path Mapeado diretamente do campo FILE_PATH.
IP_ADDR principal.ip Mapeado diretamente do campo IP_ADDR.
OS target.platform Mapeado do campo OS. A lógica converte várias strings de SO (Linux, Windows, Mac) em valores de enumeração da UDM (LINUX, WINDOWS, MAC). O padrão é UNKNOWN_PLATFORM se nenhuma correspondência for encontrada.
STATUS additional.fields[].key:"STATUS", value.string_value Mapeado diretamente do campo STATUS como um campo adicional.
TAGS.Account metadata.product_deployment_id Mapeado diretamente do campo TAGS.Account.
TAGS.AmiId additional.fields[].key:"AmiId", value.string_value Mapeado diretamente do campo TAGS.AmiId como um campo adicional.
TAGS.ExternalIp target.ip Mapeado diretamente do campo TAGS.ExternalIp.
TAGS.Hostname principal.hostname Mapeado diretamente do campo TAGS.Hostname.
TAGS.InstanceId target.asset_id Mapeado diretamente do campo TAGS.InstanceId, com o prefixo "Device Instance Id: ".
TAGS.LwTokenShort additional.fields[].key:"LwTokenShort", value.string_value Mapeado diretamente do campo TAGS.LwTokenShort como um campo adicional.
TAGS.MID additional.fields[].key:"MID", value.string_value Mapeado diretamente do campo MID como um campo adicional.
TAGS.MODE additional.fields[].key:"MODE", value.string_value Mapeado diretamente do campo MODE como um campo adicional.
TAGS.Name additional.fields[].key:"Name", value.string_value Mapeado diretamente do campo TAGS.Name como um campo adicional.
TAGS.QSConfigName-vfzg0 additional.fields[].key:"QSConfigName", value.string_value Mapeado diretamente do campo TAGS.QSConfigName-vfzg0 como um campo adicional.
TAGS.ResourceType target.resource.resource_subtype Mapeado diretamente do campo TAGS.ResourceType.
TAGS.SubnetId target.resource.attribute.labels[].key:"Subnet Id", value Mapeado diretamente do campo TAGS.SubnetId como um rótulo em target.resource.attribute.
TAGS.VmInstanceType target.resource.attribute.labels[].key:"VmInstanceType", value Mapeado diretamente do campo TAGS.VmInstanceType como um rótulo em target.resource.attribute.
TAGS.VmProvider target.resource.attribute.labels[].key:"VmProvider", value Mapeado diretamente do campo TAGS.VmProvider como um rótulo em target.resource.attribute.
TAGS.VpcId target.resource.product_object_id Mapeado diretamente do campo TAGS.VpcId.
TAGS.Zone target.cloud.availability_zone Mapeado diretamente do campo TAGS.Zone.
TAGS.alpha.eksctl.io/nodegroup-name additional.fields[].key:"eksctl_nodegroup_name", value.string_value Mapeado diretamente do campo TAGS.alpha.eksctl.io/nodegroup-name como um campo adicional.
TAGS.alpha.eksctl.io/nodegroup-type additional.fields[].key:"eksctl_nodegroup_type", value.string_value Mapeado diretamente do campo TAGS.alpha.eksctl.io/nodegroup-type como um campo adicional.
TAGS.arch principal.platform_version Mapeado diretamente do campo TAGS.arch.
TAGS.aws:autoscaling:groupName additional.fields[].key:"autoscaling_groupName", value.string_value Mapeado diretamente do campo TAGS.aws:autoscaling:groupName como um campo adicional.
TAGS.aws:ec2:fleet-id additional.fields[].key:"ec2_fleetid", value.string_value Mapeado diretamente do campo TAGS.aws:ec2:fleet-id como um campo adicional.
TAGS.aws:ec2launchtemplate:id additional.fields[].key:"ec2launchtemplate_id", value.string_value Mapeado diretamente do campo TAGS.aws:ec2launchtemplate:id como um campo adicional.
TAGS.aws:ec2launchtemplate:version additional.fields[].key:"ec2launchtemplate_ver", value.string_value Mapeado diretamente do campo TAGS.aws:ec2launchtemplate:version como um campo adicional.
TAGS.aws:eks:cluster-name additional.fields[].key:"eks_cluster_name", value.string_value Mapeado diretamente do campo TAGS.aws:eks:cluster-name como um campo adicional.
TAGS.enableCrowdStrike additional.fields[].key:"enableCrowdStrike", value.string_value Mapeado diretamente do campo TAGS.enableCrowdStrike como um campo adicional.
TAGS.falconx.io/application additional.fields[].key:"io/application", value.string_value Mapeado diretamente do campo TAGS.falconx.io/application como um campo adicional.
TAGS.falconx.io/environment additional.fields[].key:"io/environment", value.string_value Mapeado diretamente do campo TAGS.falconx.io/environment como um campo adicional.
TAGS.falconx.io/managedBy additional.fields[].key:"io/managedBy", value.string_value Mapeado diretamente do campo TAGS.falconx.io/managedBy como um campo adicional.
TAGS.falconx.io/project additional.fields[].key:"io/project", value.string_value Mapeado diretamente do campo TAGS.falconx.io/project como um campo adicional.
TAGS.falconx.io/proxy-type additional.fields[].key:"io/proxy_type", value.string_value Mapeado diretamente do campo TAGS.falconx.io/proxy-type como um campo adicional.
TAGS.falconx.io/service additional.fields[].key:"io/service", value.string_value Mapeado diretamente do campo TAGS.falconx.io/service como um campo adicional.
TAGS.falconx.io/team additional.fields[].key:"io/team", value.string_value Mapeado diretamente do campo TAGS.falconx.io/team como um campo adicional.
TAGS.k8s.io/cluster-autoscaler/enabled additional.fields[].key:"k8s_autoscaler_enabled", value.string_value Mapeado diretamente do campo TAGS.k8s.io/cluster-autoscaler/enabled como um campo adicional.
TAGS.k8s.io/cluster-autoscaler/falcon additional.fields[].key:"k8s_cluster_autoscaler", value.string_value Mapeado diretamente do campo TAGS.k8s.io/cluster-autoscaler/falcon como um campo adicional.
TAGS.kubernetes.io/cluster/falcon additional.fields[].key:"kubernetes_io_cluster", value.string_value Mapeado diretamente do campo TAGS.kubernetes.io/cluster/falcon como um campo adicional.
TAGS.lw_KubernetesCluster additional.fields[].key:"lw_KubernetesCluster", value.string_value Mapeado diretamente do campo TAGS.lw_KubernetesCluster como um campo adicional.
LAST_UPDATE additional.fields[].key:"LAST_UPDATE", value.string_value Mapeado diretamente do campo LAST_UPDATE como um campo adicional. Codificado como "LACEWORK". Codificado como "Lacework Cloud Security".
metadata.event_type metadata.event_type Determinado pela lógica. Definido como "NETWORK_CONNECTION" se principal.ip e target.ip estiverem presentes, "STATUS_UPDATE" se apenas principal.ip estiver presente e "GENERIC_EVENT" caso contrário.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.