Negue requisições de uma lista de países
Crie uma network list countries e uma regra de firewall que nega cada requisição desses países, no Azion Console, na Azion CLI ou na API.
Você pode negar todo cliente de uma lista de países pelo Azion Console, pela Azion CLI ou pela API. Uma network list countries nomeia os países. Uma regra de firewall nega cada cliente que a Azion localiza em um deles. Use-a quando a sua aplicação não atende ninguém nesses países. As requisições deles então terminam no firewall com 403. Para negar uma rede em vez de um país inteiro, consulte Negue requisições de um sistema autônomo.
Selecione a interface que você vai usar. Os pré-requisitos e cada tarefa desta página seguem essa escolha.
Pré-requisitos
- Um workload vinculado a um firewall, que carrega a regra deste guia.
- Network Shield ativado para esse firewall. Um firewall é criado com Network Shield ativado, a menos que você o desative.
- Acesso ao Azion Console.
Crie a lista de países
Uma lista countries guarda um item por país: o código ISO 3166-1 alpha-2 dele, em maiúsculas, como BR ou US. Azion Console seleciona cada país pelo nome e envia o código dele. A API recusa um código em minúsculas ou um nome, como br ou Brazil, com 22015 Invalid Country. A lista mantém o tipo countries enquanto existir. Um item não aceita data de expiração nem comentário. Por isso, um país continua negado até que uma gravação dos itens da lista o deixe de fora. Para cada campo e tipo de uma lista, consulte Campos da network list e Tipos de lista.
Para criar a lista com a Azion CLI, passe os códigos para --items, separados por vírgulas:
A CLI responde com o ID da lista:
A lista Blocked countries existe, e a regra a nomeia por esse ID.
Crie a regra que nega a lista
A regra compara o endereço do cliente de cada requisição com a lista countries pelo critério Network. O comportamento Deny (403 Forbidden) dela recusa toda correspondência. A regra guarda o ID da lista, e não os países que ela contém. Um país que você adiciona à lista ou remove dela muda o que a regra nega, sem nenhuma edição na regra. Para cada critério e comportamento que uma regra aceita, consulte Rules Engine para Firewall.
Para criar a regra com a Azion CLI, salve-a como rule.json. Escreva o ID da sua lista no lugar de <network-list-id>, como um número sem aspas:
Depois, crie a regra a partir do arquivo. Coloque o ID do firewall vinculado ao seu workload no lugar de <firewall-id>:
A CLI responde com o ID da regra:
O firewall guarda a regra, ativa, e a regra nega todo país de Blocked countries.
Confirme que a regra nega um país listado
A regra deste guia não tem nenhum critério além de Network, então ela nega os clientes dos países listados em todos os caminhos do workload. As requisições deles terminam no firewall, e a aplicação nunca as recebe. Uma regra que você cria pode levar de 6 minutos e 29 segundos a 9 minutos e 18 segundos para chegar ao tráfego na infraestrutura distribuída da Azion. Até que isso aconteça, esses clientes ainda chegam à aplicação.
Quando a regra chega ao tráfego, um cliente que a Azion localiza em um país listado recebe HTTP 403. A resposta carrega a página de erro padrão da Azion, encabeçada por Forbidden. Por exemplo, uma lista que guarda BR nega um cliente no Brasil. Uma requisição negada recebe esta resposta:
A linha Your IP mostra o endereço que a Azion localizou em um país listado. Uma mudança posterior nos países da lista pode levar de 46 segundos a cerca de 100 segundos para chegar ao tráfego. Nesse intervalo, as respostas podem alternar entre os países antigos e os atualizados. Repita a requisição até que as respostas coincidam. Para o que um cliente negado recebe, consulte Deny (403 Forbidden).
A Azion obtém o país de um endereço de bancos de dados que fornecedores externos disponibilizam. Esse país pode estar errado para alguns endereços. Os Termos de Serviço da Azion afirmam que o controle de acesso por país é aplicado em regime de melhor esforço. Os mesmos termos indicam a restrição por endereço IP como a forma de obter o melhor nível de controle.
Um critério Request Uri limita a regra a um caminho. Para testar a regra em um caminho antes que ela cubra todo o workload, consulte Proteja um caminho com uma network list.