Use estas instruções para criar políticas de segurança do Google Cloud Armor para filtrar o tráfego recebido para a sua aplicação. Para informações conceptuais sobre as políticas de segurança, consulte a vista geral da política de segurança do Cloud Armor.
Antes de começar
Antes de configurar as políticas de segurança, faça o seguinte:
Certifique-se de que conhece os conceitos do balanceador de carga de aplicações externo.
Examine os seus serviços de back-end existentes para determinar quais ainda não têm uma política de segurança anexada. Estes serviços de back-end e os respetivos back-ends associados não estão protegidos pelo Cloud Armor. Para adicionar a proteção fornecida pelo Cloud Armor, siga as instruções neste documento para anexar uma política de segurança criada recentemente ou existente ao serviço de back-end.
Configure autorizações IAM para políticas de segurança do Cloud Armor
As seguintes operações requerem a função de administrador de segurança do Compute do Identity and Access Management (IAM)
(roles/compute.securityAdmin
):
- Configurar, modificar, atualizar e eliminar uma política de segurança do Cloud Armor
- Usando os seguintes métodos da API:
SecurityPolicies insert
SecurityPolicies delete
SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Um utilizador com a função de administrador de rede de computação (roles/compute.networkAdmin
)
pode realizar as seguintes operações:
- Definir uma política de segurança do Cloud Armor para um serviço de back-end
- Usando os seguintes métodos da API:
BackendServices setSecurityPolicy
BackendServices list
(apenasgcloud
)
Os utilizadores com a função de administrador de segurança (roles/iam.securityAdmin
)
e a função de administrador de rede de computação podem ver as políticas de segurança do Cloud Armor
através dos métodos da API SecurityPolicies
get
, list
e
getRule
.
Configure autorizações da IAM para funções personalizadas
A tabela seguinte apresenta as autorizações base das funções da IAM e os respetivos métodos da API associados.
Autorização de IAM | Métodos da API |
---|---|
compute.securityPolicies.create |
SecurityPolicies insert |
compute.securityPolicies.delete |
SecurityPolicies delete |
compute.securityPolicies.get |
SecurityPolicies get SecurityPolicies getRule |
compute.securityPolicies.list |
SecurityPolicies list |
compute.securityPolicies.use |
BackendServices setSecurityPolicy |
compute.securityPolicies.update |
SecurityPolicies patch SecurityPolicies addRule SecurityPolicies patchRule SecurityPolicies removeRule |
compute.backendServices.setSecurityPolicy |
BackendServices setSecurityPolicy |
Crie políticas de segurança
Pode configurar políticas, regras e expressões de segurança do Cloud Armor
através da Google Cloud consola, da CLI do Google Cloud ou da API REST. Quando usa a CLI gcloud para criar políticas de segurança, use a flag --type
para especificar se a política de segurança é uma política de segurança de back-end ou uma política de segurança de limite.
Se não souber como configurar a política de segurança, recomendamos que consulte exemplos de políticas de segurança.
Exemplos de expressões
Seguem-se exemplos de expressões. Para mais informações sobre expressões, consulte a referência da linguagem de regras personalizadas do Cloud Armor.
Se estiver a configurar uma regra ou uma expressão que use códigos de países ou regiões ISO 3166-1 alfa 2, o Cloud Armor trata cada código de forma independente. As regras e as expressões do Cloud Armor usam explicitamente esses códigos de região para permitir ou recusar pedidos.
A expressão seguinte corresponde a pedidos do endereço IP
1.2.3.4
e contém a stringexample
no cabeçalho user-agent:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
Em alternativa, pode fazer a correspondência com o intervalo de endereços IP de um cabeçalho de endereço IP do cliente personalizado através do atributo
origin.user_ip
:inIpRange(origin.user_ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
A expressão seguinte corresponde a pedidos que têm um cookie com um valor específico:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
A seguinte expressão corresponde a pedidos da região
AU
:origin.region_code == 'AU'
A seguinte expressão corresponde a pedidos da região
AU
que não estão no intervalo de IP especificado:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
A seguinte expressão corresponde a pedidos com um caminho variável numerado para um ficheiro específico se o URI corresponder a uma expressão regular:
request.path.matches('/path/[0-9]+/target_file.html')
A expressão seguinte corresponde aos pedidos se o valor descodificado em Base64 do cabeçalho
user-id
contiver um valor específico:has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
A seguinte expressão usa um conjunto de expressões pré-configurado para correspondência com ataques de injeção de SQL:
evaluatePreconfiguredWaf('sqli-stable')
Faça a gestão das políticas de segurança
Use as secções seguintes para listar as políticas de segurança no seu projeto, atualizar as políticas de segurança, eliminar as políticas de segurança ou testar as políticas de segurança.
Liste as políticas de segurança
Use estas instruções para listar todas as políticas de segurança do Cloud Armor no projeto atual ou num projeto que especificar.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Para ver uma política específica, na página Políticas de segurança, na lista de políticas, clique no respetivo nome.
gcloud
gcloud compute security-policies list
Por exemplo:
gcloud compute security-policies list
Saída:
NAME: my-policy REGION: us-central1
Para mais informações, consulte
gcloud compute security-policies list
.
Atualize as políticas de segurança
Use estas instruções para atualizar uma política de segurança do Cloud Armor. Por exemplo, pode modificar a descrição da política, modificar o comportamento da regra predefinida, alterar o serviço de back-end de destino ou adicionar novas regras.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Para atualizar uma política específica, na página Políticas de segurança, na lista de políticas, clique em
Menu para a política que quer atualizar.- Para atualizar a descrição da política da ação da regra predefinida, selecione Editar, faça as alterações e, de seguida, clique em Atualizar.
- Para adicionar uma regra, selecione Adicionar regra e, de seguida, siga as instruções em Adicionar regras a uma política de segurança.
- Para alterar o serviço de back-end de destino da política, selecione Aplicar política ao destino, clique em Adicionar destino, selecione um destino e, de seguida, clique em Adicionar.
gcloud
Para atualizar uma política de segurança, use as seguintes instruções da CLI do Google Cloud:
- Para atualizar uma regra numa política de segurança, consulte o artigo Atualizar uma única regra numa política de segurança.
- Para adicionar uma regra a uma política de segurança, consulte o artigo Adicionar regras a uma política de segurança.
- Para eliminar uma regra de uma política de segurança, consulte o artigo Eliminar regras de uma política de segurança.
- Para atualizar várias regras numa única atualização (atualização atómica), consulte o artigo Atualizar atomicamente várias regras numa política de segurança.
- Para atualizar campos que não sejam de regras numa política de segurança (como o campo de descrição), consulte os artigos Exportar políticas de segurança e Importar políticas de segurança.
Elimine políticas de segurança
Use estas instruções para eliminar uma política de segurança do Cloud Armor. Tem de remover todos os serviços de back-end da política antes de a poder eliminar.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, junto ao nome da política de segurança que quer eliminar, selecione a caixa de verificação.
No canto superior direito da página, clique em
Eliminar.
gcloud
Use gcloud compute security-policies delete NAME
.
Substitua NAME
pelo nome da política de segurança:
gcloud compute security-policies delete NAME
Teste as políticas de segurança
Recomendamos que implemente todas as novas regras no modo de pré-visualização e, em seguida, examine os registos de pedidos para verificar se as políticas e as regras estão a funcionar conforme esperado.
Faça a gestão das regras da política de segurança
Use as secções seguintes para listar regras de políticas de segurança, adicionar regras, atualizar regras ou eliminar regras.
Liste as regras numa política de segurança
Use estas instruções para listar as regras numa política de segurança do Cloud Armor.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política, e as regras da política são apresentadas no separador Regras ao centro da página.
gcloud
Use o seguinte comando gcloud
para apresentar uma lista de todas as regras numa única política de segurança, juntamente com uma descrição da política:
gcloud compute security-policies describe NAME \
Use o seguinte comando gcloud
para listar todas as regras numa única política de segurança numa região especificada, juntamente com uma descrição da política:
gcloud compute security-policies describe NAME \ --region REGION
Use o seguinte comando gcloud
para descrever uma regra com a prioridade especificada na política de segurança especificada:
gcloud compute security-policies rules describe PRIORITY \ --security-policy POLICY_NAME
Por exemplo, o seguinte comando descreve a regra com prioridade 1000 na política de segurança my-policy
:
gcloud compute security-policies rules describe 1000 \ --security-policy my-policy
Saída:
action: deny(403) description: block traffic from 192.0.2.0/24 and 198.51.100.0/24 kind: compute#securityPolicyRule match: srcIpRanges: - '192.0.2.0/24' - '198.51.100.0/24' preview: false priority: 1000
Para mais informações, consulte
gcloud compute security-policies describe
.
Adicione regras a uma política de segurança
Use estas instruções para adicionar regras a uma política de segurança do Cloud Armor.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, clique no separador Regras.
Clique em Adicionar regra.
Opcional: introduza uma descrição da regra.
Selecione o modo:
- Modo básico: permitir ou negar tráfego com base em endereços IP ou intervalos de IP.
- Modo avançado: permitir ou recusar tráfego com base em expressões de regras.
No campo Correspondência, especifique as condições em que a regra se aplica:
Modo básico: introduza entre um (1) e 10 intervalos de endereços IP para corresponder na regra. Pode adicionar um máximo de 10 intervalos de endereços IP. Para ver os limites, consulte o artigo Quotas e limites do Cloud Armor.
Modo avançado: introduza uma expressão ou subexpressões para avaliar em função dos pedidos recebidos. Para ver informações sobre como escrever as expressões e ler os exemplos seguintes, consulte a referência da linguagem das regras personalizadas.
A expressão seguinte corresponde a pedidos do endereço IP
1.2.3.4
e contém a stringexample
no cabeçalho user-agent:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
A expressão seguinte corresponde a pedidos que têm um cookie com um valor específico:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
A seguinte expressão corresponde a pedidos da região
AU
:origin.region_code == 'AU'
A seguinte expressão corresponde a pedidos da região
AU
que não estão no intervalo de IP especificado:origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')
A expressão seguinte corresponde a pedidos se o URI corresponder a uma expressão regular:
request.path.matches('/example_path/')
A expressão seguinte corresponde aos pedidos se o valor descodificado em Base64 do cabeçalho
user-id
contiver um valor específico:has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')
A seguinte expressão usa um conjunto de expressões pré-configurado para corresponder a ataques de SQLi:
evaluatePreconfiguredWaf('sqli-stable')
Em Ação, selecione Permitir ou Recusar.
Se estiver a configurar uma regra de recusa, selecione uma mensagem de Estado de recusa.
Se quiser ativar o modo de pré-visualização para a regra, selecione a caixa de verificação Ativar.
No campo Prioridade, introduza um número inteiro positivo.
Clique em Adicionar.
gcloud
Use o comando
gcloud compute security-policies rules create PRIORITY
.
Substitua PRIORITY
pela prioridade da regra na política:
gcloud compute security-policies rules create PRIORITY \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview
Por exemplo, o seguinte comando adiciona uma regra para bloquear o tráfego dos intervalos de endereços IP 192.0.2.0/24 e 198.51.100.0/24. A regra tem a prioridade 1000 e é uma regra numa política denominada my-policy
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --description "block traffic from 192.0.2.0/24 and 198.51.100.0/24" \ --src-ip-ranges "192.0.2.0/24","198.51.100.0/24" \ --action "deny-403"
Use a flag --expression
para especificar uma condição na referência do idioma das regras personalizadas.
O seguinte comando adiciona uma regra para permitir tráfego do endereço IP
1.2.3.4
e contém a string example
no cabeçalho do agente do utilizador:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')" \ --action allow \ --description "Block User-Agent 'example'"
O comando seguinte adiciona uma regra para bloquear pedidos se o cookie do pedido contiver um valor específico:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['cookie']) && request.headers['cookie'].contains('80=BLAH')" \ --action deny-403 \ --description "Cookie Block"
O seguinte comando adiciona uma regra para bloquear pedidos da região AU
:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == 'AU'" \ --action deny-403 \ --description "AU block"
O seguinte comando adiciona uma regra para bloquear pedidos da região AU
que não estejam no intervalo de IP especificado:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "origin.region_code == "AU" && !inIpRange(origin.ip, '1.2.3.0/24')" \ --action deny-403 \ --description "country and IP block"
O comando seguinte adiciona uma regra para bloquear pedidos com um URI que corresponde a uma expressão regular:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "request.path.matches('/example_path/')" \ --action deny-502 \ --description "regex block"
O comando seguinte adiciona uma regra para bloquear pedidos se o valor descodificado em Base64 do cabeçalho user-id
contiver um valor específico:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "has(request.headers['user-id']) && request.headers['user-id'].base64Decode().contains('myValue')" \ --action deny-403 \ --description "country and IP block"
O seguinte comando adiciona uma regra que usa um conjunto de expressões pré-configurado para mitigar ataques de SQLi:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "evaluatePreconfiguredWaf('sqli-stable')" \ --action deny-403
Atualize uma única regra numa política de segurança
Use estas instruções para atualizar uma única regra numa política de segurança do Cloud Armor. Para atualizar várias regras de forma atómica, consulte o artigo Atualizar várias regras de forma atómica numa política de segurança.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, clique no separador Regras.
Junto à regra que quer atualizar, clique em
Editar. É apresentada a página Editar regra.Faça as alterações e, de seguida, clique em Atualizar.
gcloud
Use este comando para atualizar uma regra com a prioridade especificada numa política de segurança designada. Só pode atualizar uma política de segurança de cada vez através deste comando:
gcloud compute security-policies rules update PRIORITY [ \ --security-policy POLICY_NAME \ --description DESCRIPTION \ --src-ip-ranges IP_RANGES | --expression EXPRESSION \ --action=[ allow | deny-403 | deny-404 | deny-502 ] \ --preview ]
Por exemplo, o comando seguinte atualiza uma regra com a prioridade 1111 para permitir tráfego do intervalo de endereços IP 192.0.2.0/24:
gcloud compute security-policies rules update 1111 \ --security-policy my-policy \ --description "allow traffic from 192.0.2.0/24" \ --src-ip-ranges "192.0.2.0/24" \ --action "allow"
Para mais informações sobre este comando, consulte
gcloud compute security-policies rules update
.
Para atualizar a prioridade de uma regra, tem de usar a API REST. Para mais
informações, consulte
securityPolicies.patchRule
.
Atualize atomicamente várias regras numa política de segurança
Uma atualização atómica aplica alterações a várias regras numa única atualização. Se atualizar as regras uma a uma, pode observar um comportamento não intencional, uma vez que as regras antigas e novas podem funcionar em conjunto durante um curto período.
Para atualizar atomicamente várias regras, exporte a política de segurança atual para um ficheiro JSON ou YAML e, em seguida, modifique-o. Use o ficheiro modificado para criar uma nova política de segurança e, em seguida, mude a política de segurança para os serviços de back-end relevantes.
gcloud
Exporte a política a atualizar, conforme mostrado no exemplo seguinte:
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
A política exportada tem um aspeto semelhante ao seguinte exemplo:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredWaf('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 2 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Use qualquer editor de texto para modificar a política. Por exemplo, pode modificar as prioridades das regras existentes e adicionar uma nova regra:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredWaf('xss-stable') versionedExpr: SRC_IPS_V1 preview: false priority: 1 - action: allow description: my-new-rule match: config: srcIpRanges: - '1.2.3.1' versionedExpr: SRC_IPS_V1 preview: false priority: 10 - action: allow description: my-rule-2 match: config: srcIpRanges: - '1.2.3.4' versionedExpr: SRC_IPS_V1 preview: false priority: 11 - action: deny description: default rule kind: compute#securityPolicyRule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Crie uma nova política de segurança do Cloud Armor e especifique o nome de ficheiro e o formato modificados, conforme mostrado no exemplo seguinte:
gcloud compute security-policies create new-policy \ --file-name modified-policy \ --file-format yaml
Remova a política de segurança antiga do serviço de back-end relevante, conforme mostrado no exemplo seguinte:
gcloud compute backend-services update my-backend \ --security-policy ""
Adicione a nova política de segurança ao serviço de back-end, conforme mostrado no exemplo seguinte:
gcloud compute backend-services update my-backend \ --security-policy new-policy
Se a política antiga não for usada, elimine-a:
gcloud compute security-policies delete my-policy
Elimine regras de uma política de segurança
Use estas instruções para eliminar regras de uma política de segurança do Cloud Armor.
Consola
Na Google Cloud consola, aceda à página Políticas do Google Cloud Armor.
Clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, no separador Regras, selecione a caixa de verificação junto à regra que quer eliminar.
Clique em
Eliminar.
gcloud
Use este comando para remover uma regra com a prioridade especificada de uma política de segurança designada. Só pode modificar uma política de segurança de cada vez, mas pode eliminar várias regras em simultâneo:
gcloud compute security-policies rules delete PRIORITY [...] [ --security-policy POLICY_NAME \ ]
Por exemplo:
gcloud compute security-policies rules delete 1000 \ --security-policy my-policy
Anexe e remova políticas de segurança
Use as secções seguintes para anexar e remover políticas de segurança de serviços de back-end e contentores de back-end.
Anexe uma política de segurança a um serviço de back-end
Use estas instruções para anexar uma política de segurança do Cloud Armor a um serviço de back-end. Uma política de segurança pode ser anexada a mais do que um serviço de back-end, mas um serviço de back-end só pode ter um de cada tipo de política de segurança anexada.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, clique no separador Alvos.
Clique em Aplicar política ao novo alvo.
Clique em Adicionar alvo.
Na lista Destino, selecione um destino e, de seguida, clique em Adicionar.
gcloud
Quando anexar uma política de segurança de back-end a um serviço de back-end, use o comando gcloud compute backend-services
e a flag --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy my-policy
Quando anexa uma política de segurança de limite a um serviço de back-end, use o comando
gcloud compute backend-services
e a flag
--edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy my-policy
Remova uma política de segurança de um serviço de back-end
Use estas instruções para remover uma política de segurança de back-end do Cloud Armor ou uma política de segurança de edge de um serviço de back-end.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, clique no separador Alvos.
Selecione o serviço de back-end de destino do qual está a remover a política.
Clique em Remover.
Na mensagem Remover segmentação, clique em Remover.
gcloud
Quando remove uma política de segurança de back-end, use o comando gcloud compute
backend-services
e a flag --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy ""
Quando remove uma política de segurança de limite, use o comando gcloud compute
backend-services
e a flag --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy ""
Anexe uma política de segurança a um bucket de back-end
Use estas instruções para anexar uma política de segurança de limite do Cloud Armor a um contentor de back-end. Uma política de segurança de edge pode ser anexada a mais do que um bucket de back-end.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, clique no separador Alvos.
Clique em Aplicar política ao novo alvo.
Clique em Adicionar alvo.
Na lista Destino, selecione um destino e, de seguida, clique em Adicionar.
gcloud
Quando anexa uma política de segurança de limite a um contentor de back-end, use o comando
cloud compute backend-buckets
e a flag
--edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy my-edge-policy
Remova uma política de segurança de um bucket de back-end
Use estas instruções para remover uma política de segurança de limite do Cloud Armor de um bucket de back-end.
Consola
Na Google Cloud consola, aceda à página Políticas do Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. É apresentada a página Detalhes da política.
No centro da página, clique no separador Alvos.
Selecione o serviço de back-end de destino do qual está a remover a política.
Clique em Remover.
Na mensagem Remover segmentação, clique em Remover.
gcloud
Quando remove uma política de segurança de limite de um contentor de back-end, use o comando
cloud compute backend-buckets
e a flag
--edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy ""
Importe e exporte políticas de segurança
Use as secções seguintes para importar e exportar políticas de segurança como ficheiros YAML ou JSON.
Exporte políticas de segurança
Pode exportar uma política de segurança do Cloud Armor como um ficheiro YAML ou JSON através da CLI Google Cloud. Esta funcionalidade oferece as seguintes vantagens:
Guarde uma cópia para controlo de versões ou cópia de segurança: a exportação fornece uma cópia local da sua política. Pode guardar esta cópia em sistemas de controlo de origem como uma cópia de segurança ou para acompanhar as alterações ao longo do tempo. Pode voltar a importá-la mais tarde para restaurar uma versão anterior da sua política, se necessário.
Modificar e atualizar políticas localmente: pode modificar as políticas exportadas offline usando o seu editor de texto preferido. Depois de fazer alterações, reimporte a política atualizada para aplicar as modificações ao Cloud Armor.
gcloud
No comando seguinte,
NAME
é o nome da política de segurança. Os formatos de ficheiro válidos são YAML e JSON. Se não fornecer o formato do ficheiro, o Cloud Armor usa o YAML predefinido.gcloud compute security-policies export NAME \ --file-name FILE_NAME \ --file-format FILE_FORMAT
O exemplo seguinte exporta a política de segurança
my-policy
para o ficheiromy-file
no formato YAML:gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
O exemplo seguinte mostra uma política de segurança exportada:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: allow description: default rule match: config: srcIpRanges: - '*' versionedExpr: SRC_IPS_V1 preview: false priority: 2147483647 selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/securityPolicies/my-policy
Pode modificar o ficheiro exportado com qualquer editor de texto e, em seguida, importá-lo novamente para o Google Cloud usando o comando
import
.
Importe políticas de segurança
Pode importar políticas de segurança do Cloud Armor a partir de um ficheiro YAML ou JSON
através da CLI do Google Cloud. Não pode usar o comando import
para atualizar as regras de uma política existente. Em alternativa, tem de atualizar as regras individualmente através do procedimento Atualizar uma única regra numa política de segurança ou todas
de uma só vez através do procedimento Atualizar atomicamente várias regras numa política de segurança.
gcloud
Para importar políticas de segurança, use o comando
gcloud compute security-policies import NAME
.
Substitua NAME
pelo nome da política de segurança que está a importar. Se não indicar o formato do ficheiro, o formato correto é assumido com base na estrutura do ficheiro. Se a estrutura for inválida, é apresentado um erro.
gcloud compute security-policies import NAME \ --file-name FILE_NAME \ [--file-format FILE_FORMAT]
Por exemplo, o seguinte comando atualiza a política my-policy
importando o ficheiro my-file
.
gcloud compute security-policies import my-policy \ --file-name my-file \ --file-format json
Se a impressão digital da política estiver desatualizada quando a importa, o Cloud Armor apresenta um erro. Isto significa que a política foi modificada desde a última vez que a exportou. Para corrigir este problema,
use o comando describe
na política para obter a impressão digital mais recente.
Mescle as diferenças entre a política descrita e a sua política e, em seguida, substitua a impressão digital desatualizada pela mais recente.
Liste as regras pré-configuradas disponíveis
Liste as regras pré-configuradas para ver as regras de proteção de aplicações e as assinaturas predefinidas, como o OWASP Core Rule Set, que o Cloud Armor fornece. Estas regras pré-configuradas contêm várias assinaturas incorporadas que o Cloud Armor usa para avaliar os pedidos recebidos. Adiciona estas regras pré-configuradas a regras novas ou existentes através da referência da linguagem de regras personalizadas.
Para mais informações, consulte as regras pré-configuradas.
gcloud
Execute o comando
gcloud compute security-policies list-preconfigured-expression-sets
:gcloud compute security-policies list-preconfigured-expression-sets
O exemplo seguinte mostra a forma da saída do comando:
EXPRESSION_SET expression-set-1 RULE_ID SENSITIVITY expression-set-1-id-1 sensitivity-value-1 expression-set-1-id-2 sensitivity-value-2 expression-set-2 alias-1 RULE_ID SENSITIVITY expression-set-2-id-1 sensitivity-value-1 expression-set-2-id-2 sensitivity-value-2
O exemplo seguinte inclui uma amostra da saída real do comando. Tenha em atenção que o resultado real incluiria todas as regras indicadas em Ajustar as regras do WAF do Cloud Armor.
gcloud compute security-policies list-preconfigured-expression-sets
EXPRESSION_SET sqli-canary RULE_ID SENSITIVITY owasp-crs-v030001-id942110-sqli 2 owasp-crs-v030001-id942120-sqli 2 … xss-canary RULE_ID SENSITIVITY owasp-crs-v030001-id941110-xss 1 owasp-crs-v030001-id941120-xss 1 … sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
O que se segue?
- Ajuste as regras da firewall de app Web (WAF)
- Resolva problemas
- Use a referência da linguagem de regras personalizadas