# Libere os IPs da Azion na sua origem

Você pode ler os ranges de IP da Azion pelo Azion Console, pela [Azion CLI](/pt-br/documentacao/devtools/cli/) ou pela API e liberar apenas eles na sua origem. Para permitir ou negar endereços de cliente em uma regra de firewall da Azion, e não na sua origem, consulte [Bloqueie requisições por IP, ASN ou país](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/blocklists-enderecos-ip-edge/).

Quando a sua aplicação roda atrás da Azion, as requisições chegam à sua origem a partir da infraestrutura distribuída da Azion, e não dos usuários finais. Um [firewall](/pt-br/documentacao/plataforma/firewall/) filtra as requisições que passam pela Azion. Uma origem que aceita conexões apenas dos endereços da Azion também recusa as requisições que tentam alcançá-la contornando esse firewall.

A Azion publica esses endereços como `Azion Origin Shield`, uma [network list](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/) com todos os prefixos IPv4 e IPv6 que a infraestrutura da Azion usa para se conectar às origens. A Azion mantém a lista, e as contas com [Origin Shield](/pt-br/documentacao/plataforma/connectors/#origin-shield) a recebem. No [Network Shield](/pt-br/documentacao/plataforma/firewall/#network-shield), uma regra de firewall compara as requisições com uma network list. Esta lista funciona fora da Azion: o próprio firewall da sua origem lê os prefixos dela, e nenhuma regra da Azion participa.

---

Selecione uma interface. Os pré-requisitos e as etapas que encontram a lista mudam para a interface que você selecionar.

## Pré-requisitos

- Origin Shield ativo na sua conta. Origin Shield é ativado quando Origin IP ACL está habilitado em pelo menos um connector da sua conta. Para mais informações, consulte [Origin Shield](/pt-br/documentacao/plataforma/connectors/#origin-shield).
- A permissão **View Network Lists**, que permite visualizar network lists sem alterá-las. Para mais informações, consulte [Network Lists](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/#permissoes).
- Acesso ao firewall que protege o seu servidor de origem e que recebe a allowlist.

**Console**

- Acesso ao Azion Console. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).

**CLI**

- [Azion CLI](/pt-br/documentacao/devtools/cli/) instalada e autorizada. Os comandos desta página correspondem à Azion CLI 4.23.0.

**API**

- Um personal token e o `curl`. Para criar um token, consulte [Personal Tokens](/pt-br/documentacao/fundamentos/personal-tokens/).

---

## Encontre a lista Azion Origin Shield

A lista `Azion Origin Shield` aparece apenas nas contas com Origin Shield, ao lado das network lists que você cria. Ela é uma lista *IP/CIDR*, então cada um dos itens dela é um prefixo IPv4 ou IPv6.

**Console**

Para encontrar a lista no Azion Console:

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

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

2. **Abra a lista Azion Origin Shield**

   Selecione a lista chamada `Azion Origin Shield`. Quando a conta guarda muitas listas, o filtro **Name** restringe a tabela.

3. **Copie os prefixos**

   No campo **List**, copie todas as linhas. Cada linha guarda um prefixo.

Você tem os prefixos que o firewall da sua origem libera em [Libere os ranges na sua origem](#libere-os-ranges-na-sua-origem).

**CLI**

Para encontrar a lista pela Azion CLI:

1. **Liste as network lists**

   Imprima todas as network lists da conta, incluindo as listas mantidas pela Azion:

   ```bash
   azion list network-list
   ```

2. **Anote o ID da lista**

   O comando imprime uma tabela com as colunas `ID`, `NAME` e `ACTIVE`. Anote o `ID` da linha cujo `NAME` é `Azion Origin Shield`. A tabela mostra 50 listas por página, e `--page` seleciona outra página.

3. **Leia a lista**

   Substitua `<network-list-id>` por esse ID:

   ```bash
   azion describe network-list --network-list-id <network-list-id>
   ```

4. **Copie os prefixos**

   O comando imprime um campo da lista por linha. A linha `Items` guarda os prefixos como um array JSON de strings.

Você tem os prefixos que o firewall da sua origem libera em [Libere os ranges na sua origem](#libere-os-ranges-na-sua-origem). Para um script, adicione `--format json`, que imprime a lista como um objeto JSON com os prefixos em `items`.

**API**

Para encontrar a lista, envie duas requisições `GET` para `/v4/workspace/network_lists`:

1. **Busque as listas pelo nome**

   Substitua `[TOKEN VALUE]` pelo seu personal token:

   ```bash
   curl "https://api.azion.com/v4/workspace/network_lists?name=Azion%20Origin%20Shield" \
     -H "Authorization: Token [TOKEN VALUE]" \
     -H "Accept: application/json"
   ```

2. **Anote o ID da lista**

   A chamada responde `200`. Cada elemento de `results` traz o `id`, o `name` e o `type` de uma lista, sem os itens dela. Anote o `id` do elemento cujo `name` é `Azion Origin Shield`.

   O filtro `name` ignora maiúsculas e minúsculas e corresponde a parte de um nome, então uma lista sua com as mesmas palavras no nome também aparece.

3. **Leia a lista**

   Substitua `<network-list-id>` por esse ID:

   ```bash
   curl https://api.azion.com/v4/workspace/network_lists/<network-list-id> \
     -H "Authorization: Token [TOKEN VALUE]" \
     -H "Accept: application/json"
   ```

4. **Copie os prefixos**

   A chamada responde `200` com a lista em um objeto `data`. O array `items` desse objeto guarda os prefixos, uma string por prefixo.

   Para receber uma família de endereços por vez, adicione `?ipv4=true` ou `?ipv6=true` à leitura. Cada um retorna apenas os itens dessa família.

Você tem os prefixos que o firewall da sua origem libera em [Libere os ranges na sua origem](#libere-os-ranges-na-sua-origem).

---

## Libere os ranges na sua origem

O firewall da sua origem aplica esta allowlist, e não uma regra de firewall da Azion. Ele filtra cada conexão pelo endereço de quem a abre, nas camadas 3 e 4, para que apenas os servidores da Azion possam se conectar à origem. A lista traz prefixos IPv6 de todos os data centers da Azion ao lado dos prefixos IPv4. A allowlist precisa aceitar as duas famílias de endereços e guardar todos os itens da lista.

Para restringir a sua origem aos ranges da Azion:

1. **Libere cada prefixo da lista**

   No firewall da sua origem, permita o tráfego de entrada de cada prefixo IPv4 e IPv6 que você copiou.

2. **Negue todas as outras fontes**

   Negue o tráfego de entrada de todos os outros endereços. Faça essa alteração apenas depois que todos os prefixos estiverem liberados, ou as requisições da Azion serão recusadas até que a allowlist esteja completa.

Apenas a infraestrutura da Azion consegue se conectar à sua origem, e um cliente que se conecta diretamente ao endereço da origem é bloqueado. O tráfego que chega à origem sem passar pela Azion, como o seu próprio acesso administrativo, também é bloqueado, a menos que você o libere separadamente.

Use os mesmos prefixos em qualquer ponto em que a configuração da sua origem nomeie os endereços da Azion, por exemplo a diretiva `set_real_ip_from` do Nginx ou um firewall de nuvem como AWS ELB.

---

## Mantenha a allowlist atualizada

A Azion atualiza os prefixos da `Azion Origin Shield`, e a lista pode mudar com frequência. A allowlist na sua origem é uma cópia, e mantê-la alinhada com a lista é responsabilidade sua. A Azion envia um e-mail às contas com Origin Shield a cada alteração da lista, e os servidores por trás dos prefixos que ela adiciona entram em produção 7 dias depois que ela publica a lista. Para mais informações sobre o anúncio e o histórico de alterações, consulte [Origin Shield](/pt-br/documentacao/plataforma/connectors/#origin-shield) e a entrada Origin Shield dos [Termos de Serviço](/pt-br/documentacao/contratos/tds/).

Para automatizar a atualização, execute esta leitura de forma agendada e substitua a allowlist na sua origem pelos prefixos que ela retorna. Substitua `[TOKEN VALUE]` pelo seu personal token e `<network-list-id>` pelo ID da lista `Azion Origin Shield`:

```bash
curl https://api.azion.com/v4/workspace/network_lists/<network-list-id> \
  -H "Authorization: Token [TOKEN VALUE]" \
  -H "Accept: application/json"
```

A chamada responde `200`, e `data.items` guarda os prefixos da lista. Um agendamento com intervalo menor que 7 dias captura cada prefixo adicionado antes que os servidores dele entrem em produção. Pela Azion CLI, `azion describe network-list --network-list-id <network-list-id> --format json` imprime a mesma lista, com os prefixos em `items`.

---

## Próximos passos

- [Network Lists](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists.md#listas-mantidas-pela-azion): As listas que a Azion mantém e os campos e as chamadas de API que toda network list compartilha.
- [Correspondência de listas](/pt-br/documentacao/plataforma/firewall/network-shield/correspondencia-de-listas.md#listas-mantidas-pela-azion): Como uma regra de firewall compara requisições com uma network list e como as listas que a Azion mantém diferem das suas.
- [Boas práticas de Firewall](/pt-br/documentacao/plataforma/firewall/boas-praticas.md#network-shield): Por que uma regra referencia a lista que a Azion mantém em vez de uma cópia dos itens dela.
- [Origin Shield](/pt-br/documentacao/plataforma/connectors.md#origin-shield): Como Origin Shield é ativado, como a Azion anuncia uma alteração na lista e onde o histórico dela aparece.
