Explainers

Autenticação de API multifator para serviços de solução CAPTCHA

Uma chave de API publicada sem querer em um repositório do GitHub costuma esvaziar o saldo de resolução de CAPTCHA em minutos.

A correção não é trocar de chave com mais frequência: é parar de depender de um único fator. Autenticação multifator para APIs significa empilhar controles independentes — chave, IP de origem, orçamento, horário — para que o vazamento de um deles não vire acesso total à conta.

O ponto cego de confiar só na chave de API

Uma chave isolada tem uma única função: identificar e autorizar quem está chamando. Isso cria um ponto único de falha — e o efeito de um vazamento muda conforme existam outras camadas de proteção:

  • Chave publicada no GitHub — só a chave: saldo todo drenado. Com multifator: bloqueado, IP fora da lista.
  • Notebook do desenvolvedor roubado — só a chave: uso não autorizado. Com multifator: bloqueado, chave no gerenciador de segredos, não no disco.
  • Chave exposta em log — só a chave: uso indevido silencioso. Com multifator: detectado, alerta de orçamento dispara.
  • Ameaça interna — só a chave: acesso irrestrito. Com multifator: limitado, teto de gasto por chave.

As quatro camadas da autenticação multifator

Defesa em camadas para a API de CAPTCHA soma quatro fatores independentes. Você não precisa das quatro de uma vez: a maioria dos times já reduz boa parte do risco só com as camadas 1 e 3.

Camada Responde à pergunta Como ativar na CaptchaAI
1. Chave de API O que você sabe Gerenciador de segredos + rotação em cronograma fixo
2. Identidade de rede De onde a chamada vem Lista de permissões de IP no painel
3. Limites de gasto Até onde a chave pode ir Tetos diários, limite por minuto e alertas de saldo
4. Controles por horário Quando a chave pode agir Janela de horário e expiração automática

Camada 1 em detalhe: a chave de API

A linha de base. Toda requisição para a CaptchaAI exige a chave de API:

https://ocr.captchaai.com/in.php?key=YOUR_API_KEY&method=userrecaptcha&...

Vale reforçar essa camada com alguns hábitos simples:

  • Nunca deixe chaves no código-fonte
  • Use variáveis de ambiente ou um gerenciador de segredos
  • Chaves diferentes para desenvolvimento, staging e produção
  • Rotacione as chaves em um cronograma fixo

Com a chave protegida, o fator seguinte é de onde a chamada parte.

Camada 2 em detalhe: identidade de rede

A lista de permissões de IP restringe quais servidores podem usar sua chave. Mesmo com uma chave válida, requisições vindas de um IP fora da lista são recusadas: você cadastra os IPs autorizados no painel da CaptchaAI e só passam as chamadas originadas de um IP dessa lista — combine com VPN ou IP de saída fixo em ambientes dinâmicos. Nem todo ambiente facilita isso:

Ambiente Viabilidade da lista de permissões de IP
Servidores dedicados Fácil — IP fixo
VMs na nuvem Moderada — use IP elástico
Serverless (Lambda) Difícil — peça um NAT gateway para saída fixa
Notebook de desenvolvedor Inviável — use uma chave de desenvolvimento à parte

Camadas 3 e 4: orçamento e horário

Essas duas últimas camadas não impedem o acesso indevido — elas contêm o estrago quando as duas primeiras falham.

  • Teto de gasto diário — valor máximo em dólares por 24 horas
  • Limite de requisições por minuto — número máximo de soluções por minuto
  • Alertas de saldo — aviso ao cruzar um limiar de uso
  • Pausa automática — interrompe a resolução quando o orçamento acaba

Restrições baseadas em tempo somam mais uma dimensão:

  • Cronograma de rotação — chave nova a cada 30–90 dias
  • Tokens de curta duração — credenciais temporárias geradas a partir de uma chave mestra
  • Janela de horário — se a carga só roda das 9h às 18h, bloqueie requisições de madrugada
  • Expiração automática — chaves que se autodestroem depois de um prazo definido

Arquitetura de referência para múltiplas camadas

Uma configuração multifator funcional para a CaptchaAI:

[Application] → [Secrets Manager] → Get API key
    ↓
[Rate Limiter] → Check budget/rate limits
    ↓
[Static Egress IP] → NAT gateway / proxy
    ↓
[CaptchaAI API] → IP whitelist check → Process request
    ↓
[Audit Logger] → Record request, response, timing
Componente Função Ferramentas
Gerenciador de segredos Guardar e rotacionar chaves de API HashiCorp Vault, AWS Secrets Manager
Limitador de taxa Aplicar tetos de gasto e de requisições Redis, token bucket em processo
Saída fixa IP de origem estável para a lista de permissões NAT gateway, servidor proxy
Registro de auditoria Guardar cada chamada de resolução Arquivos JSONL, ELK Stack

No Brasil, esse registro também ajuda a cumprir a LGPD: manter logs de quem chamou a API, quando e de qual IP é parte do que a lei espera num incidente. Workers em sa-east-1 (São Paulo) ainda ganham menos latência com a mesma saída fixa.

Matriz de decisão: quando cada camada barra o ataque

Cenário Chave válida IP na lista Dentro do orçamento Janela de horário Resultado
Operação normal Permitido
Chave vazou no GitHub Bloqueado
Servidor comprometido ❌ (teto atingido) Contido
Chave antiga de um backup ❌ (rotacionada) Bloqueado
Uso fora do horário Bloqueado

Nenhuma camada sozinha é perfeita — juntas, tornam o acesso indevido cada vez mais difícil.

Rotação de chaves sem parar a produção

A parte mais delicada da segurança multifator é trocar chaves sem derrubar a produção:

  1. Gere uma chave nova no painel da CaptchaAI
  2. Atualize o gerenciador de segredos com a chave nova
  3. Implante aos poucos — cada aplicação pega a chave nova na próxima busca do segredo
  4. Monitore — confirme que as resoluções continuam funcionando com a chave nova
  5. Revogue a chave antiga depois que todas as aplicações migrarem (espere de 24 a 48 horas)

O ponto crítico: a chave antiga e a nova precisam funcionar ao mesmo tempo durante essa janela de transição. Como regra prática para essa transição:

  • Deixe as duas chaves coexistirem por tempo suficiente para que deploy e rollback continuem seguros.
  • Registre qual fator falhou, para diferenciar erro de rotação de rejeição do lado da CaptchaAI.
  • Teste a chave rotacionada em um caminho limitado antes de promovê-la para todas as regiões.

Erros comuns na autenticação multifator

  • ERROR_WRONG_USER_KEY depois da rotação — causa: a aplicação ainda usa a chave antiga. Correção: confira a versão no gerenciador de segredos e reinicie a aplicação.
  • ERROR_IP_NOT_ALLOWED num ambiente novo — causa: o IP do servidor não está na lista de permissões. Correção: adicione o IP no painel da CaptchaAI e aguarde a propagação.
  • Alertas de orçamento disparando sem explicação — causa: pico de tráfego legítimo ou vazamento de chave. Correção: cheque os logs de auditoria em busca de padrão estranho e rotacione a chave se desconfiar.
  • Limitador de taxa bloqueando requisições válidas — causa: limite configurado abaixo da carga real. Correção: suba o limite aos poucos e acompanhe o uso real.

Perguntas frequentes

O que fazer se uma chave vazar em um repositório público?

Revogue a chave imediatamente pelo painel da CaptchaAI e gere uma nova — não espere a janela de rotação normal. Depois, confira os logs de auditoria para ver se houve uso indevido antes da revogação e ajuste o .gitignore para impedir que segredos voltem a ser commitados.

IP dinâmico de home office trava a lista de permissões?

Sim, e é o cenário mais comum de bloqueio inesperado. A solução não é abrir a lista para qualquer IP: use uma VPN corporativa com IP de saída fixo, ou centralize as chamadas em um servidor com IP estático em vez de disparar a API direto do notebook do desenvolvedor.

Preciso rotacionar chaves mesmo sem nenhum incidente?

Sim. Rotação por cronograma (a cada 30–90 dias) é higiene básica que reduz a janela de exposição de uma chave vazada sem você saber. Rotação por incidente é resposta a um vazamento confirmado. São processos separados, mas seguem o mesmo cuidado: chave antiga e nova funcionando juntas durante a transição.

A autenticação multifator deixa a resolução de CAPTCHA mais lenta?

Não de forma perceptível: consulta ao gerenciador de segredos custa 1–5 ms em cache, limitador de taxa custa microssegundos, e a checagem de IP acontece no servidor, sem custo para quem chama.

Uso a mesma chave para tudo ou uma por aplicação?

Uma por aplicação (ou por ambiente). Isso isola o risco: um problema em um sistema não contamina os outros, e você revoga uma única chave sem precisar derrubar todo o resto.

Para continuar

Comece pela camada mais simples — gere sua chave de API na CaptchaAI — e evolua a partir daí com estes guias:

Os comentários estão desativados para este artigo.