Os registros por solicitação do Google Cloud Armor para o nome da política de segurança, prioridade de regra de correspondência, ação associada e informações relacionadas são registrados como parte da geração de registros para balanceadores de carga de aplicativo externos e balanceadores de carga de rede proxy externos. A geração de registros para novos serviços de back-end é desativada por padrão. Portanto, você precisa ativar a geração de registros para registrar informações completas de geração de registros do Cloud Armor.
Os registros do Cloud Armor fazem parte dos registros do Cloud Load Balancing. Isso significa que a geração de registros do Cloud Armor está sujeita à taxa de amostragem de registros configurada para o balanceador de carga. Se você reduzir a taxa de amostragem do balanceador de carga, a amostragem dos registros de solicitações do Cloud Armor será realizada de acordo com essa taxa reduzida. Além disso, se você usar a referência de serviço entre projetos, os registros serão gerados no projeto host ou de serviço que inclui o front-end e o mapa de URL do balanceador de carga. Portanto, recomendamos que os administradores no projeto de front-end concedam aos administradores no projeto de back-end permissões para ler registros e métricas.
Usando a geração de registros, é possível ver todas as solicitações avaliadas por uma política de segurança do Cloud Armor e o resultado ou a ação realizada com base na regra correspondente de maior prioridade. Por exemplo, para ver solicitações
negadas, use filtros como
jsonPayload.enforcedSecurityPolicy.outcome="DENY" ou
jsonPayload.statusDetails="denied_by_security_policy".
Além disso, é possível definir diferentes níveis de registro para ajudar a avaliar se as políticas de segurança e suas regras estão funcionando conforme o esperado. Para informações completas, consulte Registro detalhado.
Entradas de registro da política de segurança
As entradas de registro a seguir, exibidas no Explorador de registros, são destinadas à geração de registros de regras
e à política de segurança do Cloud Armor. As entradas incluem a seguinte estrutura
em jsonPayload: Os detalhes da solicitação HTTP aparecem na mensagem httpRequest.
statusDetails: uma descrição textual do código de resposta.redirected_by_security_policy: a solicitação foi redirecionada por uma regra de redirecionamento,GOOGLE_RECAPTCHAouEXTERNAL_302.denied_by_security_policy: uma solicitação foi negada pelo balanceador de carga devido a uma política de segurança do Cloud Armor.body_denied_by_security_policy: um corpo de solicitação foi negado pelo balanceador 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 da Proteção adaptável implantada automaticamente, se aplicável.autoDeployAlertId: o ID do alerta dos eventos que a Proteção adaptável detectou.
configuredAction: o nome da ação configurada na regra correspondente, por exemplo:ALLOW,DENY,GOOGLE_RECAPTCHA,EXTERNAL_302eTHROTTLE(para uma regra de limitação),RATE_BASED_BAN(para uma regra de proibição baseada em taxa).rateLimitAction: informações sobre a ação de limite de taxa quando há correspondência com uma regra de proibição baseada em taxa ou com uma regra de limitação.key: valor da chave de limite de taxa (até 36 bytes). Este campo é omitido quando o tipo de chave éALL, se o tipo de chave éHTTP-HEADERouHTTP-COOKIEe o cabeçalho ou cookie especificado não está presente na solicitação.outcome: os valores possíveis são os seguintes:"RATE_LIMIT_THRESHOLD_CONFORM"quando está abaixo do limite de taxa configurado"RATE_LIMIT_THRESHOLD_EXCEED"quando ultrapassa o limite de taxa configurado."BAN_THRESHOLD_EXCEED"quando ultrapassa o limite de banimento configurado.
outcome: o resultado da execução da ação configurada, por exemplo,ACCEPT,DENY,REDIRECTeEXEMPT.preconfiguredExprIds: IDs de todas as expressões de regra WAF pré-configuradas que acionaram a regra.threatIntelligence: informações sobre as listas de endereços IP correspondentes da Google Threat Intelligence, se aplicável.categories: os nomes das listas de endereços IP correspondentes.
addressGroup: informações sobre os grupos de endereços correspondentes, se aplicável.names: os nomes dos grupos de endereços correspondentes.
previewSecurityPolicy: preenchido se a solicitação corresponder a uma regra configurada para visualização (presente apenas quando uma regra de visualização tiver prioridade sobre a 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_302eTHROTTLE(para uma regra de limitação),RATE_BASED_BAN(para uma regra de proibição baseada em taxa).rateLimitAction: informações sobre a ação de limite de taxa quando há correspondência com uma regra de proibição baseada em taxa ou com uma regra de limitação.key: valor da chave de limite de taxa (até 36 bytes). Este campo é omitido quando o tipo de chave éALL, se o tipo de chave forHTTP-HEADERouHTTP-COOKIEe o cabeçalho ou cookie especificado não estiver presente na solicitação.outcome: os valores possíveis são os seguintes:"RATE_LIMIT_THRESHOLD_CONFORM"quando está abaixo do limite de taxa configurado"RATE_LIMIT_THRESHOLD_EXCEED"quando ultrapassa o limite de taxa configurado."BAN_THRESHOLD_EXCEED"quando ultrapassa o limite de banimento configurado.
outcome: o resultado da execução da ação configurada, por exemplo,ACCEPT,DENY,REDIRECTeEXEMPT.preconfiguredExprIds: IDs de todas as expressões de regra WAF pré-configuradas que acionaram a regra.threatIntelligence: informações sobre as listas de endereços IP correspondentes da Threat Intelligence, se aplicável.categories: os nomes das listas de endereços IP correspondentes.
addressGroup: informações sobre os grupos de endereços correspondentes, se aplicável.names: os nomes dos grupos de endereços correspondentes.
enforcedEdgeSecurityPolicy: a regra da política de segurança de borda 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 correspondente. Por exemplo,ALLOW,DENY.outcome: o resultado da execução da ação configurada, por exemplo,ACCEPT,DENY.
previewEdgeSecurityPolicy: preenchido se uma solicitação corresponder a uma regra de política de segurança de borda configurada para visualização. A entrada de registropreviewEdgeSecurityPolicysó aparece quando uma regra de 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 correspondente. Por exemplo,ALLOW,DENY.outcome: o resultado da execução da ação configurada, por exemplo,ACCEPT,DENY.
Como ver registros
É possível ver os registros de uma política de segurança do Cloud Armor somente no console doGoogle Cloud .
Console
No console Google Cloud , acesse Políticas do Cloud Armor.
Clique em Ações.
Selecione Ver registros.
Solicitar geração de registros de dados
Quando usado com o Cloud Armor, jsonPayload tem o seguinte campo adicional:
securityPolicyRequestData: dados relativos à solicitação enquanto estão sendo processados por uma política de segurança, independentemente de qual regra será correspondida.recaptchaActionToken: dados relacionados a um token de ação do reCAPTCHA.score: uma pontuação de legitimidade do usuário incorporada em um token de ação do reCAPTCHA. Presente apenas quando um token de ação do reCAPTCHA é anexado à solicitação e decodificado com base em uma regra de política de segurança. Para mais informações, consulte Aplicar a avaliação do reCAPTCHA.
recaptchaSessionToken: dados relacionados a um token de sessão do reCAPTCHA.score: uma pontuação de legitimidade do usuário incorporada em um token de sessão do reCAPTCHA. Presente apenas quando um token de sessão do reCAPTCHA é anexado à solicitação e decodificado com base em uma regra de política de segurança.
tlsJa4Fingerprint: uma impressão digital TTL/SSL JA4 se o cliente se conectar usandoHTTPS,HTTP/2ouHTTP/3. Presente apenas se a impressão digital estiver disponível e houver uma política de segurança que avalie a solicitação (independente de uma expressão na política corresponder à solicitação).tlsJa3Fingerprint: uma impressão digital JA3 TTL/SSL se o cliente se conectar usandoHTTPS,HTTP/2ouHTTP/3. Presente apenas se a impressão digital estiver disponível e houver uma política de segurança que avalie a solicitação (independente de uma expressão na política corresponder à solicitação).
Exemplos de registro
Veja a seguir um exemplo de detalhes de registro para uma regra de limitação que bloqueia uma solicitação:
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"
Veja a seguir um exemplo de detalhes de registro para uma regra de proibição baseada em taxa que bloqueia uma solicitação:
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"
A seguir
- Saiba como resolver problemas do Cloud Armor.