Como utilizar a integração IP Address Reputation através do Marketplace da Azion
IP Address Reputation é uma integração serverless disponível no Marketplace da Azion.
Esta integração usa uma pontuação de reputação para um determinado endereço IP, fornecida pela IPQualityScore. A pontuação é baseada em vários fatores, incluindo se o endereço IP foi usado para spam ou outra atividade maliciosa, com que frequência o endereço IP foi relatado como suspeito ou fraudulento e outras informações.
Uma pontuação mais alta indica que o endereço IP tem uma reputação melhor e é menos provável que seja usado maliciosamente. Por outro lado, uma pontuação mais baixa indica que o endereço IP tem maior probabilidade de ser usado para atividades maliciosas e deve ser usado com cautela.
Obtenha a integração
Para instalar a integração IP Address Reputation fornecida pelo Marketplace da Azion, siga estes passos:
- Acesse o Azion Console > Marketplace.
- Na homepage do Marketplace, selecione o card da integração.
- Quando a página da integração abrir, clique no botão Install, localizado no canto inferior da direita.
Aparecerá uma mensagem de sucesso. Sua integração está instalada.
- Acesse o Real-Time Manager (RTM) > Marketplace.
- Na homepage do Marketplace, selecione o card da integração.
- Quando a página da integração abrir, clique no botão Get It Now, localizado no canto inferior da direita.
Aparecerá uma mensagem de sucesso. Sua integração está instalada.
Obtenha a API Key na IPQualityScore
Para usar IP Address Reputation, você precisa obter a API Key no site da IPQualityScore. Para fazer isso, siga os passos:
- Crie uma conta no site da IPQualityScore.
- Aguarde o email com suas informações pessoais.
- No email, você receberá sua API Key. Você precisará dessas informações para configurar sua integração da Azion mais tarde.
Configure a integração
Configure um edge firewall
Para iniciar a configuração da integração IP Address Reputation, complete estes passos:
- No Products menu, selecione Edge Firewall na seção SECURE.
- Clique no botão + Edge Firewall.
- Dê um nome fácil de lembrar ao seu edge firewall.
- Selecione os domínios que deseja proteger com a função.
- Clique no switch de Edge Functions para ativar as funções.
- Clique no botão Save.
Pronto. Você instanciou um edge firewall para sua função.
- No Products menu, selecione Edge Firewall na seção SECURE.
- Clique no botão Add Rule Set.
- Dê um nome fácil de lembrar ao seu edge firewall.
- Selecione os domínios que deseja proteger com a função.
- Clique no switch de Edge Functions para ativar as funções.
- Clique no botão Save.
Pronto. Você instanciou um edge firewall para sua função.
Configure uma função no Edge Firewall
Para instanciar a integração IP Address Reputation, enquanto ainda estiver na página do Edge Firewall:
- Selecione a aba Functions Instances.
- Clique no botão + Function Instance.
- Dê um nome fácil de lembrar à sua instância.
- No menu suspenso, selecione a função IP Address Reputation.
- Esta ação irá carregar a aba Arguments, onde você pode adicionar os parâmetros para executar sua aplicação.
- Na aba Arguments, você passará a API Key que obteve no site da IPQualityScore e suas variáveis. O
JSON
ficará assim:
{ "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "allow_public_access_points": true, "fast": true, "strictness": 0, "lighter_penalties": true, "user_language": "en-US", "transaction_strictness": 0
}
Para executar a integração, o único parâmetro que você precisará configurar é o api_key
, sendo o valor a API Key que você recebeu por email da IPQualityScore.
Os outros campos são:
allow_public_access_points
: permite conexões públicas. Este é um campo booleano, com o valor padrãotrue
.fast
: permite uma verificação rápida. Ao ativar esse parâmetro, sua API não fará algumas verificações forenses. Este é um campo booleano, com o valor padrãotrue
.strictness
: pontuação de fraude, valores mais altos (acima de 2) têm mais chance de retornar falsos positivos. Este é um campo inteiro, com o valor padrão de 0. Use o intervalo0-3
para isso.lighter_penalties
: reduz a pontuação para endereços IP de proxy, evitando falsos positivos. Este é um campo booleano, com o valor padrãotrue
.user_language
: o idioma do cabeçalho do usuário. Este é um campo de cadeia de caracteres sem valor padrão.transaction_strictness
: ajusta os pesos de penalidade para irregularidades e padrões de fraude detectados nos detalhes do pedido e da transação fornecidos opcionalmente com cada requisição de API. Este recurso só é útil ao fornecer detalhes do pedido e da transação. Este é um campo inteiro, com o valor padrão de0
.
Alguns outros parâmetros, que não estão no exemplo JSON
fornecido, podem ser usados na aba Args, incluindo:
when_score_above
: define um limite de pontuação. Sempre que o IPQS Risk Score exceder esse limite, a função executará a ação definida pela variávelexecute
. Se o valor não estiver definido, nenhuma ação será tomada pela função. Este é um campo inteiro, com o valor padrão de0
.execute
: a ação que será executada quando o limitewhen_score_above
for ultrapassado. Este é um campo de cadeia de caracteres com três valores possíveis:deny
,drop
eadd_header
. Não há valor padrão.get_data_from
: determina se o IP será recuperado de uma solicitação de string de consulta do cabeçalho ou do corpo. Se o valor forremote_addr
, o valor que será extraído éngx.var.remote_addr
. Este é um campo de cadeia de caracteres com quatro valores possíveis:remote_addr
,querystring
,body
eheader
. O valor padrão éremote_addr
.data_name
: identifica o campo ou argumento de quando a função IPQS extrairá o IP a ser validado. Isso só é usado quando o parâmetrosearch_in
é diferente do parâmetroremote_addr
. Este é um campo de cadeia de caracteres, com o valor padrão deX-Forwarded-For
.
- Clique em Save.
- Selecione a aba Functions e siga estas etapas:
- Clique no botão Add Function.
- Dê um nome fácil de lembrar à sua instância.
- No menu suspenso, selecione a função IP Address Reputation.
- Esta ação carregará a função, mostrando um formulário com o código-fonte desta e, logo acima dele, duas abas: Code* e Args. Ao clicar na aba Code, você poderá navegar pelo código-fonte, mas não poderá alterá-lo.
- Na aba Args, você passará a API Key que obteve no site da IPQualityScore e suas variáveis: O
JSON
ficará assim:
{ "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXX", "allow_public_access_points": true, "fast": true, "strictness": 0, "lighter_penalties": true, "user_language": "en-US", "transaction_strictness": 0
}
Para executar a integração, o único parâmetro que você precisará configurar é o api_key
, sendo o valor a API Key que você recebeu por email da IPQualityScore.
Os outros campos são:
allow_public_access_points
: permite conexões públicas. Este é um campo booleano, com o valor padrãotrue
.fast
: permite uma verificação rápida. Ao ativar esse parâmetro, sua API não fará algumas verificações forenses. Este é um campo booleano, com o valor padrãotrue
.strictness
: pontuação de fraude, valores mais altos (acima de 2) têm mais chance de retornar falsos positivos. Este é um campo inteiro, com o valor padrão de 0. Use o intervalo0-3
para isso.lighter_penalties
: reduz a pontuação para endereços IP de proxy, evitando falsos positivos. Este é um campo booleano, com o valor padrãotrue
.user_language
: o idioma do cabeçalho do usuário. Este é um campo de cadeia de caracteres sem valor padrão.transaction_strictness
: ajusta os pesos de penalidade para irregularidades e padrões de fraude detectados nos detalhes do pedido e da transação fornecidos opcionalmente com cada requisição de API. Este recurso só é útil ao fornecer detalhes do pedido e da transação. Este é um campo inteiro, com o valor padrão de0
.
Alguns outros parâmetros, que não estão no exemplo JSON
fornecido, podem ser usados na aba Args, incluindo:
when_score_above
: define um limite de pontuação. Sempre que o IPQS Risk Score exceder esse limite, a função executará a ação definida pela variávelexecute
. Se o valor não estiver definido, nenhuma ação será tomada pela função. Este é um campo inteiro, com o valor padrão de0
.execute
: a ação que será executada quando o limitewhen_score_above
for ultrapassado. Este é um campo de cadeia de caracteres com três valores possíveis:deny
,drop
eadd_header
. Não há valor padrão.get_data_from
: determina se o IP será recuperado de uma solicitação de string de consulta do cabeçalho ou do corpo. Se o valor forremote_addr
, o valor que será extraído éngx.var.remote_addr
. Este é um campo de cadeia de caracteres com quatro valores possíveis:remote_addr
,querystring
,body
eheader
. O valor padrão éremote_addr
.data_name
: identifica o campo ou argumento de quando a função IPQS extrairá o IP a ser validado. Isso só é usado quando o parâmetrosearch_in
é diferente do parâmetroremote_addr
. Este é um campo de cadeia de caracteres, com o valor padrão deX-Forwarded-For
.
Configure o Rules Engine
Para finalizar o processo, é necessário configurar os parâmetros criteria (critérios) e behaviors (comportamentos) para executar a função.
Ainda na página do Edge Firewall:
- Selecione a aba Rules Engine.
- Clique no botão + Rule Engine.
- Dê um nome à regra.
- Selecione um criteria para executar e selecione os domínios nos quais você deseja executar a integração. Exemplo:
if Hostname is equal xxxxxxxxxxxx.map.azionedge.net/classes
. - Abaixo, selecione um behavior (comportamento) para os criteria (critérios). Neste caso, será Run Function.
- Selecione a função IP Address Reputation adequada de acordo com o nome que você forneceu na etapa de instanciação.
- Clique no botão Save.
Pronto. Agora, a integração está em execução para cada requisição feita ao domínio que você indicou.
- Selecione a aba Rules Engine.
- Clique no botão New Rule.
- Dê um nome à regra.
- Selecione um criteria para executar e selecione os domínios nos quais você deseja executar a integração. Exemplo:
if Hostname is equal xxxxxxxxxxxx.map.azionedge.net/classes
. - Abaixo, selecione um behavior (comportamento) para os criteria (critérios). Neste caso, será Run Function.
- Selecione a função IP Address Reputation adequada de acordo com o nome que você forneceu na etapa de instanciação.
- Clique no botão Save.
Pronto. Agora, a integração está em execução para cada requisição feita ao domínio que você indicou.
Importante
Para cada campo presente nos resultados, a integração adicionará um cabeçalho de requisição com o prefixo IPQS
. Por exemplo, se a solicitação tiver um campo ASN
, o cabeçalho terá um IPQS-ASN
com o mesmo valor adicionado ao cabeçalho. Você também pode usar essas informações para criar e gerenciar suas decisões no Rules Engine. Você pode revisar a lista completa dos campos.
É uma boa prática criar uma regra de edge application redirecionando sua requisição para outra URL/origin sempre que a pontuação de risco for maior que 85. Se você quiser ou precisar, pode acompanhar o uso de sua API Key através do painel da IPQualityScore. Cada requisição no seu edge firewall contará como uma nova requisição de busca de endereço IP.