Use estas instruções para criar políticas de segurança do Google Cloud Armor para filtrar o tráfego de entrada para os seguintes destinos:
- Balanceador de carga de aplicativo externo global
- Balanceador de carga de aplicativo clássico
- Balanceador de carga de aplicativo externo regional
- Balanceador de carga de aplicativo interno regional
- Balanceador de carga de rede de proxy externo
- Balanceador de carga de rede de proxy clássico
- Balanceador de carga de rede de passagem externa
- Encaminhamento de protocolo
- VMs com endereços IP públicos
Para informações conceituais sobre políticas de segurança, consulte a visão geral da política de segurança do Google Cloud Armor.
Antes de começar
Antes de configurar políticas de segurança, faça o seguinte:
Familiarize-se com os conceitos de balanceador de carga de aplicativo externo.
Examine seus serviços de back-end atuais para determinar quais ainda não têm uma política de segurança anexada. Esses serviços e os back-ends associados não são protegidos pelo Google Cloud Armor. Para adicionar a proteção fornecida pelo Google Cloud Armor, use as instruções neste documento para anexar uma política de segurança recém-criada ou existente ao serviço de back-end.
Configure permissões de IAM para políticas de segurança do Google Cloud Armor
As operações a seguir exigem o papel de administrador de segurança (roles/compute.securityAdmin
) do
Identity and Access (IAM):
- Como configurar modificar, atualizar e excluir uma política de segurança do Google Cloud Armor
- Usando os seguintes métodos de API:
SecurityPolicies insert
SecurityPolicies delete
SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Um usuário com o papel de administrador da rede do Compute (roles/compute.networkAdmin
)
pode realizar as seguintes operações:
- Definir uma política de segurança do Google Cloud Armor para um serviço de back-end
- Usando os seguintes métodos de API:
BackendServices setSecurityPolicy
BackendServices list
(somentegcloud
)
Os usuários com os papéis de administrador de segurança (roles/iam.securityAdmin
) e de rede podem ver
as políticas de segurança do Google Cloud Armor usando os métodos de API SecurityPolicies
, get
, list
e getRule
.
Configure permissões de IAM para papéis personalizados
A tabela a seguir lista as permissões básicas dos papéis de IAM e os métodos de API associados.
Permissã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 |
Criar políticas de segurança
É possível configurar expressões, regras e políticas de segurança do Google Cloud Armor
usando o Console do Google Cloud, a Google Cloud CLI ou a API REST. Ao usar
a CLI gcloud para criar políticas de segurança, use a sinalização --type
para especificar se a política de segurança é de back-end ou
de borda.
Se você não estiver familiarizado com a configuração da política de segurança, recomendamos que você consulte exemplos de políticas de segurança.
Exemplos de expressões
Veja a seguir expressões de exemplo. Para mais informações sobre expressões, consulte a referência de linguagem de regras personalizadas do Google Cloud Armor.
Se você estiver configurando uma regra ou expressão que usa ISO 3166-1 Alfa 2 códigos de país ou região, o Google Cloud Armor trata cada código de forma independente. As regras e expressões do Google Cloud Armor usam explicitamente esses códigos de região para permitir ou negar solicitações.
A expressão a seguir corresponde a solicitações do endereço IP
1.2.3.4
e contém a stringexample
no cabeçalho do user agent:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
Como alternativa, é possível faz a correspondência com o intervalo de endereços IP de um cabeçalho de endereço IP de cliente personalizado usando o 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 a seguir corresponde a solicitações que têm um cookie com um valor específico:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
A expressão a seguir corresponde a solicitações da região
AU
:origin.region_code == 'AU'
A expressão a seguir corresponde a solicitações 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 a seguir corresponde a solicitações com um caminho de variável numerada para um arquivo específico caso o URI corresponda a uma expressão regular:
request.path.matches('/path/[0-9]+/target_file.html')
A expressão a seguir faz a correspondência com solicitações se o valor decodificado 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 expressão a seguir usa uma correspondência pré-configurada do conjunto de expressões contra ataques SQLi:
evaluatePreconfiguredExpr('sqli-stable')
Gerenciar políticas de segurança
Use as seções a seguir para listar as políticas de segurança no seu projeto, atualizar as políticas de segurança, excluir suas políticas de segurança ou testar suas políticas de segurança.
Listar políticas de segurança
Use estas instruções para listar todas as políticas de segurança do Google Cloud Armor no projeto atual ou em um projeto especificado.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Para visualizar uma política específica, acesse a lista de políticas e clique no nome dela na lista de Políticas de segurança.
gcloud
gcloud compute security-policies list
Exemplo:
gcloud compute security-policies list
NAME my-policy
Para ver mais informações, consulte gcloud compute security-policies list
.
Atualizar políticas de segurança
Use estas instruções para atualizar uma política de segurança do Google Cloud Armor. Por exemplo, é possível alterar a descrição da política, modificar o comportamento da regra padrão, mudar o serviço de back-end de destino ou adicionar novas regras.
Console
No console do Google Cloud, acesse a página Políticas do Google 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 da política que você quer atualizar.- Para atualizar a descrição da política da ação da regra padrão, selecione Editar, faça as alterações e clique em Atualizar.
- Para adicionar uma regra, selecione Adicionar regra e siga as instruções em Como 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 clique em Adicionar.
gcloud
Para atualizar uma política de segurança, use as seguintes instruções da Google Cloud CLI:
- Para atualizar uma regra em uma política de segurança, consulte Como atualizar uma única regra em uma política de segurança.
- Para adicionar uma regra a uma política de segurança, consulte Como adicionar regras a uma política de segurança.
- Para excluir uma regra de uma política de segurança, consulte Como excluir regras de uma política de segurança.
- Para atualizar várias regras em uma única atualização (atualização atômica), consulte Como atualizar atomicamente várias regras em uma política de segurança.
- Para atualizar campos que não são de regra em uma política de segurança (como o campo de descrição), consulte Como exportar políticas de segurança e Como importar políticas de segurança.
Excluir políticas de segurança
Use estas instruções para excluir uma política de segurança do Google Cloud Armor. Remova todos os serviços de back-end da política antes de excluí-la.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, ao lado do nome da política que você quer excluir, marque a caixa de seleção.
No canto superior direito da página, clique em
Excluir.
gcloud
Use gcloud compute security-policies delete NAME
.
Substitua NAME
pelo nome da política de segurança:
gcloud compute security-policies delete NAME
Testar políticas de segurança
Recomendamos que você implante todas as novas regras no modo de visualização e examine os registros de solicitação para verificar se as políticas e as regras estão se comportando conforme o esperado.
Gerenciar regras da política de segurança
Use as seções a seguir para listar regras de política de segurança, adicionar regras, atualizar ou excluir regras.
Listar as regras em uma política de segurança
Use estas instruções para listar as regras em uma política de segurança do Google Cloud Armor.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida, e as regras da política são listadas na guia Regras no meio da página.
gcloud
Use o seguinte comando gcloud
para listar todas as regras em somente uma política de
segurança, junto com uma descrição da política:
gcloud compute security-policies describe NAME \
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 comando a seguir descreve a regra com prioridade 1.000 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
Adicionar regras a uma política de segurança
Use estas instruções para adicionar regras a uma política de segurança do Google Cloud Armor.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, clique na guia Regras.
Clique em Adicionar regra.
Opcional: insira uma descrição para a regra.
Selecione o modo:
- Modo básico: permita ou negue o tráfego com base em endereços IP ou intervalos de IP.
- Modo avançado: permite ou nega tráfego com base em expressões de regra.
No campo Correspondência, especifique as condições sob as quais a regra se aplica:
- Modo básico: insira de um (1) a cinco (5) intervalos de endereços IP para que correspondam à regra.
Modo avançado: insira uma expressão ou subexpressões a serem avaliadas em relação às solicitações recebidas. Para saber mais sobre como gravar as expressões e ler os exemplos a seguir, consulte a referência da linguagem de regras personalizadas.
A expressão a seguir corresponde a solicitações do endereço IP
1.2.3.4
e contém a stringexample
no cabeçalho do user agent:inIpRange(origin.ip, '1.2.3.4/32') && has(request.headers['user-agent']) && request.headers['user-agent'].contains('example')
A expressão a seguir corresponde a solicitações que têm um cookie com um valor específico:
has(request.headers['cookie']) && request.headers['cookie'].contains('cookie_name=cookie_value')
A expressão a seguir corresponde a solicitações da região
AU
:origin.region_code == 'AU'
A expressão a seguir corresponde a solicitações 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 a seguir corresponde a solicitações se o URI corresponder a uma expressão regular:
request.path.matches('/example_path/')
A expressão a seguir faz a correspondência com solicitações se o valor decodificado 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 expressão a seguir usa um conjunto de expressões pré-configuradas para corresponder aos ataques SQLi:
evaluatePreconfiguredExpr('sqli-stable')
Em Ação, selecione Permitir ou Negar.
Se você estiver configurando uma regra de negação, selecione uma mensagem Status negado.
Se você quiser ativar o modo de visualização da regra, marque a caixa de seleção Ativar.
No campo Prioridade, digite um número inteiro positivo.
Clique em Add.
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 comando a seguir 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 prioridade
1.000 e faz parte de uma política chamada 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 sinalização --expression
para especificar uma condição na
referência da linguagem de regras personalizadas.
O comando a seguir adiciona uma regra para permitir o tráfego do endereço IP
1.2.3.4
e contém a string example
no cabeçalho do user agent:
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 a seguir adiciona uma regra para bloquear solicitações se o cookie da solicitação 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 comando a seguir adiciona uma regra para bloquear solicitações 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 comando a seguir adiciona uma regra para bloquear solicitações da região AU
que não estão 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 a seguir adiciona uma regra para bloquear solicitações com um URI que corresponda 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 a seguir adiciona uma regra para bloquear solicitações se o valor decodificado
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 comando a seguir adiciona uma regra que usa um conjunto de expressões pré-configuradas para mitigar ataques SQLi:
gcloud compute security-policies rules create 1000 \ --security-policy my-policy \ --expression "evaluatePreconfiguredExpr('sqli-stable')" \ --action deny-403
Atualizar uma única regra em uma política de segurança
Use estas instruções para atualizar apenas uma regra em uma política de segurança do Google Cloud Armor. Para atualizar atomicamente várias regras, consulte Como atualizar atomicamente várias regras em uma política de segurança.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, clique na guia Regras.
Ao lado da regra que você quer atualizar, clique em
Editar. A página Editar regra é exibida.Faça as mudanças e clique em Atualizar.
gcloud
Use este comando para atualizar uma regra com a prioridade especificada em uma política de segurança designada. Só é possível atualizar uma política de segurança por vez usando este 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 a seguir atualiza uma regra com prioridade 1.111 para permitir o 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 esse comando, consulte gcloud compute security-policies rules update
.
Para atualizar a prioridade de uma regra, use a API REST. Para ver mais informações, consulte securityPolicies.patchRule
.
Atualizar atomicamente várias regras em uma política de segurança
Uma atualização atômica aplica alterações em várias regras em apenas uma atualização. Se você atualizar as regras uma por uma, talvez veja um comportamento não intencional porque as regras novas e antigas podem estar funcionando juntas por um curto período.
Para atualizar atomicamente várias regras, exporte a política de segurança atual para um arquivo JSON ou YAML e modifique-a. Use o arquivo modificado para criar uma nova política de segurança e troque a política de segurança dos serviços de back-end relevantes.
gcloud
Exporte a política para atualização, conforme o exemplo a seguir:
gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
A política exportada ficará parecida com o exemplo:
description: my description fingerprint: PWfLGDWQDLY= id: '123' name: my-policy rules: - action: deny(404) description: my-rule-1 match: expr: expression: evaluatePreconfiguredExpr('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, você pode alterar 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: evaluatePreconfiguredExpr('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 Google Cloud Armor e especifique o nome e o formato modificados do arquivo, conforme o exemplo a seguir:
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 o exemplo a seguir:
gcloud compute backend-services update my-backend \ --security-policy ""
Adicione a nova política de segurança ao serviço de back-end, conforme o exemplo a seguir:
gcloud compute backend-services update my-backend \ --security-policy new-policy
Se a política antiga não for usada, exclua-a:
gcloud compute security-policies delete my-policy
Excluir regras de uma política de segurança
Use estas instruções para excluir regras de uma política de segurança do Google Cloud Armor.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, na guia Regras, marque a caixa de seleção ao lado da regra a ser excluída.
Clique em
Excluir.
gcloud
Use este comando para remover uma regra com a prioridade especificada de uma política de segurança designada. É possível modificar somente uma política de segurança por vez, mas excluir várias regras de uma só vez:
gcloud compute security-policies rules delete PRIORITY [...] [ --security-policy POLICY_NAME \ ]
Exemplo:
gcloud compute security-policies rules delete 1000 \ --security-policy my-policy
Anexar e remover políticas de segurança
Use as seções a seguir para anexar e remover políticas de segurança de serviços de back-end e buckets de back-end.
Anexar 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 Google Cloud Armor a um serviço de back-end. Uma política de segurança pode ser anexada a mais de um serviço de back-end, mas um serviço de back-end pode ter apenas um de cada tipo de política de segurança anexado a ele.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, clique na guia Destinos.
Clique em Aplicar política ao novo destino.
Clique em Adicionar destino.
Na lista Destino, selecione uma opção e clique em Adicionar.
gcloud
Ao 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 sinalização --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy my-policy
Ao anexar uma política de segurança de borda a um serviço de back-end, use o
comando gcloud compute backend-services
e a
sinalização --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy my-policy
Remover 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 do back-end do Google Cloud Armor ou uma política de segurança da extremidade de um serviço de back-end.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, clique na guia Destinos.
Selecione o serviço de back-end de destino do qual você quer remover a política.
Clique em Remover.
Na mensagem Remover destino, clique em Remover.
gcloud
Ao remover uma política de segurança de back-end, use o comando gcloud compute
backend-services
e a sinalização --security-policy
:
gcloud compute backend-services update my-backend \ --security-policy ""
Ao remover uma política de segurança de borda, use o comando gcloud compute
backend-services
e a sinalização --edge-security-policy
:
gcloud compute backend-services update my-backend \ --edge-security-policy ""
Anexar 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 borda do Google Cloud Armor a um bucket de back-end. É possível anexar uma política de segurança de borda a mais de um bucket de back-end.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, clique na guia Destinos.
Clique em Aplicar política ao novo destino.
Clique em Adicionar destino.
Na lista Destino, selecione uma opção e clique em Adicionar.
gcloud
Ao anexar uma política de segurança de borda a um bucket de back-end, use o
comando cloud compute backend-buckets
e a
sinalização --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy my-edge-policy
Remover 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 borda do Google Cloud Armor de um bucket de back-end.
Console
No console do Google Cloud, acesse a página Políticas do Google Cloud Armor.
Na página Políticas de segurança, clique no nome da política de segurança. A página Detalhes da política é exibida.
No meio da página, clique na guia Destinos.
Selecione o serviço de back-end de destino do qual você quer remover a política.
Clique em Remover.
Na mensagem Remover destino, clique em Remover.
gcloud
Ao remover uma política de segurança de borda de um bucket de back-end, use o
comando cloud compute backend-buckets
e a
sinalização --edge-security-policy
:
gcloud compute backend-services update my-bucket \ --edge-security-policy ""
Políticas de segurança de importação e exportação
Use as seções a seguir para importar e exportar políticas de segurança como arquivos YAML ou JSON.
Importar políticas de segurança
É possível importar políticas de segurança do Google Cloud Armor de um arquivo YAML ou JSON
usando a Google Cloud CLI. Não é possível usar o comando import
para atualizar as
regras de uma política existente. Em vez disso, você precisa atualizar as regras individualmente usando o procedimento
Como atualizar uma única regra em uma política de segurança. Se preferir, atualize todas
de uma vez com o procedimento
Como atualizar atomicamente várias regras em uma 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 você
está importando. Se você não informar o formato do arquivo, o formato correto
vai ser presumido com base na estrutura do arquivo. Se a estrutura for inválida, você
verá um erro.
gcloud compute security-policies import NAME \ --file-name FILE_NAME \ [--file-format FILE_FORMAT]
Por exemplo, o comando a seguir atualiza a política my-policy
importando o arquivo 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 ao importá-la, o Google Cloud Armor mostrará um erro. Isso significa que
a política foi alterada desde a última vez em que você a exportou. Para corrigir isso, use o comando describe
na política para conseguir a impressão digital mais recente.
Mescle as diferenças entre a política descrita e sua política. Depois, substitua a impressão digital
desatualizada pela mais recente.
Exportar políticas de segurança
É possível exportar uma política de segurança do Google Cloud Armor como um arquivo YAML ou JSON usando a Google Cloud CLI. A exportação de uma política permite recuperar uma cópia dela, que você pode modificar ou salvar no controle de origem.
gcloud
No comando a seguir,
NAME
é o nome da política de segurança. Os formatos de arquivo válidos são YAML e JSON. Se você não fornecer o formato do arquivo, o Google Cloud Armor vai usar o YAML padrão.gcloud compute security-policies export NAME \ --file-name FILE_NAME \ --file-format FILE_FORMAT
No exemplo a seguir, a política de segurança
my-policy
é exportada para o arquivomy-file
no formato YAML:gcloud compute security-policies export my-policy \ --file-name my-file \ --file-format yaml
O exemplo a seguir 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
É possível modificar o arquivo exportado com qualquer editor de texto e importá-lo de volta para o Google Cloud usando o comando
import
.
Listar regras pré-configuradas disponíveis
Listar regras pré-configuradas para visualizar as regras predefinidas de proteção de aplicativos e assinaturas, como Conjunto de regras principais do ModSecurity fornecidos pelo Google Cloud Armor. Essas regras pré-configuradas contêm várias assinaturas internas que o Google Cloud Armor usa para avaliar as solicitações recebidas. Adicione essas regras pré-configuradas a regras novas ou atuais usando a referência da linguagem de regras personalizadas.
Saiba mais em 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 a seguir mostra o formato de 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 a seguir inclui uma amostra da saída real do comando. A saída real incluiria todas as regras listadas em Como ajustar as regras do WAF do Google 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
A seguir
- Regras de firewall do aplicativo da Web (WAF, na sigla em inglês) do Tune
- Resolver problemas
- Usar a referência de linguagem das regras personalizadas