---
name: azion-negue-requisicoes-de-um-sistema-autonomo
description: >-
  Negue todo cliente de uma rede pelo Autonomous System Number dela, com uma network list asn e uma regra de firewall, no Azion Console, na CLI ou na API.
---

# Negue requisições de um sistema autônomo

Você pode negar as requisições de um sistema autônomo pelo Azion Console, pela [Azion CLI](/pt-br/documentacao/devtools/cli/) ou pela API. Um sistema autônomo é uma rede, e o Autonomous System Number (ASN) dele a identifica. Uma [network list](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/) `asn` guarda esse número, e uma regra de [firewall](/pt-br/documentacao/plataforma/firewall/) nega cada cliente cujo endereço pertence à rede. Use esta regra quando o tráfego indesejado vem de toda uma rede, de mais endereços do que você consegue listar. Para negar por país em vez de por rede, consulte [Negue requisições de uma lista de países](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/negar-paises/).

---

Selecione a interface em que você trabalha. Os pré-requisitos e todas as tarefas desta página mudam para corresponder a ela.

## Pré-requisitos

- Um [workload](/pt-br/documentacao/plataforma/workloads/) vinculado a um firewall pelo deployment dele. Esse firewall recebe a regra que você cria neste guia.
- [Network Shield](/pt-br/documentacao/plataforma/firewall/#network-shield) ativado para esse firewall. Network Shield vem ativado por padrão quando um firewall é criado.

**Console**

- Acesso ao [Azion Console](https://console.azion.com/).

**CLI**

- Azion CLI, instalada e configurada com um [personal token](/pt-br/documentacao/fundamentos/personal-tokens/).
- O ID do firewall ao qual o seu workload está vinculado.

**API**

- Um [personal token](/pt-br/documentacao/fundamentos/personal-tokens/). Cada requisição deste guia o carrega no lugar de `[TOKEN VALUE]`.
- O ID do firewall ao qual o seu workload está vinculado.

---

## Crie a lista ASN

Uma lista `asn` guarda um item por rede: o Autonomous System Number dela, escrito somente com dígitos. Cada item cobre todos os endereços da sua rede, clientes legítimos incluídos. A API recusa um item que carrega o prefixo `AS` com `22011 Invalid ASN Number`, então envie `64496`, e não `AS64496`. Um item `asn` também não aceita anotação, o que significa nenhuma data de expiração: uma rede fica na lista até que uma gravação dos itens da lista a deixe de fora. O tipo continua `asn` enquanto a lista existir. Para os campos de uma lista e o formato de cada tipo, consulte [Campos da network list](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/#campos-da-network-list) e [Tipos de lista](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/#tipos-de-lista).

**Console**

Para criar a lista no Azion Console:

1. **Abra a página Network Lists**

   Acesse [Azion Console](https://console.azion.com/) > **Edge Libraries** > **Network Lists**.

2. **Selecione Network List**

3. **Nomeie a lista**

   Na seção **General**, informe um **Name**. Por exemplo: `Blocked networks`.

4. **Mantenha o tipo ASN**

   Na seção **Network List Settings**, mantenha *ASN* como o tipo. O formulário abre com esse tipo já escolhido.

5. **Informe o ASN**

   No campo **List**, informe `64496`. Para negar mais redes, informe um ASN por linha.

6. **Salve a lista**

   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 *ASN*.

**CLI**

Para criar a lista com a Azion CLI, execute `azion create network-list` com o tipo `asn`:

```bash
azion create network-list --name "Blocked networks" --type asn --items "64496"
```

A CLI imprime o ID da lista que ela criou:

```text
Created Network List with ID <network-list-id>
```

A lista `Blocked networks` guarda `64496`, e a regra se refere à lista por esse ID. Para negar mais redes, separe os números com vírgulas dentro de `--items`.

**API**

Para criar a lista com a API, envie o corpo dela para `/v4/workspace/network_lists` em uma requisição `POST`. Substitua `[TOKEN VALUE]` pelo seu personal token:

```bash
curl -X POST https://api.azion.com/v4/workspace/network_lists \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"Blocked networks","type":"asn","items":["64496"]}'
```

A API responde `201`. O `state` igual a `executed` indica que a lista já está armazenada. Este trecho da resposta mantém os campos de que a regra depende:

```json
{
  "state": "executed",
  "data": {
    "id": <network-list-id>,
    "name": "Blocked networks",
    "type": "asn",
    "items": ["64496"],
    ...
    "active": true,
    ...
  }
}
```

A lista existe, e o `data.id` dela é o ID a que a regra se refere. Para negar mais redes, envie uma string por ASN em `items`.

---

## Crie a regra que nega o sistema autônomo

A regra compara o endereço do cliente de cada requisição com a lista `asn` pelo critério *Network*. O critério é verdadeiro quando esse endereço pertence a uma rede da lista. O comportamento *Deny (403 Forbidden)* então recusa a requisição. Uma regra guarda o ID da sua lista, nunca uma cópia dos números. Quando você adiciona um ASN à lista ou remove um, a regra nega o conjunto atualizado sem nenhuma edição. Para os critérios e comportamentos que uma regra pode combinar, consulte [Rules Engine para Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine/#criterios).

**Console**

Para criar a regra no Azion Console:

1. **Abra o firewall vinculado ao seu workload**

   Acesse [Azion Console](https://console.azion.com/) > **Secure** > **Firewalls**. Selecione o firewall na lista.

2. **Selecione a aba Rules Engine**

3. **Selecione Rule**

   O drawer **Create Rule** abre.

4. **Nomeie a regra**

   Na seção **General**, informe um **Name**. Por exemplo: `Deny one autonomous system`.

5. **Defina o critério Network**

   Na seção **Criteria**, selecione *Network* como a variável e *matches* como o operador.

   A variável aparece como *Network - required Network Shield* enquanto Network Shield está desativado para este firewall. Nesse caso, ative **Network Shield** em **Main Settings** > **Modules** e selecione **Save**. A variável fica selecionável depois que você salva.

6. **Selecione a lista**

   No dropdown **Select a Network**, selecione `Blocked networks`, o nome que você deu à lista.

7. **Adicione o comportamento Deny**

   Na seção **Behaviors**, selecione o comportamento *Deny (403 Forbidden)*.

8. **Salve a regra**

   Selecione **Save**.

Azion Console confirma com a mensagem `Rule successfully created`. A regra aparece na aba **Rules Engine**, com *Active* na coluna **Status**.

**CLI**

O comando `azion create firewall-rule` lê a regra de um arquivo JSON, e o arquivo se refere à lista pelo ID dela. Para criar a regra com a Azion CLI, salve este corpo como `rule.json`. Coloque o ID da sua lista no lugar de `<network-list-id>`, como um número simples, sem aspas:

```json
{
  "name": "Deny one autonomous system",
  "active": true,
  "criteria": [
    [
      { "variable": "${network}", "conditional": "if", "operator": "is_in_list", "argument": <network-list-id> }
    ]
  ],
  "behaviors": [
    { "type": "deny" }
  ]
}
```

Depois, crie a regra a partir do arquivo. Escreva o ID do firewall vinculado ao seu workload no lugar de `<firewall-id>`:

```bash
azion create firewall-rule --firewall-id <firewall-id> --file rule.json
```

A CLI imprime o ID da regra que ela criou:

```text
Created Firewall Rule with ID <rule-id>
```

O firewall guarda a regra, ativa, e a regra nega todo endereço de cliente do sistema autônomo.

**API**

Para criar a regra com a API, envie o corpo dela para `/v4/workspace/firewalls/{firewall_id}/request_rules` em uma requisição `POST`. Escreva o ID do firewall vinculado ao seu workload no lugar de `<firewall-id>`. Substitua `<network-list-id>` pelo `data.id` da resposta da lista, um número simples, sem aspas:

```bash
curl -X POST https://api.azion.com/v4/workspace/firewalls/<firewall-id>/request_rules \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Deny one autonomous system",
  "active": true,
  "criteria": [
    [
      { "variable": "${network}", "conditional": "if", "operator": "is_in_list", "argument": <network-list-id> }
    ]
  ],
  "behaviors": [
    { "type": "deny" }
  ]
}'
```

A API responde `202`, com a regra como o firewall a armazenou:

```json
{
  "state": "pending",
  "data": {
    "id": <rule-id>,
    "name": "Deny one autonomous system",
    "active": true,
    "criteria": [[{ "conditional": "if", "variable": "${network}", "operator": "is_in_list", "argument": <network-list-id> }]],
    "behaviors": [{ "type": "deny" }],
    "description": "",
    "order": 0
  }
}
```

O firewall guarda a regra. A plataforma adiciona dois campos que a requisição não enviou: um `description` vazio e `order`. `order` indica o lugar da regra entre as regras do firewall e começa em `0`. Em um firewall que já guarda regras, esse valor é maior.

> **nota**
>
> O corpo da regra para a CLI e a API guarda um bloco de critérios com um critério, e o `conditional` dele é `if`. Nos termos do Azion Console, `${network}` é o critério *Network*, `is_in_list` é *matches* e `deny` é *Deny (403 Forbidden)*. Um firewall com Network Shield desativado recusa a regra com `25047 Missing Required Modules`. Um ID de lista entre aspas, enviado como string, é recusado com `25042 Invalid Operator Argument Type`. Para os operadores deste critério e os erros que ele retorna, consulte [O critério Network](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/#o-criterio-network).

---

## Confirme que a regra nega o sistema autônomo

A regra deste guia não carrega nenhum critério além de *Network*. Por isso, ela nega os clientes de uma rede listada em todos os caminhos do workload. A aplicação nunca recebe as requisições deles. Espere que a regra chegue ao tráfego de 6 minutos e 29 segundos a 9 minutos e 18 segundos depois que você a cria. Um workload vinculado pouco antes pode precisar de vários minutos para a primeira regra dele, e nenhuma duração é garantida. Até que a regra chegue ao tráfego, os clientes da rede ainda passam até a aplicação.

Depois disso, um cliente cujo endereço pertence a um ASN listado recebe `HTTP 403` e a página de erro padrão da Azion, encabeçada por **Forbidden**. Uma requisição de um endereço em uma rede listada recebe esta resposta:

```text
$ curl -i https://<your-workload-domain>/
HTTP/2 403
server: nginx
date: Thu, 01 Jan 2026 12:00:00 GMT
content-type: text/html; charset=utf-8
x-content-type-options: nosniff
x-azion-request-id: <request-id>
x-azion-edge-location: <edge-location>
alt-svc: h3=":443"; ma=86400

<title>Azion - Default error page</title>
...
<h1 class="error-header__title">Forbidden</h1>
...
Your IP         <your-ip>
Request ID      <request-id>
Status Code     403
Edge Location   <edge-location>
```

A linha `Your IP` é o endereço do cliente que o firewall comparou com a lista. A Azion encontra o ASN de um endereço em bancos de dados de fornecedores externos, e, para alguns endereços, essa resposta é imprecisa. Os Termos de Serviço da Azion afirmam que o controle de acesso funciona em regime de melhor esforço. Para o melhor nível de controle, os mesmos termos orientam você a restringir o acesso por endereço IP. Para mais informações, consulte [Termos de Serviço](/pt-br/documentacao/contratos/tds/).

Com a regra em vigor, uma mudança nos itens da lista chega ao tráfego em 46 segundos a cerca de 100 segundos. Enquanto isso, uma requisição pode refletir os itens antigos e a próxima, os itens atualizados. Envie a requisição novamente até que as respostas coincidam. Para todos os tempos de propagação, consulte [Propagação](/pt-br/documentacao/plataforma/firewall/como-funciona/#propagacao). Para a resposta que um cliente negado recebe, consulte [Deny (403 Forbidden)](/pt-br/documentacao/plataforma/firewall/rules-engine/#deny-403-forbidden).

Para negar a rede em um único caminho, adicione um critério *Request Uri* ao mesmo bloco. Para as etapas, consulte [Proteja um caminho com uma network list](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/proteger-um-caminho/).

---

## Próximos passos

- [Proteja um caminho com uma network list](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/proteger-um-caminho.md): Adicione um critério de caminho à regra de negação, para que a rede perca um caminho e mantenha os demais.
- [Bloqueie requisições por IP, ASN ou país](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/blocklists-enderecos-ip-edge.md): Monte uma lista de cada tipo para tráfego real e aplique cada lista a um firewall.
- [Network Lists](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists.md): O formato de item de cada tipo de lista e cada erro que uma lista ou um critério Network retorna.
- [Como Firewall funciona](/pt-br/documentacao/plataforma/firewall/como-funciona.md#network-shield): A seção Network Shield explica como o critério Network faz a correspondência entre o endereço de um cliente e uma lista.
- [Guias e tutoriais de Firewall](/pt-br/documentacao/plataforma/firewall/guias.md): As outras configurações construídas sobre network lists e todos os outros guias para um firewall.
