Use estas instruções para resolver problemas com as políticas de segurança do Google Cloud Armor.
Problemas gerais
Depuração de políticas de segurança
Se precisar de informações adicionais sobre o que um evento específico aciona as regras pré-configuradas, leia o artigo Usar o registo de pedidos e, em seguida, ative o registo detalhado. O Cloud Logging regista um nível mais elevado de detalhes nos seus registos que pode usar para analisar e depurar as suas políticas e regras.
O tráfego é permitido apesar de existir uma regra de recusa configurada na política de segurança do Cloud Armor
Para corrigir este problema, siga estes passos:
- Certifique-se de que a política de segurança do Cloud Armor está anexada a um serviço de back-end de destino. Por exemplo, o comando seguinte descreve todos os dados associados ao serviço de back-end - BACKEND. Os resultados devolvidos devem incluir o nome da política de segurança do Cloud Armor associada a este serviço de back-end.- gcloud compute backend-services describe BACKEND 
- Reveja os registos HTTP(S) para determinar a política e a regra que corresponderam ao seu tráfego, juntamente com a ação associada. Para ver os registos, use os Registos na nuvem. - Segue-se um exemplo de um registo de um pedido permitido com os campos interessantes realçados. Verifique os seguintes campos e certifique-se de que correspondem à regra que configurou para recusar o tráfego: - configuredActiondeve corresponder à ação configurada na regra.
- namedeve corresponder ao nome da política de segurança do Cloud Armor anexada a este serviço de back-end.
- outcomedeve corresponder a- configuredAction.
- prioritydeve corresponder ao número de prioridade da regra.
 - httpRequest: remoteIp: 104.133.0.95 requestMethod: GET requestSize: '801' requestUrl: http://74.125.67.38/ responseSize: '246' serverIp: 10.132.0.4 status: 200 userAgent: curl/7.35.0 insertId: ajvis5ev4i60 internalId: projectNumber: '895280006100' jsonPayload: '@type': type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry enforcedSecurityPolicy: configuredAction: ACCEPT name: mydev-policy-log-test1 outcome: ACCEPT priority: 2147483647 statusDetails: response_sent_by_backend logName: projects/mydev-staging/logs/requests resource: labels: backend_service_name: BACKEND_SERVICE_NAME forwarding_rule_name: FORWARDING_RULE_NAME project_id: PROJECT_ID target_proxy_name: TARGET_HTTP_PROXY_NAME url_map_name: URL_MAP_NAME zone: global type: http_load_balancer severity: INFO timestamp: '2017-04-18T18:57:05.845960288Z'
- Reveja a hierarquia das regras para garantir que é encontrada a regra correta. É possível que uma regra de prioridade mais elevada com uma ação de permissão esteja a corresponder ao seu tráfego. Use o comando - describena- security-policiesna CLI gcloud para ver o conteúdo da política de segurança do Cloud Armor.- Por exemplo, o exemplo seguinte mostra como uma regra de permissão de prioridade mais elevada (com prioridade 100) corresponde ao tráfego proveniente do endereço IP 1.2.3.4, impedindo que a regra de rejeição de prioridade mais baixa (com prioridade 200) seja acionada e bloqueie o tráfego. - gcloud compute security-policies describe POLICY_NAME - Saída: - creationTimestamp: '2017-04-18T14:47:58.045-07:00 description: '' fingerprint: Yu5spBjdoC0= id: '2560355463394441057' kind: compute#securityPolicy name: POLICY_NAME rules: -action: allow description: allow high priority rule kind: compute#securityPolicyRule match: srcIpRanges: -'1.2.3.4/32' preview: false priority: 100 -action: deny description: deny lower priority rule kind: compute#securityPolicyRule match: srcIpRanges: -'1.2.3.0/24 preview: false priority: 200 -action: deny description: default rule kind: compute#securityPolicyRule match: srcIpRanges: -'*' preview: false priority: 2147483647 selfLink: http://www.googleapis.com/compute/v1/projects/bigclustertestdev0-devconsole/global/securityPolicies/sp
A regra pré-configurada devolve falsos positivos
A deteção de XSS e SQLi baseia-se na correspondência de assinaturas estáticas nos cabeçalhos de pedidos HTTP e noutros parâmetros da camada 7. Estes padrões de expressões regulares são propensos a falsos positivos. Pode usar a regra pré-configurada para a deteção de XSS e SQLi no modo de pré-visualização e, em seguida, verificar o registo para quaisquer falsos positivos.
Se encontrar um falso positivo, pode comparar o conteúdo do tráfego com as regras da CRS da OWASP.
Se a regra for inválida ou não for relevante, desative-a através da expressão evaluatePreconfiguredWaf e especifique o ID da regra no argumento exclude ID list.
Depois de rever os registos e remover todos os falsos positivos, desative o modo de pré-visualização.
Para adicionar uma regra pré-configurada no modo de pré-visualização:
- Crie uma política de segurança com o conjunto de expressões pré-configurado no modo de pré-visualização: - gcloud compute security-policies rules create 1000 --security-policy POLICY_NAME --expression "evaluatePreconfiguredWaf('xss-stable')" --action deny-403 --preview
- Reveja os registos HTTP(S) para campos de pedidos HTTP, como - urle- cookie. Por exemplo, a- requestUrltem uma comparação positiva com o ID da regra 941180 do OWASP CRS:- httpRequest: remoteIp: 104.133.0.95 requestMethod: GET requestSize: '801' requestUrl: http://74.125.67.38/foo?document.cookie=1010" responseSize: '246' serverIp: 10.132.0.4 status: 200 userAgent: curl/7.35.0 insertId: ajvis5ev4i60 internalId: projectNumber: '895280006100' jsonPayload: '@type': type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry enforcedSecurityPolicy: configuredAction: ACCEPT name: POLICY_NAME outcome: ACCEPT priority: 2147483647 preconfiguredExprIds: [ 'owasp-crs-v030001-id941180-xss' ] statusDetails: response_sent_by_backend logName: projects/mydev-staging/logs/requests resource: labels: backend_service_name: BACKEND_SERVICE forwarding_rule_name: mydev-forwarding-rule project_id: mydev-staging target_proxy_name: mydev-target-http-proxy url_map_name: mydev-url-map zone: global type: http_load_balancer severity: INFO timestamp: '2017-04-18T18:57:05.845960288Z'
- Exclua o ID da regra OWASP CRS 941180 atualizando a regra na política de segurança do Cloud Armor: - gcloud compute security-policies rules update 1000 \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredWaf('xss-stable', ['owasp-crs-v030001-id941180-xss'])" \ --action deny-403 \ --preview
- Reveja novamente os registos e, em seguida, desative o modo de pré-visualização para implementar a regra. 
Os clientes com assinaturas recusadas não são bloqueados nem recusados
Se estiver a usar o Cloud Armor com o Cloud CDN, as políticas de segurança são aplicadas apenas a pedidos de conteúdo dinâmico, falhas de cache ou outros pedidos destinados ao servidor de origem da RFC. Os resultados da cache são apresentados mesmo que a política de segurança do Cloud Armor a jusante impeça esse pedido de chegar ao servidor de origem da RFC.
Problemas com a limitação de taxa
O tráfego não é limitado como esperado
Pode verificar que um endereço IP do cliente está a enviar níveis elevados de tráfego para uma aplicação a uma taxa que excede o limite definido, mas o tráfego não é limitado como esperado. Siga estes passos para investigar o problema.
Primeiro, confirme se uma regra de prioridade mais elevada está a permitir tráfego desse endereço IP. Examine os registos para ver se foi acionada uma regra ALLOW para o endereço IP. Pode ser uma regra ALLOW por si só ou noutra regra THROTTLE ou RATE_BASED_BAN.
Se encontrar uma regra de prioridade mais elevada, faça uma das seguintes ações:
- Altere as prioridades para garantir que a regra de limitação de taxa tem uma prioridade mais elevada, atribuindo-lhe um valor numérico inferior.
- Exclua o endereço IP da expressão correspondente na regra que tem uma prioridade mais alta.
O problema também pode ser o facto de o limite estar definido incorretamente. Se for este o caso, é feita a correspondência precisa dos pedidos, mas a ação de conformidade é acionada. Examine os registos para confirmar se é este o caso e, em seguida, reduza o limite na sua regra.
Por último, o endereço IP pode não corresponder à regra de limitação ou proibição baseada na taxa. Para corrigir este problema, verifique se existe um erro na condição de correspondência e, em seguida, altere a condição de correspondência da regra para o valor correto.