Skip to content

Latest commit

 

History

History
259 lines (178 loc) · 13 KB

bot-protection.mdx

File metadata and controls

259 lines (178 loc) · 13 KB
title description meta_tags namespace permalink
Como instalar o Azion Bot Manager através do Marketplace da Azion
Azion Bot Manager analisa requisições recebidas e atribui uma pontuação com base em regras e comportamentos para identificar e prevenir possíveis atividades maliciosas.
bot, protection, cibersegurança, edge computing
docs_use_case_bot_manager
/documentacao/produtos/guias/bot-manager/

Azion Bot Manager é 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 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 utiliza aprendizado de máquina e Reputation Intelligence para analisar o comportamento dos dados recebidos.


Obtenha a integração

Para usar o Bot Manager:

  1. Acesse o Azion Console > Marketplace.
  2. Na página inicial do Marketplace, selecione o card correspondente à integração Azion Bot Manager.
  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.

:::tip Você pode procurar qualquer integração navegando pelos cards, usando os filtros ou digitando uma palavra-chave na barra de busca. :::


Configure a integração

Configure o Edge Firewall

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

  1. No canto superior esquerdo do Azion Console, selecione Products menu > Edge Firewall, dentro da seção Secure.
  2. Clique no botão + Rules Engine.
  3. Dê um nome fácil de lembrar à sua nova regra.
  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.

:::caution[Atenção] Se qualquer produto ou módulo for ativado, pode gerar custos relacionados ao uso. Consulte a página de preços para obter mais informações. :::

Configure a função

Ainda na página do Edge Firewall:

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

Na caixa de código Arguments é 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ável Tipo Obrigatório Descrição
threshold Número Sim A 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á
action String Sim A 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
log_tag String Não Uma tag para identificar nos logs a instância da função que gerou a requisição. É recomendado usar tags personalizadas e únicas
log_all_headers Boolean Não Define quando ou não todos os cabeçalhos da requisição devem ser enviados no log da função. Nota: os valores dos cabeçalhos serão impressos com codificação base64
disabled_rules Array de números Não As regras a serem desativadas. Se uma regra estiver desabilitada, ela não será processada nem aumentará a pontuação da requisição
session_signature_key String Não Essa 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 azion
  1. Quando estiver pronto, clique no botão Next para salvar suas configurações.

:::tip Para saber como obter os logs de Azion Bot Manager, acesse a seção Consulte os logs. :::

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 Next.

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


Configuração de actions

Azion Bot Manager é 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.

:::note Usando qualquer valor diferente de allow, deny, redirect, custom_html, drop, random_delay ou hold_connection para a variável action, a função executará a ação padrão, que é allow. :::

Consulte os logs

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

:::caution[Atenção] Se um produto ou módulo for ativado, poderá gerar custos relacionados ao uso. Verifique a página de preços para obter mais informações. :::

Uso do Data Stream

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

  1. Acesse o Azion Console > Data Stream.
  2. Clique no botão Add.
  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 Endpoint Type 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 Next.

Agora você pode consultar os logs no endpoint selecionado.

:::tip Consulte a documentação para dar seus Primeiros passos do Data Stream e Configurar as main settings do Data Stream. :::

Uso do Real-Time Events

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

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

:::tip Consulte a documentação para dar seus Primeiros passos do Real⁠-⁠Time Events e entender os logs do Real⁠-⁠Time Events. :::


Gestão do Bot Manager

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 do Console, selecione Products menu > Edge Firewall, dentro da seção Secure.
  2. Selecione a instância relacionada com o Bot Manager.
  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.

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

import Button from '~/components/Button.astro';


import ContributorList from '~/components/ContributorList.astro'

Contribuidores Contributor