Primeiros passos com Firewall
Crie um firewall, adicione uma regra que nega requisições a um caminho, vincule o firewall a um workload e confirme que o caminho responde 403.
Este guia orienta você a negar a sua primeira requisição com um firewall.
- Crie um firewall para a aplicação que você já atende.
- Adicione uma regra que nega toda requisição para um caminho.
- Vincule o firewall ao workload que atende a sua aplicação.
- Envie uma requisição para esse caminho e leia o
403que ela retorna.
Quatro objetos transformam uma requisição em uma decisão, e cada um se liga ao seguinte:
- O firewall guarda as regras. Ele fica ativo desde o momento em que você o cria.
- A regra nesse firewall combina um critério com um comportamento. O critério seleciona requisições, e o comportamento decide o que acontece com elas. Neste guia, o critério seleciona todo caminho que começa com
/deny-test, e o comportamento nega a requisição. - O deployment do workload que atende a sua aplicação nomeia esse firewall, ao lado da aplicação.
- A requisição para o domínio do workload encontra a regra, e uma requisição negada nunca chega à sua aplicação.
Um firewall não inspeciona nada por conta própria. Enquanto o deployment de um workload não o nomear, nenhuma requisição chega às regras dele.
Web Application Firewall (WAF), Network Shield e Bot Manager são produtos habilitados em um firewall. Este guia não precisa de nenhum deles, porque Deny é nativo de todo firewall. Os primeiros passos de cada produto partem de um firewall vinculado a um workload, que é o que este guia deixa pronto para você.
Selecione a interface que você usa. Os pré-requisitos e cada etapa desta página seguem essa escolha.
Pré-requisitos
- Uma conta Azion. Para criar uma, consulte Criar uma conta.
- Um workload que atende uma aplicação no domínio de workload dele. Para mais informações, consulte Workloads.
- Acesso ao Azion Console. Para entrar, consulte Como acessar o Azion Console.
Crie o firewall
Um firewall novo não tem regras, e ele começa ativo. A regra Deny que este guia adiciona não precisa de nenhum produto ativado, então as configurações padrão permanecem.
Para criar o firewall pela Azion CLI:
O comando imprime o ID do firewall novo:
O firewall fica ativo, com Functions e Network Shield ativados e WAF desativado. Anote o ID. A regra e o vínculo com o seu workload o passam como --firewall-id.
Adicione uma regra que nega um caminho
Uma regra do Rules Engine para Firewall combina critérios com comportamentos. A regra desta etapa carrega um critério, uma URI de requisição que começa com /deny-test, e um comportamento, Deny. Deny recusa a requisição com 403 Forbidden, e ele não precisa de nenhum produto ativado.
O critério corresponde a todo caminho que começa com /deny-test, então /deny-test/page também corresponde. Para mais informações, consulte Deny (403 Forbidden).
azion create firewall-rule lê a regra inteira de um arquivo JSON. criteria é uma lista de grupos, e o primeiro critério de um grupo carrega a condicional if. Salve esta regra como rule.json:
Crie a regra. Substitua <firewall-id> pelo ID do seu firewall:
O comando imprime o ID da regra nova:
A regra fica ativa no firewall.
Vincule o firewall ao seu workload
Um firewall não tem domínio próprio. O workload carrega o domínio. O deployment dele guarda exatamente três configurações: a aplicação, o firewall e a custom page. Nomeie a aplicação que o workload atende hoje, e a custom page dele se ele usar uma, ao lado do seu firewall. Enquanto o deployment não nomear o seu firewall, a regra Deny não corresponde a nenhuma requisição.
Para vincular o firewall pela Azion CLI, crie um deployment que nomeia o seu firewall e a aplicação que o workload atende hoje. Substitua os três IDs:
O comando imprime o ID do deployment novo:
--current true faz dele o deployment atual do workload, que nomeia a sua aplicação e o seu firewall. Se o workload usa uma custom page, adicione --custom-page <custom-page-id> ao comando.
Confirme que o caminho responde 403
A verificação é a mesma, qualquer que seja a interface que criou o firewall. O seu workload responde no domínio de workload dele, no formato <id>.map.azionedge.net, escrito nesta etapa como <your-workload-domain>.
Um workload recém-vinculado a um firewall pode levar vários minutos para aplicar a primeira regra, e nenhuma duração é garantida. Enquanto o vínculo se propaga, as respostas à mesma requisição alternam entre a resposta anterior e a nova. Até lá, o caminho ainda chega à sua aplicação. Envie a requisição de novo até ela responder 403. Para mais informações, consulte Propagação.
Envie uma requisição para o caminho negado:
O firewall a recusa com 403:
A resposta também carrega um header content-security-policy longo, omitido deste trecho. O corpo é a página de erro padrão da Azion, com o título Forbidden, e ela lista o seu endereço IP e o ID da requisição. Nenhum header nomeia o firewall ou a regra que recusou a requisição.
Requisições para qualquer outro caminho não correspondem à regra, e a sua aplicação as responde como antes. O seu firewall nega toda requisição cujo caminho começa com /deny-test.