Use estas instruções para configurar e ajustar as regras pré-configuradas do firewall de aplicativos da Web (WAF) do Google Cloud Armor para ajudar a proteger seu aplicativo contra ataques. Se você não conhece as regras WAF pré-configuradas, consulte a visão geral.
Configurar uma regra WAF pré-configurada
Esta seção fornece modelos de regras WAF pré-configuradas que podem ser copiadas para o console do Google Cloud e personalizadas para se adequar ao seu caso de uso. Em cada comando
gcloud
de exemplo, você configura uma política de segurança com o nome
POLICY_NAME e a prioridade PRIORITY.
O primeiro exemplo configura uma regra com o nome RULE_NAME e um nível de sensibilidade de SENSITIVITY, que ativa todas as assinaturas com sensibilidade menor ou igual a SENSITIVITY. Para mais informações sobre a sensibilidade da regra, consulte Escolher um nível de confidencialidade.
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY})" \ --action deny-403
O segundo exemplo é semelhante ao primeiro, mas desativa as assinaturas de regra SIGNATURE_1 e SIGNATURE_2. Isso significa que essas duas assinaturas não são avaliadas quando a regra do WAF é avaliada:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY, 'opt_out_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': SENSITIVITY, 'opt_out_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})" \ --action deny-403
O terceiro exemplo é semelhante ao segundo, mas, em vez de desativar duas
assinaturas, você ativa duas assinaturas de regras. Só é possível ativar as assinaturas
de regras quando o nível de confidencialidade é definido como 0
:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': 0, 'opt_in_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('RULE_NAME', {'sensitivity': 0, 'opt_in_rule_ids': ['SIGNATURE_1', 'SIGNATURE_2']})" \ --action deny-403
Em todos os exemplos anteriores, você usa apenas uma expressão por regra. É possível
combinar expressões usando o operador lógico ||
, mas recomendamos
usar apenas uma expressão por regra como prática recomendada para evitar exceder o
tamanho máximo da expressão.
Exemplos
Os exemplos desta seção destacam aspectos importantes da criação e ajuste de regras WAF pré-configuradas, incluindo nível de sensibilidade e exceções de assinatura.
Em todos os comandos de exemplo gcloud
, você cria uma política de segurança com o
nome POLICY_NAME na prioridade
PRIORITY.
Criar uma regra em um determinado nível de sensibilidade
Neste exemplo, você quer usar todas as assinaturas na regra WAF sqli-v33-stable
com um nível de sensibilidade menor que 4. Portanto, você cria a regra no nível de sensibilidade 3, que inclui todas as assinaturas com um nível de sensibilidade menor ou igual a três:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 3})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 3})" \ --action deny-403
Criar uma regra que desativa uma ou mais assinaturas
Neste exemplo, você quer usar quase todas as assinaturas no nível de sensibilidade
1 e 2 na regra WAF xss-v33-stable
, mas quer excluir a assinatura
owasp-crs-v030301-id941370-xss
, que verifica variáveis globais do JavaScript.
Portanto, você cria a regra no nível de confidencialidade 2 e usa o
argumento opt_out_rule_ids
para desativar a assinatura
owasp-crs-v030301-id941370-xss
:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss']})" \ --action deny-403
Se você quiser excluir duas ou mais assinaturas de uma regra, forneça uma
lista de assinaturas separada por vírgulas com o argumento opt_out_rule_ids
, como
neste exemplo:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss', 'owasp-crs-v030301-id941380-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 2, 'opt_out_rule_ids': ['owasp-crs-v030301-id941370-xss', 'owasp-crs-v030301-id941380-xss']})" \ --action deny-403
Criar uma regra que ativa uma ou mais assinaturas
Neste exemplo, você quer usar apenas a assinatura
owasp-crs-v030001-id941150-xss
da regra WAF xss-v33-stable
. A
assinatura verifica atributos HTML não permitidos e está no nível 2 de sensibilidade.
Portanto, você cria a regra no nível de confidencialidade 0 e usa o
argumento opt_in_rule_ids
para ativar a assinatura
owasp-crs-v030001-id941150-xss
. Só é possível ativar as assinaturas de regras quando você
define o nível de confidencialidade como 0
:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss']})" \ --action deny-403
Se você quiser incluir duas ou mais assinaturas de uma regra, forneça uma
lista de assinaturas separada por vírgulas com o argumento opt_in_rule_ids
, como
neste exemplo:
Console
Selecione Modo avançado e use o exemplo de expressão a seguir no campo Correspondência:
evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss', 'owasp-crs-v030301-id941320-xss']})
gcloud
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-v33-stable', {'sensitivity': 0, 'opt_in_rule_ids': ['owasp-crs-v030301-id941150-xss', 'owasp-crs-v030301-id941320-xss']})" \ --action deny-403
A seguir
- Para mais informações sobre o ajuste de regras do WAF, consulte Ajustar regras WAF pré-configuradas do Google Cloud Armor.