Recolha registos do Secure Web Proxy

Compatível com:

Este documento explica como exportar e carregar o proxy Web seguro para o Google Security Operations através do Cloud Storage. O analisador extrai campos de registos JSON, transformando-os no modelo de dados unificado (UDM). Inicializa os campos UDM, analisa a carga útil JSON, extrai informações da rede, detalhes de segurança, atributos de recursos e define o tipo de evento com base na presença de informações principais e de destino.

Antes de começar

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

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

Crie um contentor do Cloud Storage

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

    Aceda aos contentores

  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 do nome do contentor; por exemplo, gcp-swp-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 Secure Web Proxy

  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, SWP-Export-Sink.
    • Destino da sincronização: selecione Armazenamento do Cloud Storage e introduza o URI do seu contentor; por exemplo, gs://gcp-swp-logs.
    • Filtro de registo:
    logName="projects/<your-project-id>/logs/networkservices.googleapis.com/gateway_requests"
    
  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

Para configurar um feed, siga estes passos:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na página seguinte, clique em Configurar um único feed.
  4. No campo Nome do feed, introduza um nome para o feed; por exemplo, Google Cloud Registos SWP.
  5. Selecione Google Cloud Storage V2 como Tipo de origem.
  6. Selecione GCP Secure Web Proxy como o Tipo de registo.
  7. Clique em Obter conta de serviço junto ao campo Conta de serviço do Chronicle.
  8. Clicar em Seguinte.
  9. Especifique valores para os seguintes parâmetros de entrada:

    • URI do contentor de armazenamento: URL do contentor do Cloud Storage; por exemplo, gs://gcp-swp-logs.
    • Opções de eliminação da origem: selecione a opção de eliminação de acordo com a sua preferência.

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

  10. Clicar em Seguinte.

  11. Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
httpRequest.latency additional.fields[].key: HTTPRequest Latency
additional.fields[].value.string_value: 0.124462s
Mapeado diretamente a partir do campo de registo não processado.
httpRequest.protocol network.application_protocol: HTTP
network.application_protocol_version: 2
O protocolo e a versão são extraídos do campo httpRequest.protocol através de um padrão grok.
httpRequest.remoteIp target.asset.ip: 1.1.0.1
target.ip: 1.1.0.1
O endereço IP é extraído do campo httpRequest.remoteIp através de um padrão grok.
httpRequest.requestMethod network.http.method: GET Mapeado diretamente a partir do campo de registo não processado.
httpRequest.requestSize network.sent_bytes: 144 Mapeado diretamente a partir do campo de registo não processado e convertido num número inteiro.
httpRequest.requestUrl target.url: https://github.com/tempuslabs/tempusutils/info/refs?service=git-upload-pack Mapeado diretamente a partir do campo de registo não processado.
httpRequest.responseSize network.received_bytes: 225 Mapeado diretamente a partir do campo de registo não processado e convertido num número inteiro.
httpRequest.serverIp principal.asset.ip: 1.8.1.4
principal.ip: 1.8.1.4
O endereço IP é extraído do campo httpRequest.serverIp através de um padrão grok.
httpRequest.status network.http.response_code: 401 Mapeado diretamente a partir do campo de registo não processado e convertido num número inteiro.
httpRequest.userAgent network.http.user_agent: git/2.34.1
network.http.parsed_user_agent: {
family: USER_DEFINED,
device: git,
device_version: 2.34.1
}
Mapeado diretamente a partir do campo de registo não processado. O campo parsed_user_agent é derivado da análise do campo httpRequest.userAgent.
insertId metadata.product_log_id: 1yh8wczer5o8n Mapeado diretamente a partir do campo de registo não processado.
jsonPayload.@type additional.fields[].key: Log Type
additional.fields[].value.string_value: type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry
Mapeado diretamente a partir do campo de registo não processado.
jsonPayload.enforcedGatewaySecurityPolicy.hostname target.asset.hostname: github.com
target.hostname: github.com
Mapeado diretamente a partir do campo de registo não processado.
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action security_result.action: ALLOW
security_result.action_details: ALLOWED
O security_result.action é derivado com base no valor de jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action. Se a ação for ALLOWED, o campo UDM é definido como ALLOW. Se a ação for DENIED, o campo UDM é definido como BLOCK.
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].name security_result.rule_name: projects/671807354785/locations/us-central1/gatewaySecurityPolicies/github-access-gateway-security-policy-5cec30cd/rules/github-access-gateway-security-policy-rule-5cec30cd Mapeado diretamente a partir do campo de registo não processado.
jsonPayload.enforcedGatewaySecurityPolicy.requestWasTlsIntercepted security_result.detection_fields[].key: requestWasTlsIntercepted
security_result.detection_fields[].value: true
Mapeado diretamente a partir do campo de registo não processado.
logName additional.fields[].key: Log Name
additional.fields[].value.string_value: projects/rws-w6uza3pn5jzzh6z3hc3d/logs/networkservices.googleapis.com%2Fgateway_requests
Mapeado diretamente a partir do campo de registo não processado.
receiveTimestamp metadata.collected_timestamp: {
seconds: 1710189647,
nanos: 661101224
}
Analisado a partir do campo de registo não processado através do formato de data RFC 3339.
resource.labels.gateway_name security_result.detection_fields[].key: gateway-name
security_result.detection_fields[].value: github-access-gateway-5cec30cd
Mapeado diretamente a partir do campo de registo não processado.
resource.labels.gateway_type security_result.detection_fields[].key: gateway-type
security_result.detection_fields[].value: SECURE_WEB_GATEWAY
Mapeado diretamente a partir do campo de registo não processado.
resource.labels.location target.resource.attribute.cloud.availability_zone: us-central1 Mapeado diretamente a partir do campo de registo não processado.
resource.labels.network_name target.resource.attribute.labels[].key: rc_network_name
target.resource.attribute.labels[].value: projects/rws-w6uza3pn5jzzh6z3hc3d/global/networks/rws-tr-pilot-workspace
Mapeado diretamente a partir do campo de registo não processado.
resource.type target.resource.attribute.labels[].key: Resource Type
target.resource.attribute.labels[].value: networkservices.googleapis.com/Gateway
Mapeado diretamente a partir do campo de registo não processado.
severity security_result.severity: MEDIUM Mapeado a partir do campo de registo não processado. O valor é traduzido para um nível de gravidade da UDM. Neste caso, WARNING está mapeado para MEDIUM.
timestamp metadata.event_timestamp: {
seconds: 1710189639,
nanos: 952848000
}
Analisado a partir do campo de registo não processado através do formato de data RFC 3339.
(Lógica do analisador) metadata.event_type: NETWORK_HTTP Determinado pela lógica do analisador com base na presença de has_principal, has_target e um protocolo correspondente a http.
(Lógica do analisador) metadata.log_type: GCP_SWP Valor codificado com base no produto.

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