Bloqueie requisições por IP, ASN ou país
Crie uma network list de endereços IP, ASNs ou países e negue-a em uma regra de firewall pelo Azion Console, pela Azion CLI ou pela API.
Você pode bloquear requisições por endereço IP, Autonomous System Number (ASN) ou país com Network Shield, pelo Azion Console, pela Azion CLI ou pela API.
O bloqueio usa dois objetos. Uma network list guarda os itens a barrar. Uma regra no Rules Engine de um firewall nega toda requisição de um cliente que a lista cobre. A lista não bloqueia nada até que uma regra a referencie, e a regra só age sobre um workload vinculado ao firewall dela.
Os exit nodes do Tor já têm uma lista que a Azion mantém. Para bloqueá-los, consulte Bloqueie exit nodes do Tor.
Selecione uma interface. Os pré-requisitos e cada tarefa desta página mudam para ela.
Pré-requisitos
- Um firewall vinculado ao workload que atende a sua aplicação. Para vincular um, consulte Vincule um firewall a um workload, que cobre tanto Workloads quanto a configuração legada de Domains.
- Network Shield ativado para esse firewall, que é o padrão de um firewall que você cria. Para conferir, consulte Defina as configurações principais de um firewall.
- Edit Network Lists e Edit Firewall nas suas permissões de equipe. Para mais informações, consulte Network Lists.
- Acesso ao Azion Console. Para entrar, consulte Como acessar o Azion Console.
Crie a network list
Todo item de uma network list tem o tipo da lista, e o tipo define quantos clientes um item cobre. Escolha o tipo pelo que você quer barrar:
| Para barrar | Tipo | Rótulo no Console | Formato do item | Exemplo |
|---|---|---|---|---|
| Endereços ou intervalos específicos. | ip_cidr | IP/CIDR | Um endereço IPv4 ou IPv6, com ou sem comprimento de prefixo. | 192.0.2.10, 198.51.100.0/24, 2001:db8::/32 |
| Todos os endereços de um sistema autônomo. | asn | ASN | O ASN, apenas dígitos. | 64496 |
| Todos os endereços localizados em um país. | countries | Countries | Um código ISO 3166-1 alpha-2, com duas letras maiúsculas. | BR |
Um item de países ou de ASN cobre todos os clientes desse país ou dessa rede, inclusive os legítimos. Para saber como a Azion associa um cliente a um país ou a um ASN, consulte Correspondência de listas.
O tipo nunca muda depois que você cria a lista, então um segundo tipo de item precisa de uma segunda lista. Itens duplicados exatos são removidos sem aviso. Notações equivalentes não são duplicatas, então 192.0.2.80 e 192.0.2.80/32 são mantidos.
Um item ip_cidr também pode ter uma data de expiração --LT e um comentário #. Para a sintaxe, consulte Network Lists.
Para criar a lista no Azion Console:
Acesse Azion Console > Edge Libraries > Network Lists.
Selecione Network List.
Na seção General, informe um Name. Por exemplo: blocked-addresses. O dropdown Select a Network de uma regra oferece a lista por esse nome.
Na seção Network List Settings, selecione IP/CIDR, ASN ou Countries. O formulário abre com ASN selecionado.
Para IP/CIDR ou ASN, informe um item por linha no campo List. Por exemplo:
Nesse campo, um ASN também pode começar com AS. Para Countries, selecione um ou mais países pelo nome no campo Countries.
Selecione Save.
Azion Console confirma com a mensagem Your network list has been created. A lista aparece em Network Lists, e a coluna List Type dela mostra o tipo que você selecionou.
Negue a lista em uma regra do firewall
A regra compara o endereço IP do cliente de cada requisição com a sua lista pelo critério Network, ${network} na API. Com o operador matches, is_in_list na API, o critério é verdadeiro para um cliente da lista. O behavior Deny (403 Forbidden), deny na API, então recusa a requisição. A regra desta página tem apenas esse critério, então ela se aplica a todos os caminhos do workload.
Network Shield disponibiliza o critério Network no firewall, enquanto o comportamento pertence ao Firewall. Para fechar a conexão sem resposta em vez de um 403, use Drop (Close Without Response), drop na API. Para ver todos os comportamentos que uma regra pode executar, consulte Rules Engine para Firewall.
Para criar a regra no Azion Console:
Acesse Azion Console > Secure > Firewalls e selecione o firewall vinculado ao seu workload.
Selecione Rule para abrir o drawer Create Rule.
Na seção General, informe um Name. Por exemplo: Deny blocked addresses.
Na seção General, informe uma Description.
Na seção Criteria, defina a variável como Network e o operador como matches. A condição então fica If Network matches, e o campo seguinte recebe a lista.
Uma variável que aparece como Network - required Network Shield indica que Network Shield está desativado para o firewall. Ative Network Shield na aba Main Settings e selecione Save. A variável então fica selecionável.
Abra o dropdown Select a Network e selecione a sua lista. Se a lista ainda não existir, selecione Create Network List no mesmo dropdown, que abre o drawer Create Network.
Na seção Behaviors, selecione Deny (403 Forbidden).
Na seção Status, mantenha Active ativado.
Selecione Save.
Azion Console confirma com a mensagem Rule successfully created. A aba Rules Engine lista a regra, e a coluna Status dela mostra Active.
Uma lista pode servir a regras em vários firewalls, e uma alteração nos itens dela muda as correspondências de cada uma dessas regras. Enquanto uma regra referenciar a lista, você não pode excluir a lista (22018) nem desativar Network Shield no firewall (24005). Para fazer qualquer um dos dois, exclua ou altere a regra primeiro.
Confirme o bloqueio
Uma regra que você adiciona leva vários minutos para chegar ao tráfego em toda a infraestrutura distribuída da Azion. Uma regra nova entra em vigor de 6 minutos e 29 segundos a 9 minutos e 18 segundos depois que você a cria. Até lá, os clientes da lista ainda chegam à sua aplicação. Para mais informações, consulte Como Firewall funciona.
Uma requisição confere a regra, qualquer que seja a interface que a criou. De um cliente que a lista cobre, envie uma requisição para o domínio do seu workload:
O firewall recusa a requisição com 403:
A resposta traz a página de erro padrão da Azion, encabeçada por Forbidden. A linha Your IP mostra o endereço do cliente que o firewall comparou com a lista. A resposta não nomeia nenhum firewall, regra ou lista, e o header x-azion-request-id identifica a requisição em Real-Time Events.
Um cliente fora da lista recebe, em vez disso, a resposta da sua aplicação. Uma regra com Drop (Close Without Response) não envia nenhuma resposta HTTP, então o curl termina com um erro:
Para testar primeiro um bloqueio no seu próprio endereço e em um único caminho, consulte Primeiros passos com Network Shield. Se um cliente da lista ainda chegar à aplicação depois dessa espera, consulte Solucionar problemas de Firewall.
O firewall recusa toda requisição dos clientes da sua lista, em todos os caminhos do workload.