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".
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_RECAPTCHAouEXTERNAL_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) eRATE_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 forALLou se o tipo de chave forHTTP-HEADERouHTTP-COOKIEe 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,REDIRECTeEXEMPT.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çapriority: 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) eRATE_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 forALLou se o tipo de chave forHTTP-HEADERouHTTP-COOKIEe 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,REDIRECTeEXEMPT.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 registopreviewEdgeSecurityPolicysó 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
Na Google Cloud consola, aceda a Políticas do Cloud Armor.
Clique em Ações.
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 usandoHTTPS,HTTP/2ouHTTP/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 deHTTPS,HTTP/2ouHTTP/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?
- Saiba mais acerca da resolução de problemas do Cloud Armor.