Bloqueie endereços até uma data
Negue um endereço até uma data com um item datado em uma network list e uma regra de firewall, e encerre o bloqueio com uma gravação da lista.
Você pode bloquear um endereço até uma data da sua escolha pelo Azion Console, pela Azion CLI ou pela API. Por exemplo, um endereço que abusou de um formulário de login pode ficar bloqueado por um dia. O item desse endereço em uma network list ip_cidr carrega a data de expiração. Uma regra de firewall nega todo endereço da lista. A data sozinha nunca encerra o bloqueio: o endereço continua negado até que uma gravação dos itens da lista descarte o item dele. Para bloquear um endereço sem data final, 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 que nega a lista 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.
- Uma conta que consegue entrar no Azion Console.
Crie uma lista com um item datado
Apenas uma lista do tipo ip_cidr, exibida como IP/CIDR no Azion Console, aceita anotações nos itens. Um item com anotação é recusado com 22011 em uma lista asn e com 22015 em uma lista countries. Uma data de expiração vem depois do endereço, após um espaço. Ela é --LT em maiúsculas, seguido de uma data e hora em UTC, em segundos inteiros, que termina em Z, como --LT2030-01-01T00:00:00Z. Um comentário começa com # e fica por último na linha, depois de qualquer data de expiração. Uma linha que começa com # não é um comentário, e a API a recusa com 22005.
A lista deste guia tem dois itens. 198.51.100.7 carrega uma data de expiração e o comentário #login abuse, enquanto 192.0.2.10 não carrega nenhum dos dois. O item sem data mantém a lista gravável depois que a data passa. Uma gravação em que todos os itens estão vencidos é recusada com 22019 All Network Items Are Expired. Para a sintaxe das anotações, consulte Anotações de item. Para os campos de uma lista e os três tipos dela, consulte Campos da network list e Tipos de lista.
Para criar a lista pela Azion CLI, escreva-a em um arquivo chamado network-list.json. Escreva a data e a hora em UTC em que o bloqueio deve terminar no lugar de 2030-01-01T00:00:00Z:
Crie a lista a partir desse arquivo:
A saída traz o ID da lista:
A lista armazena os dois itens como o arquivo os escreve, com a data de expiração e o comentário. Guarde o ID, porque a regra se refere à lista por ele.
Crie a regra que nega os endereços listados
A regra lê a lista pelo critério Network, com o operador matches. O comportamento Deny (403 Forbidden) dela recusa cada cliente que corresponde. Ela nega os dois endereços enquanto os itens deles continuarem armazenados na lista. Uma data de expiração que passa não muda aquilo a que a regra corresponde. Para todos os critérios e comportamentos que uma regra aceita, consulte Rules Engine para Firewall.
Para criar a regra de negação pela Azion CLI, escreva-a em um arquivo chamado rule.json. Coloque o ID da 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ê Blocked addresses pelo ID da lista.
Com a regra no tráfego, uma requisição de qualquer um dos dois endereços recebe 403. 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. Envie de novo uma requisição de um endereço listado até que ela responda 403.
Remova o item depois da data de expiração
A Azion lê uma data de expiração apenas quando os itens de uma lista são gravados, e cada gravação descarta os itens já vencidos. Um item cuja data passa depois da gravação continua armazenado e continua correspondendo. Dar outro nome à lista também não remove o item.
O que encerra o bloqueio é uma gravação dos itens da lista. Envie-a pela interface que você usa ou por uma tarefa sua. Essa tarefa pode ser um script agendado ou o sistema de gerenciamento de informações e eventos de segurança (SIEM) que sinalizou o endereço. Enviada depois de cada data de expiração, a gravação descarta todo item vencido até aquele momento.
Azion CLI remove o item datado com --remove-item, que corresponde ao item exatamente como a lista o armazena. Para ler os itens armazenados, descreva a lista:
A linha Items ainda mostra o item datado:
Com apenas o endereço, --remove-item não remove nada e ainda assim imprime a mesma linha de uma remoção. Passe o item exatamente como a linha Items o mostra, com a data de expiração e o comentário:
A saída traz o ID da lista que mudou:
A lista mantém apenas 192.0.2.10, e descrever a lista de novo retorna esse único item.
Quando a gravação chega ao tráfego, a regra deixa de negar 198.51.100.7. Uma mudança nos itens de uma lista leva de 46 segundos a cerca de 100 segundos para chegar ao tráfego, menos que uma regra que você adiciona. Até ela se estabilizar, as respostas podem alternar entre os itens antigos e os atualizados. Repita uma requisição desse endereço até que as respostas concordem. Para testar primeiro uma lista e uma regra no seu próprio endereço, consulte Primeiros passos com Network Shield.