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.
Para usar o Bot Manager:
- Acesse o Azion Console > Marketplace.
- Na página inicial do Marketplace, selecione o card correspondente à integração Azion Bot Manager.
- 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. :::
Para instanciar a integração Azion Bot Manager, siga estes passos:
- No canto superior esquerdo do Azion Console, selecione Products menu > Edge Firewall, dentro da seção Secure.
- Clique no botão + Rules Engine.
- Dê um nome fácil de lembrar à sua nova regra.
- Selecione os domínios que deseja proteger com a função.
- Habilite o switch Edge Functions na seção Modules.
- 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. :::
Ainda na página do Edge Firewall:
- Selecione a aba Functions Instances.
- Clique no botão + Add.
- Dê um nome fácil de lembrar à sua instância.
- 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 |
- 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. :::
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:
- Selecione a aba Rules Engine.
- Clique no botão + Rules Engine.
- Dê um nome fácil de lembrar à sua nova regra.
- Você pode adicionar uma descrição, mas é um passo opcional.
- 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.
- Use esta regra:
- 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.
- Abaixo, selecione o behavior (comportamento) Run Function.
- Selecione a função de acordo com o nome que você deu no passo 3.
- Clique no botão Next.
Pronto. Agora você tem seus domínios protegidos contra ataques de bot usando a integração Azion Bot Manager.
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:
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.
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.
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.
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.
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çãoallow
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.
random_delay
: faz com que a função espere por um período aleatório entre1
e10
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.
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
.
:::
—
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. :::
Para criar um novo stream para monitorar a atividade do Bot Manager:
- Acesse o Azion Console > Data Stream.
- Clique no botão Add.
- Dê ao stream um nome único e fácil de lembrar.
- Na seção *Data Settings, selecione Edge Functions como Source.
- Deve ter subscrição ativa ao módulo Edge Functions.
- 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.
- Em Domains, selecione entre Filter Domains ou All Current and Future Domains.
- 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.
- 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. :::
Para acessar o Real-Time Events, proceda da seguinte forma:
- Acesse o Azion Console > Real-Time Events.
- Em Data Source, selecione Edge Functions.
- Defina o Time Filter, de acordo com o periodo que você deseja analisar.
- 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. :::
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:
- No canto superior esquerdo do Console, selecione Products menu > Edge Firewall, dentro da seção Secure.
- Selecione a instância relacionada com o Bot Manager.
- Abra a aba Functions Instances para carregar o formulário contendo o código-fonte da integração.
- Selecione a instância da função que quiser editar.
- 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