Instale a integração Axur Leakstream
Axur Leakstream é uma integração de Firewall que monitora atividades na internet em busca de credenciais vazadas. Ela ajuda seu e-commerce a evitar ataques de checker e a proteger as credenciais dos seus usuários, verificando se uma determinada combinação de nome de usuário e senha foi exposta em alguma violação de dados conhecida.
Quando uma requisição de login chega ao edge, a função extrai o nome de usuário e a senha do corpo da requisição, consulta a API do Axur Leakstream e adiciona cabeçalhos personalizados à requisição. O Rules Engine pode então usar esses cabeçalhos para executar qualquer ação necessária — como bloquear a requisição, redirecionar o usuário ou acionar um fluxo de verificação secundário.
Pré-requisitos
Para começar a usar esta integração, você precisa:
- Criar uma conta Axur e assinar um plano Leakstream compatível com o tamanho da sua base de clientes.
- Obter um Token API da Axur após a habilitação da sua conta.
Obtenha a integração
Para instalar esta integração:
- Acesse Azion Console > Marketplace.
- Na página inicial do Marketplace, selecione o cartão da Leakstream.
- Na página de integração, clique no botão Install.
Você verá uma mensagem indicando que sua integração foi instalada com sucesso.
Configure a integração
Depois de instalar a integração Axur Leakstream, conclua as etapas abaixo para configurá-la.
Configure um Firewall
Siga estes passos:
- No canto superior esquerdo, abra o Products menu e selecione Firewall na seção Secure.
- Clique no botão + Firewall.
- Dê um nome fácil de lembrar ao seu firewall.
- Ative a opção Functions na seção Modules.
- Esta ação dá acesso a functions no firewall.
- Clique no botão Save.
Pronto. Agora você instanciou o firewall para sua função e tem acesso a functions em seu firewall.
Configure uma função no Firewall
Enquanto ainda estiver na página do 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 Axur Leakstream.
- Na caixa Arguments, passe suas variáveis:
{ "api_key": "YourAxurAPIKey", "username_field": "user", "password_field": "password", "password_hash_type": "sha256", "execute_hashing": false, "leakstream_timeout": 60000}Onde:
| Variável | Obrigatório | Descrição |
|---|---|---|
api_key | Sim | O Token API da sua conta Axur. Obrigatório, a menos que a variável de ambiente AXUR_API_V1_LEAKSTREAM_API_KEY esteja definida |
username_field | Sim | O nome do campo no corpo da requisição que contém o nome de usuário. Obrigatório, a menos que a variável de ambiente AXUR_API_V1_LEAKSTREAM_USERNAME_FIELD esteja definida |
password_field | Não | O nome do campo no corpo da requisição que contém a senha |
password_hash_type | Não | O algoritmo de hash usado para a senha. Valores aceitos: md5, sha1, sha224, sha256, sha384, sha512 |
execute_hashing | Não | Quando definido como true, a função aplica hash SHA-256 à senha automaticamente antes de enviá-la à API da Axur. Recomendado quando o frontend não aplica hash à senha |
leakstream_timeout | Não | Timeout de conexão (em milissegundos) para requisições à API da Axur. O valor padrão é 60000 (60 segundos) |
- Clique no botão Save.
Configure uma regra no Rules Engine
A integração Leakstream usa um padrão de duas regras no Rules Engine:
- Regra 1 — aciona a função Leakstream no endpoint alvo (por exemplo, um formulário de login ou criação de conta).
- Regra 2 — aciona uma segunda função de resposta personalizada no mesmo endpoint. Essa função lê os cabeçalhos personalizados definidos pelo Leakstream e decide se deve bloquear a requisição ou deixá-la passar.
Os critérios do Rules Engine do Firewall não suportam correspondência em cabeçalhos de requisição personalizados. Por isso, a lógica de bloqueio deve estar dentro de uma segunda função que lê o cabeçalho axur-leakstream-leaked do objeto da requisição e retorna a resposta adequada.
A tabela abaixo descreve os cabeçalhos que a função Leakstream adiciona ao objeto da requisição:
| Cabeçalho | Valor | Descrição |
|---|---|---|
axur-leakstream-leaked | true | A combinação de nome de usuário e senha foi encontrada em uma violação de dados |
axur-leakstream-username-leaked | true | O nome de usuário isolado foi encontrado em uma violação de dados |
axur-leakstream-missing-username | true | O campo de nome de usuário não foi encontrado no corpo da requisição |
axur-leakstream-error | timeout, invalid-content-type ou um código de status HTTP | Ocorreu um erro ao chamar a API da Axur |
Regra 1 — Execute a função Leakstream
Ainda na página do Firewall:
- Selecione a aba Rules Engine.
- Clique no botão + Rule Engine.
- Dê um nome fácil de lembrar à regra (por exemplo,
Executar Leakstream). - Selecione um criteria (critério) para restringir quais requisições acionam a verificação do Leakstream.
- Exemplo: if
Request Methodis equal toPOSTandRequest URImatches/login. - Isso evita executar a verificação em todas as requisições e a limita a endpoints de login ou criação de conta.
- Exemplo: if
- Abaixo, selecione Run Function como behavior e escolha a instância da função Leakstream criada anteriormente.
- Clique no botão Save.
Regra 2 — Aja sobre o resultado
Antes de criar esta regra, você precisa de uma segunda instância de função que leia o cabeçalho axur-leakstream-leaked e retorne uma resposta personalizada. Por exemplo, a função abaixo retorna uma página HTML de aviso quando o cabeçalho é true:
async function handleRequest(request) { const leaked = request.headers.get('axur-leakstream-leaked');
if (leaked === 'true') { const html = `<!DOCTYPE html><html lang="pt-BR"><head> <title>Aviso!</title></head><body> <h1>Aviso!</h1> <p>A combinação de usuário e senha fornecida foi encontrada em um vazamento de dados. Você não pode utilizá-la.</p></body></html>`; return new Response(html, { status: 403, headers: { 'content-type': 'text/html;charset=UTF-8' }, }); }
return fetch(request);}
addEventListener('fetch', event => { return event.respondWith(handleRequest(event.request));});Após criar e instanciar a função de resposta, adicione a segunda regra:
- Clique novamente no botão + Rule Engine.
- Dê um nome fácil de lembrar à regra (por exemplo,
Bloquear credenciais vazadas). - Defina o criteria para corresponder ao mesmo endpoint da Regra 1:
- Exemplo: if
Request Methodis equal toPOSTandRequest URImatches/login.
- Exemplo: if
- Selecione Run Function como behavior e escolha a instância da função de resposta.
- Clique no botão Save.
Associe o Firewall ao seu domínio
No Console, você deve agora configurar seu domínio para que ele seja protegido pelo seu Firewall.
- No Products menu, selecione Domains.
- Clique no domínio que você deseja proteger com sua função Leakstream.
- Na seção Settings, clique no seletor de
Firewalle escolha o Firewall que você acabou de criar. - Clique no botão Save.
Pronto. Agora a integração Axur Leakstream está em execução e protegendo as credenciais dos seus usuários no edge.