---
name: azion-instale-a-integracao-ip-address-reputation
description: >-
  Instale o IP Address Reputation pelo Azion Marketplace e execute-o em um firewall, para pontuar o IP de cada requisição com dados da IPQualityScore.
---

# Instale a integração IP Address Reputation

Você instala a integração IP Address Reputation pelo Azion Marketplace e a executa em um [Firewall](/pt-br/documentacao/plataforma/firewall/), pelo Azion Console. A integração obtém da IPQualityScore (IPQS) uma pontuação de reputação para o endereço IP de cada requisição. A pontuação vem de vários fatores: se o endereço IP foi usado para spam ou outra atividade maliciosa, com que frequência ele foi reportado como suspeito ou fraudulento e outras informações.

Cinco objetos precisam existir antes de uma requisição ser pontuada: a função instalada, um firewall com o módulo **Functions**, uma instância de função que guarda sua chave da IPQS, uma regra do Rules Engine com o behavior **Run Function** e um deployment de workload vinculado ao firewall. Cada seção abaixo cria um deles.

---

## Pré-requisitos

- Uma conta Azion. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).
- Uma aplicação servida por um [workload](/pt-br/documentacao/plataforma/workloads/), cujo deployment você vincula ao firewall na última seção.
- Uma conta na IPQualityScore, com uma API key. As próximas seções mostram como obtê-la.
- O [Azion CLI](/pt-br/documentacao/devtools/cli/) instalado e autorizado, para a última seção.
- Ligar um produto ou um módulo pode gerar custos de uso. Para mais informações, consulte [Preços](/pt-br/documentacao/fundamentos/precos/).

---

## Instale a integração

A função é instalada uma vez por conta. Para instalá-la:

1. **Abra o Marketplace**

   Acesse [Azion Console](https://console.azion.com/) > **Marketplace**.

2. **Encontre a integração**

   Informe `IP Address Reputation` no campo **Search on Marketplace** e selecione o card da integração. Navegar pelos cards e pelas categorias alcança a mesma página.

3. **Selecione Install**

O card mostra `Successfully installed!` e `Latest version installed!`, e a função aparece na lista **Function** do drawer **Create Instance**.

---

## Obtenha a API key da IPQualityScore

A integração precisa de uma API key da IPQualityScore. Para obtê-la:

1. **Crie uma conta na IPQualityScore**

   Crie uma [conta na IPQualityScore](https://www.ipqualityscore.com/create-account).

2. **Encontre a API key no email**

   Aguarde o email com suas informações pessoais. O email traz sua API key. Guarde-a: a instância de função a recebe como argumento.

Você tem a API key que a instância de função recebe como argumento.

---

## Crie o firewall

O firewall é onde a função é instanciada e onde vive a regra que a executa. Para criar um:

1. **Abra a página Firewalls**

   Acesse [Azion Console](https://console.azion.com/) > **Firewalls** e crie um firewall.

2. **Nomeie o firewall**

   Na seção **General**, informe um **Name**. Por exemplo: `ip-reputation-firewall`.

3. **Ligue o módulo Functions**

   Na seção **Modules**, ligue o switch **Functions**.

4. **Salve o firewall**

O firewall mostra uma aba **Functions Instances** enquanto o módulo **Functions** permanecer ligado. Para usar um firewall existente, ligue o módulo **Functions** dele e salve-o. Para cada configuração deste formulário, consulte [Defina as configurações principais de um firewall](/pt-br/documentacao/guias/seguranca-de-aplicacoes/firewall-e-waf/firewall-definir-main-settings/).

---

## Crie a instância de função

A instância guarda sua API key da IPQS e as opções da consulta. Para criá-la:

1. **Abra a aba Functions Instances**

   Em **Firewalls**, selecione seu firewall e depois selecione a aba **Functions Instances**.

2. **Selecione + Function**

   Um firewall que não tem instância mostra a mesma ação como **Function Instance**. O drawer **Create Instance** abre.

3. **Nomeie a instância**

   Em **Name**, informe um nome. Por exemplo: `ip-address-reputation`.

4. **Selecione a função instalada**

   Em **Function**, selecione a função IP Address Reputation. A lista contém apenas as funções que são executadas em um firewall.

5. **Informe os argumentos**

   Em **Arguments**, o editor vem preenchido com os argumentos padrão da integração em JSON. Informe sua API key e seus valores, como a próxima seção descreve.

6. **Selecione Save**

A instância aparece na aba **Functions Instances**.

### Argumentos

Os argumentos têm esta forma:

```json
{
  "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "allow_public_access_points": true,
  "fast": true,
  "strictness": 0,
  "lighter_penalties": true,
  "user_language": "en-US",
  "transaction_strictness": 0
}
```

O único argumento que você precisa definir é `api_key`: a API key que você recebeu no email da IPQualityScore. Os outros argumentos são:

| Argumento                    | Tipo    | Padrão | Descrição                                                                                                                                                                                                        |
| ---------------------------- | ------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allow_public_access_points` | Boolean | `true` | Permite conexões públicas                                                                                                                                                                                        |
| `fast`                       | Boolean | `true` | Liga uma verificação rápida, que pula algumas verificações forenses                                                                                                                                              |
| `strictness`                 | Integer | `0`    | O rigor da pontuação de fraude, no intervalo `0-3`. Valores acima de 2 têm mais chance de retornar falsos positivos                                                                                              |
| `lighter_penalties`          | Boolean | `true` | Reduz a pontuação de endereços IP de proxy, para evitar falsos positivos                                                                                                                                         |
| `user_language`              | String  | Nenhum | O cabeçalho de idioma do usuário                                                                                                                                                                                 |
| `transaction_strictness`     | Integer | Nenhum | Ajusta os pesos de penalidade para irregularidades e padrões de fraude encontrados nos detalhes do pedido e da transação que você envia com cada requisição de API. Útil apenas quando você envia esses detalhes |

O JSON preenchido não traz estes argumentos, mas a função os aceita:

| Argumento          | Tipo    | Padrão            | Descrição                                                                                                                                                            |
| ------------------ | ------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `when_score_above` | Integer | Nenhum            | Um limite de pontuação. Quando o IPQS Risk Score o ultrapassa, a função executa a ação de `execute`. Quando ele não está definido, a função não executa nenhuma ação |
| `execute`          | String  | Nenhum            | A ação que a função executa quando a pontuação ultrapassa `when_score_above`: `deny`, `drop` ou `add_header`                                                         |
| `get_data_from`    | String  | `remote_addr`     | De onde a função lê o IP: `remote_addr`, `querystring`, `body` ou `header`. Com `remote_addr`, a função lê `ngx.var.remote_addr`                                     |
| `data_name`        | String  | `X-Forwarded-For` | O campo ou argumento do qual a função extrai o IP a validar. Usado apenas quando o parâmetro `search_in` é diferente do parâmetro `remote_addr`                      |

---

## Crie a regra

A instância não pontua nada até que uma regra a execute. Uma regra do [Rules Engine para Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine/) seleciona as requisições que chegam à instância, por meio de um behavior **Run Function**. Para criar a regra:

1. **Abra a aba Rules Engine**

   Em **Firewalls**, selecione seu firewall e depois selecione a aba **Rules Engine**.

2. **Selecione + Rule**

3. **Nomeie a regra**

   Em **Name**, informe um nome. Por exemplo: `Run IP Address Reputation`.

4. **Defina o critério**

   Na seção **Criteria**, selecione os domínios que executam a integração. Por exemplo: if `Host` *matches* `yourdomain.com`.

5. **Adicione o behavior Run Function**

   Na seção **Behaviors**, selecione **Run Function** e depois selecione a instância pelo nome que você deu a ela.

6. **Selecione Save**

O firewall executa a instância em toda requisição aos domínios do critério.

---

## Vincule o firewall ao workload

O vínculo fica no deployment do workload, então crie um deployment que nomeie a aplicação e o firewall:

```bash
azion create workload-deployment --workload-id <workload-id> --name <deployment-name> \
  --application-id <application-id> --firewall-id <firewall-id> --strategy-type default \
  --active true --current true
```

O comando imprime o id do novo deployment:

```text
Created Workload Deployment with ID 123456
```

As requisições ao domínio do workload chegam ao firewall, e a integração IP Address Reputation é executada em cada uma delas.

---

## Como funciona

Para cada campo do resultado da IPQS, a integração adiciona um cabeçalho de requisição com o prefixo `IPQS`. Por exemplo, um campo `ASN` no resultado adiciona um cabeçalho `IPQS-ASN` com o mesmo valor. Use esses cabeçalhos para tomar decisões no Rules Engine. Para cada campo que o resultado traz, consulte a [documentação da IPQS Proxy Detection API](https://www.ipqualityscore.com/documentation/proxy-detection-api/overview).

Cada requisição ao seu firewall conta como uma consulta de endereço IP na sua API key da IPQS. Para acompanhar o uso da sua chave, abra o painel da IPQualityScore.

> **dica**
>
> Crie uma regra de aplicação que redirecione a requisição para outra URL ou origem quando a pontuação de risco for maior que 85.

---

## Próximos passos

- [Integrações do Marketplace](/pt-br/documentacao/plataforma/marketplace/integracoes.md): Todas as integrações que o Azion Marketplace oferece, e onde cada uma é executada.
- [Rules Engine para Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine.md): Todos os critérios e behaviors que uma regra de firewall aceita.
- [Atualize uma integração](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/integracoes/atualizar-uma-integracao.md): Leve uma integração instalada para a versão mais recente.
