Use o registo de pedidos

Os registos por pedido do Google Cloud Armor para o nome da política de segurança, a prioridade da regra de correspondência, a ação associada e as informações relacionadas são registados como parte do registo para equilibradores de carga de aplicações externos e equilibradores de carga de rede de proxy externos. O registo para novos serviços de back-end está desativado por predefinição, pelo que tem de ativar o registo para registar informações de registo completas para o Cloud Armor.

Os registos do Cloud Armor fazem parte dos registos do Cloud Load Balancing. Isto significa que a geração de registos do Cloud Armor está sujeita à taxa de amostragem de registos configurada para o seu equilibrador de carga. Se reduzir a taxa de amostragem do balanceador de carga, os registos de pedidos do Cloud Armor são amostrados a essa taxa reduzida. Além disso, se usar a referência de serviços entre projetos, os registos são gerados no projeto anfitrião ou de serviço que inclui o frontend e o mapa de URLs do seu equilibrador de carga. Por conseguinte, recomendamos que os administradores no projeto de front-end concedam autorizações para ler registos e métricas aos administradores no projeto de back-end.

Através do registo, pode ver todos os pedidos avaliados por uma política de segurança do Cloud Armor e o resultado ou a ação realizada com base na regra correspondente de prioridade mais alta. Por exemplo, para ver pedidos recusados, pode usar filtros como jsonPayload.enforcedSecurityPolicy.outcome="DENY" ou jsonPayload.statusDetails="denied_by_security_policy".

Para ativar o registo de um Application Load Balancer externo, consulte o artigo Registo na página de registo e monitorização do Application Load Balancer externo global. Para o balanceador de carga de rede de proxy externo, pode usar os comandos da CLI do Google Cloud, conforme indicado na página anterior Registo e monitorização do balanceador de carga de aplicações externo. Não pode ativar o registo para o equilibrador de carga de rede do proxy externo através da consola. Google Cloud

Além disso, pode definir diferentes níveis de registo para ajudar a avaliar se as suas políticas de segurança e respetivas regras estão a funcionar conforme esperado. Para obter informações completas, consulte o artigo Registo detalhado.

Entradas do registo da política de segurança

As seguintes entradas de registo no Explorador de registos destinam-se ao registo de regras e políticas de segurança do Cloud Armor. As entradas incluem a seguinte estrutura em jsonPayload. Os detalhes do pedido HTTP são apresentados na mensagem httpRequest.

  • statusDetails: uma descrição textual do código de resposta.
    • redirected_by_security_policy: o pedido foi redirecionado por uma regra de redirecionamento, GOOGLE_RECAPTCHA ou EXTERNAL_302.
    • denied_by_security_policy: um pedido foi recusado pelo balanceador de carga devido a uma política de segurança do Cloud Armor.
    • body_denied_by_security_policy: um corpo do pedido foi recusado pelo equilibrador de carga devido a uma política de segurança do Cloud Armor.
  • enforcedSecurityPolicy: a regra da política de segurança que foi aplicada.
    • name: o nome da política de segurança.
    • priority: uma prioridade numérica da regra correspondente na política de segurança.
    • adaptiveProtection: informações sobre a regra de proteção adaptativa implementada automaticamente, se aplicável.
      • autoDeployAlertId: o ID do alerta dos eventos que a proteção adaptativa detetou.
    • configuredAction: o nome da ação configurada na regra correspondente, por exemplo, ALLOW, DENY, GOOGLE_RECAPTCHA, EXTERNAL_302, THROTTLE (para uma regra de limitação) e RATE_BASED_BAN (para uma regra de proibição baseada na taxa).
    • rateLimitAction: informações sobre a ação de limite de taxa quando é encontrada uma regra de limitação ou uma regra de proibição baseada em taxas.
      • key: valor da chave do limite de taxa (até 36 bytes). Este campo é omitido se o tipo de chave for ALL ou se o tipo de chave for HTTP-HEADER ou HTTP-COOKIE e o cabeçalho ou o cookie especificado não estiver presente no pedido.
      • outcome: os valores possíveis são os seguintes:
        • "RATE_LIMIT_THRESHOLD_CONFORM" se estiver abaixo do limite de taxa configurado.
        • "RATE_LIMIT_THRESHOLD_EXCEED" se estiver acima do limite de taxa configurado
        • "BAN_THRESHOLD_EXCEED" se estiver acima do limite de proibição configurado.
    • outcome: o resultado da execução da ação configurada, por exemplo, ACCEPT, DENY, REDIRECT e EXEMPT.
    • preconfiguredExprIds: os IDs de todas as expressões de regras de WAF pré-configuradas que acionaram a regra.
    • threatIntelligence: informações sobre as listas de endereços IP correspondentes do Google Threat Intelligence, se aplicável.
      • categories: os nomes das listas de endereços IP correspondentes.
    • addressGroup: informações sobre os grupos de moradas correspondentes, se aplicável.
      • names: os nomes dos grupos de moradas com correspondência.
  • previewSecurityPolicy: preenchido se um pedido corresponder a uma regra configurada para pré-visualização (presente apenas quando uma regra de pré-visualização teria tido prioridade sobre a regra aplicada).
    • name: o nome da política de segurança
    • priority: uma prioridade numérica da regra correspondente na política de segurança.
    • configuredAction: o nome da ação configurada na regra correspondente, por exemplo, ALLOW, DENY, GOOGLE_RECAPTCHA, EXTERNAL_302, THROTTLE (para uma regra de limitação) e RATE_BASED_BAN (para uma regra de proibição baseada na taxa).
    • rateLimitAction: informações sobre a ação de limite de taxa quando é encontrada uma regra de limitação ou uma regra de proibição baseada em taxas.
      • key: valor da chave do limite de taxa (até 36 bytes). Este campo é omitido se o tipo de chave for ALL ou se o tipo de chave for HTTP-HEADER ou HTTP-COOKIE e o cabeçalho ou o cookie especificado não estiver presente no pedido.
      • outcome: os valores possíveis são os seguintes:
        • "RATE_LIMIT_THRESHOLD_CONFORM" se estiver abaixo do limite de taxa configurado.
        • "RATE_LIMIT_THRESHOLD_EXCEED" se estiver acima do limite de taxa configurado
        • "BAN_THRESHOLD_EXCEED" se estiver acima do limite de proibição configurado.
    • outcome: o resultado da execução da ação configurada, por exemplo, ACCEPT, DENY, REDIRECT e EXEMPT.
    • preconfiguredExprIds: os IDs de todas as expressões de regras de WAF pré-configuradas que acionaram a regra.
    • threatIntelligence: informações sobre as listas de endereços IP correspondentes das informações sobre ameaças, se aplicável.
      • categories: os nomes das listas de endereços IP correspondentes.
    • addressGroup: informações sobre os grupos de moradas correspondentes, se aplicável.
      • names: os nomes dos grupos de moradas com correspondência.
  • enforcedEdgeSecurityPolicy: a regra da política de segurança de edge que foi aplicada.
    • name: o nome da política de segurança.
    • priority: a prioridade da regra correspondente na política de segurança.
    • configuredAction: o nome da ação configurada na regra de correspondência, por exemplo, ALLOW, DENY.
    • outcome: o resultado da execução da ação configurada, por exemplo, ACCEPT, DENY.
  • previewEdgeSecurityPolicy: preenchido se um pedido corresponder a uma regra de política de segurança de limite configurada para pré-visualização. A entrada de registo previewEdgeSecurityPolicy só está presente quando uma regra de pré-visualização tem prioridade sobre a regra aplicada.
    • name: o nome da política de segurança.
    • priority: uma prioridade numérica da regra correspondente na política de segurança.
    • configuredAction: o nome da ação configurada na regra de correspondência, por exemplo, ALLOW, DENY.
    • outcome: o resultado da execução da ação configurada, por exemplo, ACCEPT, DENY.

Ver registos

Só pode ver os registos de uma política de segurança do Cloud Armor na Google Cloud consola.

Consola

  1. Na Google Cloud consola, aceda a Políticas do Cloud Armor.

    Aceda às políticas do Cloud Armor

  2. Clique em Ações.

  3. Selecione Ver registos.

Peça o registo de dados

Quando usado com o Cloud Armor, jsonPayload tem o seguinte campo adicional:

  • securityPolicyRequestData: dados relativos ao pedido enquanto estão a ser processados por uma política de segurança, independentemente da regra que seja correspondida eventualmente.
    • recaptchaActionToken: dados relacionados com um token de ação do reCAPTCHA.
      • score: uma pontuação de legitimidade do utilizador incorporada num token de ação do reCAPTCHA. Só está presente quando um token de ação do reCAPTCHA é anexado ao pedido e é descodificado com êxito com base numa regra da política de segurança. Para mais informações, consulte o artigo Aplique a avaliação do reCAPTCHA.
    • recaptchaSessionToken: dados relacionados com um token de sessão do reCAPTCHA.
      • score: uma pontuação de legitimidade do utilizador incorporada num token de sessão do reCAPTCHA. Só está presente quando um token de sessão do reCAPTCHA é anexado ao pedido e é descodificado com êxito com base numa regra da política de segurança.
    • tlsJa4Fingerprint: uma impressão digital JA4 TTL/SSL se o cliente se ligar usando HTTPS, HTTP/2 ou HTTP/3. Só está presente se a impressão digital estiver disponível e existir uma política de segurança que avalie o pedido (independentemente de uma expressão na política corresponder ao pedido).
    • tlsJa3Fingerprint: uma impressão digital JA3 TTL/SSL se o cliente se ligar através de HTTPS, HTTP/2 ou HTTP/3. Só está presente se a impressão digital estiver disponível e existir uma política de segurança que avalie o pedido (independentemente de uma expressão na política corresponder ao pedido).

Exemplos de registos

Segue-se um exemplo de detalhes do registo de uma regra de limitação que bloqueia um pedido:

jsonPayload: {
 enforcedSecurityPolicy: {
  priority: 100
  name: "sample-prod-policy"
  configuredAction: "THROTTLE"
  outcome: "DENY"
  rateLimitAction: {
    key:"sample-key"
    outcome:"RATE_LIMIT_THRESHOLD_EXCEED"
  }
 }
 @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
 statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:16:48.185763Z"

Segue-se um exemplo de detalhes do registo de uma regra de proibição baseada em taxas que bloqueia um pedido:

jsonPayload: {
 @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
 enforcedSecurityPolicy: {
  priority: 150
  name: "sample-prod-policy"
  outcome: "DENY"
  configuredAction: "RATE_BASED_BAN"
  rateLimitAction: {
    key:"sample-key"
    outcome:"BAN_THRESHOLD_EXCEED"
  }
 }
 statusDetails: "denied_by_security_policy"
}
httpRequest: {8}
resource: {2}
timestamp: "2021-03-17T19:27:17.393244Z"

O que se segue?