Como instalar o Azion Bot Manager Lite através do Marketplace da Azion

Azion Bot Manager Lite é uma integração serverless disponível no Marketplace da Azion. Esta integração foi construída com base em uma edge function no Edge Firewall que analisa as requisições recebidas e atribui um score com base em regras e comportamentos. Se a pontuação é igual o excede o limite predeterminado, a integração declina ou cancela a requisição. Caso contrário, a requisição é processada (allow, como ação padrão). As ações disponíveis para Bot Manager Lite são: allow, deny, drop, redirect, custom HTML, random delay e hold the connection.

Essa integração permite a detecção de tráfego suspeito e bots maliciosos, facilitando a implementação de medidas preventivas contra atividades maliciosas, como preenchimento de credenciais, varredura de vulnerabilidades e raspagem de sites (web scrapping). O Bot Manager Lite utiliza aprendizado de máquina e Reputation Intelligence para analisar o comportamento dos dados recebidos.


Obtenha a integração

Para usar o Bot Manager Lite:

  1. Acesse o Azion Console > Marketplace.
  2. Na página inicial do Marketplace, selecione o card correspondente à integração Azion Bot Manager Lite.
  3. Quando estiver na página da integração, clique no botão Install, no canto inferior direito.

Uma mensagem aparecerá indicando que a integração foi instalada com sucesso.


Configure a integração

Configure o Edge Firewall

Para instanciar a integração Azion Bot Manager Lite, siga estes passos:

  1. No canto superior esquerdo, selecione Products menu > Edge Firewall, dentro da seção Secure.
  2. Clique no botão + Edge Firewall.
  3. Dê um nome fácil de lembrar ao seu novo edge firewall.
  4. Selecione os domínios que deseja proteger com a função.
  5. Habilite o switch Edge Functions na seção Modules.
  6. Clique no botão Next.

Pronto. Você criou uma instância no Edge Firewall para sua função e habilitou o uso de Edge Functions nele.

Configure a função

Ainda na página do Edge Firewall:

  1. Selecione a aba Functions Instances.
  2. Clique no botão Add Function.
  3. Dê um nome fácil de lembrar à sua instância.
  4. No menu suspenso, selecione a função Azion Bot Manager Lite.

Na caixa de código Args é onde você passará suas variáveis.

{
"threshold": 10,
"action": "deny"
}

Mesmo quando threshold e action são as variáveis obrigatórias, você pode adicionar e definir mais variáveis, de acordo com sua necessidade, conforme mostrado no exemplo a seguir:

{
"threshold": 10,
"action": "deny",
"disabled_rules": [],
"log_tag": "my_custom_tag"
}

Onde:

VariávelTipoObrigatórioDescrição
actionStringSimA ação a ser tomada pela função sempre que a pontuação da requisição for igual ou maior ao limite definido. Valores possíveis: allow, deny, redirect, custom_html, drop, random_delay e hold_connection. Saiba mais sobre a configuração de actions
thresholdNúmeroSimA pontuação máxima que a requisição pode atingir antes que a função execute uma ação. Se não tiver valor, a função não agirá
disabled_rulesArray de númerosNãoAs regras a serem desativadas. Se uma regra estiver desabilitada, ela não será processada nem aumentará a pontuação da requisição
internal_logsStringNãoA Logging Class que a função usará. Valores possíveis:
0: escrever logs se a pontuação da requisição for maior que 0.
1: escrever logs apenas se a pontuação da requisição for maior que 0, ou se a requisição for classificada como “Good Bot”.
2: sempre escrever logs.
3: nunca escrever logs.
Valor padrão: 0. Quando este campo não tiver valor ou tiver um valor inválido, a função usará o valor padrão.
log_headersArray de stringsNãoDefine quais cabeçalhos de requisição devem ser incluídos no log de relatórios da função. Por razões de segurança, os seguintes cabeçalhos são proibidos:
authorization, cookie, proxy-authorization, set-cookie, x-csrf-token, x-api-key, x-amz-security-token.
Nota: os valores dos cabeçalhos serão armazenados com codificação base64
log_tagStringNãoUma tag para identificar nos logs a instância da função que gerou a requisição. É recomendado usar tags personalizadas e únicas
session_signature_keyStringNãoEssa string é usada para assinar, como dados criptografados, o cookie de sessão do bot assinado. Essa validação fornece proteção contra a manipulação do cookie. Se este campo não tiver valor ou tiver um valor inválido, a função usará o valor padrão az
should_write_warning_logsBooleanNãoDefine se a função registrará logs de aviso no Real-Time Events. Valor padrão: false.
  1. Quando estiver pronto, clique no botão Save para salvar suas configurações.

Configure o Rules Engine

Para concluir, você precisa configurar o Rules Engine e nele configurar o behavior (comportamento) e os criteria (critérios) para executar a integração.

Ainda na página Edge Firewall:

  1. Selecione a aba Rules Engine.
  2. Clique no botão + Rules Engine.
  3. Dê um nome fácil de lembrar à sua nova regra.
    • Você pode adicionar uma descrição, mas é um passo opcional.
  4. Selecione um criteria (critério) para executar a integração:
    • Use esta regra: if Request URI does not match "\.(png|jpg|css|js|jpeg|gif|ico|ttf|svg|woff|woff2|ashx|asmx|svc|swf|otf|eot)(\?.*)?$"
      • Essa regra é recomendada para excluir todos os dados estáticos da sua aplicação a serem processados pela função. Você pode personalizar esta regra, se necessário.
  5. Você precisa criar outro critério para que esta integração funcione: if Request URI does not match /.well-know/
    • Essa regra é recomendada para criar uma lista de permissões de IP que não impacte a automação ou scripts da WEB API.
  6. Abaixo, selecione o behavior (comportamento) Run Function.
  7. Selecione a função de acordo com o nome que você deu no passo 3.
  8. Clique no botão Save.

Pronto. Agora você tem seus domínios protegidos contra ataques de bot usando a integração Azion Bot Manager Lite.


Configuração de actions

Azion Bot Manager Lite é capaz de executar 7 ações diferentes sempre que a pontuação da requisição for maior ou igual ao limite (threshold) definido. Saiba mais sobre cada action a seguir:

  1. allow: permite a continuação da requisição. Para habilitar esta ação, você deve declará-la da seguinte forma:
"action": "allow"

Essa ação não requer argumentos adicionais.

Se o score for menor que o limiar predeterminado, a requisição será processada, sendo allow a ação default.

  1. deny: entrega uma resposta padrão com Status Code 403. Para habilitar esta ação, você deve declará-la da seguinte forma:
"action": "deny"

Essa ação não requer argumentos adicionais.

  1. drop: encerra a requisição sem uma resposta ao usuário. Para habilitar esta ação, você deve declará-la da seguinte forma:
"action": "drop"

Essa ação não requer argumentos adicionais.

  1. redirect: permite que a requisição seja redirecionada para uma nova URL/localização quando o limite de segurança é atingido. Para habilitar esta ação, você deve declarar as variáveis como no exemplo:
"action": "redirect",
"redirect_to": "http://xxxxxxxxxx.map.azionedge.net/"

Onde redirect_to define a nova URL/localização para redirecionar as requisições. Se este campo não estiver preenchido ou estiver preenchido com um valor que não seja uma string, a função se comportará como aconteceria com a ação allow habilitada.

  1. custom_html: permite a entrega de conteúdo HTML personalizado ao usuário em caso de violação do limite. Para habilitar esta ação, você deve declarar as variáveis como no exemplo:
"action": "custom_html",
"custom_html": "This should be the custom HTML content",
"custom_status_code": 418,

Onde custom_html define o conteúdo HTML a ser entregue e custom_status_code define o status code a ser entregue.

  • Se custom_html não estiver preenchido ou estiver preenchido com um valor que não seja uma string, a função se comportará como aconteceria com a ação allow habilitada.
  • Se custom_status_code não estiver preenchido ou estiver preenchido com um valor que não seja um número, o valor padrão será um Status Code 200.
  1. random_delay: faz com que a função espere por um período aleatório entre 1 e 10 segundos antes de permitir que a requisição prossiga. Para habilitar esta ação, você deve declará-la da seguinte forma:
"action": "random_delay"

Essa ação não requer argumentos adicionais.

  1. hold_connection: retém a requisição, mantendo a conexão aberta por 1 minuto antes de encerrá-la. Para habilitar esta ação, você deve declará-la da seguinte forma:
"action": "hold_connection"

Essa ação não requer argumentos adicionais.

—--

Consulte os logs

Você pode usar Data Stream e Real-Time Events para obter os logs do Bot Manager Lite e monitorar a atividade dos bots em suas aplicações.

Uso do Data Stream

Para criar um novo stream para monitorar a atividade do Bot Manager Lite:

  1. Acesse o Azion Console > Data Stream.
  2. Clique no botão + Stream.
  3. Dê ao stream um nome único e fácil de lembrar.
  4. Na seção *Data Settings, selecione Edge Functions como Source.
  • Deve ter subscrição ativa ao módulo Edge Functions.
  1. Em Template, selecione Edge Functions Event Collector e verá também na caixa de código Data Set as variáveis que vão ser usadas na análise de seus logs.
  2. Em Domains, selecione entre Filter Domains ou All Current and Future Domains.
  3. Em Destination, selecione um Connector na lista suspensa.
  • Os campos para preenchimento são diferentes dependendo do tipo de endpoint que você escolher. Descubra mais informações sobre cada campo na página de configuração de endpoint.
  1. Clique no botão Save.

Agora você pode consultar os logs no endpoint selecionado.

Uso do Real-Time Events

Para acessar o Real-Time Events, proceda da seguinte forma:

  1. Acesse o Azion Console > Real-Time Events.
  2. Selecione Edge Functions.
  3. Defina o Time Filter, de acordo com o periodo que você deseja analisar.
  4. Use a barra Search para criar uma busca mais específica.

Gestão do Bot Manager Lite

A Azion fornecerá configurações básicas e fáceis de usar, que devem ser suficientes para a maioria dos casos. Se você precisar de uma configuração mais detalhada, como regras personalizadas, você pode editar o arquivo JSON da integração.

Para encontrar esse arquivo:

  1. No canto superior esquerdo, selecione Products menu > Edge Firewall, dentro da seção Secure.
  2. Selecione o firewall relacionado com o Bot Manager Lite.
  3. Abra a aba Functions Instances para carregar o formulário contendo o código-fonte da integração.
  4. Selecione a instância da função que quiser editar.
  5. Edite as variáveis na caixa de código Arguments.
  6. Clique no botão Save.

Você poderá ajustar os parâmetros do Bot Manager Lite de acordo com as necessidades do seu negócio.

Consulte o guia sobre gerenciar bots

Contribuidores