Permita somente os endereços de uma lista
Crie uma network list de endereços permitidos e uma regra de firewall que nega todo cliente fora dela, pelo Azion Console, pela Azion CLI ou pela API.
Você pode deixar que apenas os clientes de uma network list cheguem à sua aplicação, pelo Azion Console, pela Azion CLI ou pela API. Uma lista ip_cidr guarda os endereços e os intervalos que você permite. Uma regra de firewall então nega todo cliente cujo endereço não está nela. Use essa configuração para o que apenas clientes conhecidos devem alcançar, como uma ferramenta interna ou um ambiente de teste. Para negar os clientes de uma lista e deixar todos os outros passarem, consulte Bloqueie requisições por IP, ASN ou país.
Selecione a interface deste guia. Os pré-requisitos e cada tarefa desta página mudam para essa interface.
Pré-requisitos
- Um workload vinculado a um firewall. A regra da allowlist fica nesse firewall.
- Network Shield ativado para esse firewall. Ele começa ativado em todo firewall e permanece assim até que alguém o desative.
- O endereço IP público de cada cliente que precisa manter o acesso, incluindo o seu.
- Uma conta que consegue entrar no Azion Console.
Crie a lista de endereços permitidos
A allowlist é uma lista do tipo ip_cidr, exibida como IP/CIDR no Azion Console. Cada item dela é um endereço ou intervalo IPv4 ou IPv6, como 203.0.113.0/24 ou 198.51.100.7. A regra compara o endereço de cada cliente com esses itens e nega todo endereço que não corresponde a nenhum deles. Para todos os campos e tipos que uma lista aceita, consulte Campos da network list e Tipos de lista.
Para criar a allowlist pela Azion CLI, escreva-a em um arquivo chamado network-list.json. Coloque o seu endereço IP público no lugar de <your-ip>:
Crie a lista a partir desse arquivo:
A saída traz o ID da lista:
Guarde esse ID, porque a regra se refere a Allowed addresses por ele.
Crie a regra que nega todos os outros endereços
Uma regra do Rules Engine para Firewall pode negar uma requisição, mas não tem nenhum comportamento que a admita. Uma requisição que nenhuma regra interrompe segue para a aplicação. Por isso, a regra da allowlist nega, e o critério Network dela usa o operador does not match. Esse critério é verdadeiro para todo cliente fora da lista. Para um cliente da lista ele é falso, então a regra não executa nada e o firewall passa para a regra seguinte.
Para criar a regra da allowlist pela Azion CLI, escreva-a em um arquivo chamado rule.json. Coloque o ID da sua lista no lugar de <network-list-id>, como um número sem aspas:
Crie a regra a partir desse arquivo no firewall vinculado ao seu workload. Coloque o ID desse firewall no lugar de <firewall-id>:
A saída traz o ID da regra:
A regra fica ativa no firewall e lê Allowed addresses pelo ID da lista.
Confirme que apenas os clientes listados chegam à aplicação
O único critério da regra da allowlist é Network. Por isso, ela age sobre cada requisição que o firewall recebe, qualquer que seja o caminho. Uma regra que você adiciona pode levar de 6 minutos e 29 segundos a 9 minutos e 18 segundos para chegar ao tráfego em toda a infraestrutura distribuída da Azion. Até lá, o firewall responde a cada requisição como antes. Envie a requisição de novo até que a resposta mude.
Com a regra no tráfego, um cliente cujo endereço está fora da lista recebe HTTP 403 e a página de erro padrão da Azion, encabeçada por Forbidden. Uma requisição de um cliente assim retorna esta resposta:
A linha Your IP mostra o endereço que o firewall comparou com a allowlist. Se a regra negar um cliente que precisa passar, adicione à lista o endereço dessa linha. Uma mudança nos itens de uma lista chega ao tráfego entre 46 segundos e cerca de 100 segundos, antes de uma regra que você adiciona. Até ela se estabilizar, as respostas podem alternar entre os itens antigos e os atualizados. Repita a requisição até que as respostas concordem. Para a resposta que um cliente negado recebe, consulte Deny (403 Forbidden).
Um cliente da lista passa pela regra da allowlist, e a aplicação decide o que ele recebe. Uma aplicação que não serve conteúdo responde 204:
Estar na allowlist não isenta um cliente das outras regras do firewall. Quando uma regra de blocklist também corresponde a esse cliente, a regra de blocklist o nega, em qualquer ordem. Para aplicar a allowlist a apenas um caminho, adicione um critério Request Uri, ${request_uri} na API, ao mesmo bloco. Para essa regra, consulte Proteja um caminho com uma network list.