Recolha registos da firewall de próxima geração do Google Cloud

Compatível com:

Este documento explica como exportar e carregar registos do NGFW da nuvem para o Google Security Operations através do Google Cloud. O analisador extrai campos dos registos da firewall, transforma-os e mapeia-os para o UDM. Google Cloud Processa vários campos de registo, incluindo detalhes de ligação, informações sobre ameaças, detalhes de regras e informações de rede, realizando conversões de tipos de dados, mudando o nome e aplicando lógica condicional com base nos campos action e direction para preencher corretamente o modelo UDM.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps.
  • O Cloud NGFW está ativo e configurado no seu ambiente Google Cloud .
  • Acesso privilegiado a Google Cloud e autorizações adequadas para aceder aos registos do Cloud NGFW.

Crie um contentor do Cloud Storage

  1. Inicie sessão na Google Cloud consola.
  2. Aceda à página Contentores do Cloud Storage.

    Aceda a Recipientes

  3. Clique em Criar.

  4. Na página Criar um depósito, introduza as informações do depósito. Após cada um dos passos seguintes, clique em Continuar para avançar para o passo seguinte:

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

      1. Introduza um nome exclusivo que cumpra os requisitos de nome do contentor; por exemplo, gcp-ngfw-logs.
      2. Para ativar o espaço de nomes hierárquico, clique na seta de expansão para expandir a secção Otimizar para cargas de trabalho orientadas para ficheiros e com grande volume de dados e, de seguida, selecione Ativar espaço de nomes hierárquico neste contentor.

      3. Para adicionar uma etiqueta de grupo, clique na seta de expansão para expandir a secção Etiquetas.

      4. Clique em Adicionar etiqueta e especifique uma chave e um valor para a etiqueta.

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

      1. Selecione um Tipo de localização.
      2. Use o menu de tipo de localização para selecionar uma Localização onde os dados de objetos no seu contentor vão ser armazenados permanentemente.

      3. Para configurar a replicação entre contentores, expanda a secção Configurar replicação entre contentores.

    3. Na secção Escolha uma classe de armazenamento para os seus dados, selecione uma classe de armazenamento predefinida para o contentor ou selecione Autoclass para a gestão automática da classe de armazenamento dos dados do seu contentor.

    4. Na secçã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 controlo de acesso para os objetos do seu contentor.

    5. Na secção Escolha como proteger os dados de objetos, faça o seguinte:

      1. Selecione qualquer uma das opções em Proteção de dados que quer definir para o seu contentor.
      2. Para escolher como os dados de objetos vão ser encriptados, clique na seta de expansão com a etiqueta Encriptação de dados e selecione um Método de encriptação de dados.
  5. Clique em Criar.

Configure a exportação de registos do NGFW da nuvem

  1. Inicie sessão na Google Cloud consola.
  2. Aceda a Registo > Router de registos.
  3. Clique em Criar destino.
  4. Forneça os seguintes parâmetros de configuração:

    • Nome do destino: introduza um nome significativo; por exemplo, NGFW-Export-Sink.
    • Destino da sincronização: selecione Google Cloud Storage e introduza o URI do seu contentor; por exemplo, gs://gcp-ngfw-logs/.
    • Filtro de registo:

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

Configure autorizações para o Cloud Storage

  1. Aceda a IAM e administrador > IAM.
  2. Localize a conta de serviço do Cloud Logging.
  3. Conceda a função roles/storage.admin no contentor.

Configure feeds

Existem dois pontos de entrada diferentes para configurar feeds na plataforma Google SecOps:

  • Definições do SIEM > Feeds > Adicionar novo feed
  • Content Hub > Pacotes de conteúdo > Começar

Como configurar o feed Google Cloud NGFW Enterprise

  1. Clique no pacote Google Cloud Compute platform.
  2. Localize o tipo de registo GCP NGFW Enterprise.
  3. Clicar em Seguinte.
  4. Especifique valores para os seguintes campos:

    • Tipo de origem: Google Cloud Storage V2
    • URI do contentor de armazenamento: Google Cloud URL do contentor de armazenamento; por exemplo, gs://gcp-ngfw-logs/. Este URL tem de terminar com uma barra invertida (/).
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com a sua preferência.

    • Idade máxima do ficheiro: inclua ficheiros modificados no número de dias indicado. A predefinição é 180 dias.

  5. Clique em Obter uma conta de serviço junto ao campo Conta de serviço do Chronicle.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Espaço de nomes do recurso: espaço de nomes associado ao feed.
    • Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
  6. Clique em Criar feed.

Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
insertId metadata.product_log_id Mapeado diretamente a partir do campo insertId.
jsonPayload.action security_result.action_details Mapeado diretamente a partir do campo jsonPayload.action.
jsonPayload.connection.clientIp principal.asset.ip Mapeado diretamente a partir do campo jsonPayload.connection.clientIp.
jsonPayload.connection.clientIp principal.ip Mapeado diretamente a partir do campo jsonPayload.connection.clientIp.
jsonPayload.connection.clientPort principal.port Mapeado diretamente a partir do campo jsonPayload.connection.clientPort e convertido em número inteiro.
jsonPayload.connection.protocol network.ip_protocol Mapeado a partir de jsonPayload.connection.protocol. Se o valor for tcp, o campo UDM é definido como TCP. A mesma lógica aplica-se a udp, icmp e igmp.
jsonPayload.connection.serverIp target.asset.ip Mapeado diretamente a partir do campo jsonPayload.connection.serverIp.
jsonPayload.connection.serverIp target.ip Mapeado diretamente a partir do campo jsonPayload.connection.serverIp.
jsonPayload.connection.serverPort target.port Mapeado diretamente a partir 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 a partir do campo jsonPayload.threatDetails.id.
jsonPayload.threatDetails.severity security_result.severity Mapeado a partir de jsonPayload.threatDetails.severity. Se o valor for CRITICAL, o campo UDM é definido como CRITICAL. A mesma lógica aplica-se a HIGH, MEDIUM, LOW e INFO.
jsonPayload.threatDetails.threat security_result.threat_name Mapeado diretamente a partir 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 a partir do campo logName.
metadata.collected_timestamp metadata.collected_timestamp Mapeado diretamente a partir do campo receiveTimestamp e analisado através do formato de data especificado.
metadata.event_type metadata.event_type Definido como NETWORK_CONNECTION se principal_ip e target_ip estiverem presentes. Definido como STATUS_UNCATEGORIZED se apenas principal_ip estiver presente. Caso contrário, defina como GENERIC_EVENT.
metadata.product_name metadata.product_name Codificado para GCP Firewall.
metadata.vendor_name metadata.vendor_name Codificado para Google Cloud Platform.
receiveTimestamp metadata.collected_timestamp Mapeado diretamente a partir 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 a partir do campo timestamp.
timestamp timestamp Mapeado diretamente a partir do campo timestamp.

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