Instale a integração IP Address Reputation
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.
Você instala a integração IP Address Reputation pelo Azion Marketplace e a executa em um 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.
- Uma aplicação servida por um workload, 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 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.
Instale a integração
A função é instalada uma vez por conta. Para instalá-la:
Acesse Azion Console > Marketplace.
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.
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:
Crie uma conta na IPQualityScore.
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:
Acesse Azion Console > Firewalls e crie um firewall.
Na seção General, informe um Name. Por exemplo: ip-reputation-firewall.
Na seção Modules, ligue o switch Functions.
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.
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:
Em Firewalls, selecione seu firewall e depois selecione a aba Functions Instances.
Um firewall que não tem instância mostra a mesma ação como Function Instance. O drawer Create Instance abre.
Em Name, informe um nome. Por exemplo: ip-address-reputation.
Em Function, selecione a função IP Address Reputation. A lista contém apenas as funções que são executadas em um firewall.
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.
A instância aparece na aba Functions Instances.
Argumentos
Os argumentos têm esta forma:
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 seleciona as requisições que chegam à instância, por meio de um behavior Run Function. Para criar a regra:
Em Firewalls, selecione seu firewall e depois selecione a aba Rules Engine.
Em Name, informe um nome. Por exemplo: Run IP Address Reputation.
Na seção Criteria, selecione os domínios que executam a integração. Por exemplo: if Host matches yourdomain.com.
Na seção Behaviors, selecione Run Function e depois selecione a instância pelo nome que você deu a ela.
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:
O comando imprime o id do novo deployment:
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.
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.