Coletar registros do Cloud Next Generation Firewall Enterprise

Compatível com:

Este documento explica como exportar e transferir registros do Cloud NGFW Enterprise para o Google Security Operations usando Google Cloud. O analisador extrai campos dos Google Cloud logs de firewall, os transforma e os mapeia para o UDM. Ele processa vários campos de registro, incluindo detalhes de conexão, informações de ameaça, detalhes de regras e informações de rede, realizando conversões de tipo de dados, renomeação e lógica condicional com base nos campos action e direction para preencher o modelo UDM corretamente.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Verifique se o Cloud NGFW Enterprise está ativo e configurado no seu Google Cloud ambiente.
  • Verifique se você tem acesso privilegiado a Google Cloud e as permissões adequadas para acessar os registros do Cloud NGFW Enterprise.

Criar um bucket do Cloud Storage

  1. Faça login no console do Google Cloud.
  2. Acesse a página Buckets do Cloud Storage.

    Acessar buckets

  3. Clique em Criar.

  4. Na página Criar um bucket, insira as informações do seu bucket. Após cada uma das etapas a seguir, clique em Continuar para prosseguir para a próxima:

    1. Na seção Começar, faça o seguinte:

      1. Insira um nome exclusivo que atenda aos requisitos de nome de bucket. Por exemplo, gcp-ngfw-logs.
      2. Para ativar o namespace hierárquico, clique na seta de expansão para abrir a seção Otimizar para cargas de trabalho orientadas a arquivos e com uso intensivo de dados e selecione Ativar namespace hierárquico neste bucket.

      3. Para adicionar um rótulo de bucket, clique na seta de expansão para abrir a seção Rótulos.

      4. Clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.

    2. Na seção Escolha onde armazenar seus dados, faça o seguinte:

      1. Selecione um tipo de local.
      2. Use o menu do tipo de local para selecionar um Local em que os dados de objetos no bucket serão armazenados permanentemente.

      3. Para configurar a replicação entre buckets, abra a seção Configurar a replicação entre buckets.

    3. Na seção Escolha uma classe de armazenamento para seus dados, selecione uma classe de armazenamento padrão para o bucket ou selecione Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.

    4. Na seção Escolha como controlar o acesso a objetos, selecione não para aplicar a prevenção de acesso público e selecione um modelo de controle de acesso para os objetos do bucket.

    5. Na seção Escolha como proteger os dados do objeto, faça o seguinte:

      1. Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
      2. Para escolher como os dados do objeto serão criptografados, clique na seta de expansão identificada como Criptografia de dados e selecione um método de criptografia de dados.
  5. Clique em Criar.

Configurar a exportação de registros do Cloud NGFW

  1. Faça login no console do Google Cloud.
  2. Acesse Logging > Roteador de registros.
  3. Clique em Criar coletor.
  4. Informe os seguintes parâmetros de configuração:

    • Nome do coletor: insira um nome significativo. Por exemplo, NGFW-Export-Sink.
    • Destino do sink: selecione Google Cloud Storage e insira o URI do bucket. Por exemplo, gs://gcp-ngfw-logs.
    • Filtro de registro:

      logName="projects/<your-project-id>/logs/gcp-firewall"
      
  5. Clique em Criar.

Configurar permissões do Cloud Storage

  1. Acesse IAM e administrador > IAM.
  2. Localize a conta de serviço do Cloud Logging.
  3. Conceda o papel roles/storage.admin no bucket.

Configurar um feed no Google SecOps para processar registros do Cloud NGFW Enterprise

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed. Por exemplo, Logs de GCP NGFW Enterprise.
  4. Selecione Google Cloud Storage como o Tipo de origem.
  5. Selecione GCP NGFW Enterprise como o Tipo de registro.
  6. Clique em Pegar conta de serviço ao lado do campo Conta de serviço do Chronicle.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • URI do bucket do Storage:URL do bucket do Google Cloud storage. Por exemplo, gs://gcp-ngfw-logs.
    • URI Is A: selecione Directory which includes subdirectories.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com sua preferência.

    • Namespace do recurso: o namespace do recurso.

    • Rótulos de ingestão: o rótulo aplicado aos eventos desse feed.

  9. Clique em Próxima.

  10. Revise a configuração do novo feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
insertId metadata.product_log_id Mapeado diretamente do campo insertId.
jsonPayload.action security_result.action_details Mapeado diretamente do campo jsonPayload.action.
jsonPayload.connection.clientIp principal.asset.ip Mapeado diretamente do campo jsonPayload.connection.clientIp.
jsonPayload.connection.clientIp principal.ip Mapeado diretamente do campo jsonPayload.connection.clientIp.
jsonPayload.connection.clientPort principal.port Mapeado diretamente do campo jsonPayload.connection.clientPort e convertido em número inteiro.
jsonPayload.connection.protocol network.ip_protocol Mapeado de jsonPayload.connection.protocol. Se o valor for tcp, o campo UDM será definido como TCP. Uma lógica semelhante se aplica a udp, icmp e igmp.
jsonPayload.connection.serverIp target.asset.ip Mapeado diretamente do campo jsonPayload.connection.serverIp.
jsonPayload.connection.serverIp target.ip Mapeado diretamente do campo jsonPayload.connection.serverIp.
jsonPayload.connection.serverPort target.port Mapeado diretamente do campo jsonPayload.connection.serverPort e convertido em número inteiro.
jsonPayload.interceptVpc.projectId security_result.rule_labels Mapeado de jsonPayload.interceptVpc.projectId com a chave rule_details_projectId.
jsonPayload.interceptVpc.vpc security_result.rule_labels Mapeado de jsonPayload.interceptVpc.vpc com a chave rule_details_vpc_network.
jsonPayload.securityProfileGroupDetails.securityProfileGroupId security_result.rule_labels Mapeado de jsonPayload.securityProfileGroupDetails.securityProfileGroupId com a chave rule_details_security_profile_group.
jsonPayload.securityProfileGroupDetails.securityProfileGroupId security_result.rule_labels Mapeado de jsonPayload.securityProfileGroupDetails.securityProfileGroupId com a chave rule_details_securityProfileGroupDetails_id.
jsonPayload.threatDetails.category security_result.rule_labels Mapeado de jsonPayload.threatDetails.category com a chave rule_details_category.
jsonPayload.threatDetails.direction security_result.rule_labels Mapeado de jsonPayload.threatDetails.direction com a chave rule_details_direction.
jsonPayload.threatDetails.id security_result.threat_id Mapeado diretamente do campo jsonPayload.threatDetails.id.
jsonPayload.threatDetails.severity security_result.severity Mapeado de jsonPayload.threatDetails.severity. Se o valor for CRITICAL, o campo UDM será definido como CRITICAL. Uma lógica semelhante se aplica a HIGH, MEDIUM, LOW e INFO.
jsonPayload.threatDetails.threat security_result.threat_name Mapeado diretamente do campo jsonPayload.threatDetails.threat.
jsonPayload.threatDetails.type security_result.rule_labels Mapeado de jsonPayload.threatDetails.type com a chave rule_details_threat_type.
jsonPayload.threatDetails.uriOrFilename security_result.rule_labels Mapeado de jsonPayload.threatDetails.uriOrFilename com a chave rule_details_uriOrFilename.
logName metadata.product_event_type Mapeado diretamente do campo logName.
metadata.collected_timestamp metadata.collected_timestamp Mapeado diretamente do campo receiveTimestamp e analisado usando o formato de data especificado.
metadata.event_type metadata.event_type Defina como NETWORK_CONNECTION se principal_ip e target_ip estiverem presentes. Defina como STATUS_UNCATEGORIZED se apenas principal_ip estiver presente. Caso contrário, defina como GENERIC_EVENT.
metadata.product_name metadata.product_name Fixado em GCP Firewall.
metadata.vendor_name metadata.vendor_name Fixado em Google Cloud Platform.
receiveTimestamp metadata.collected_timestamp Mapeado diretamente do campo receiveTimestamp.
security_result.action security_result.action Derivado do campo jsonPayload.action. Mapeado para ALLOW, BLOCK ou UNKNOWN_ACTION com base no valor de jsonPayload.action.
timestamp metadata.event_timestamp Mapeado diretamente do campo timestamp.
timestamp timestamp Mapeado diretamente do campo timestamp.

Alterações

2024-04-16

  • O mapeamento de alert_severity foi alterado de jsonPayload.alert_severity para jsonPayload.threatDetails.severity.
  • O mapeamento de threat_id foi alterado de jsonPayload.threat_id para jsonPayload.threatDetails.id.
  • O mapeamento de rdspg foi alterado de jsonPayload.security_profile_group para jsonPayload.securityProfileGroupDetails.securityProfileGroupId.
  • O mapeamento de rduri foi alterado de jsonPayload.uri_or_filename para jsonPayload.threatDetails.uriOrFilename.
  • O mapeamento de jsonPayload.rule_details.priority, jsonPayload.rule_details.apply_security_profile_fallback_action, jsonPayload.rule_details.source_range e jsonPayload.rule_details.target_secure_tag foi removido.

2024-03-26

  • Parser recém-criado.

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