# Runbook de WAF, CDN e borda

Status: pronto para execucao no provedor de DNS/CDN antes de abrir a landing ao publico amplo.

## Escopo minimo

- Proteger `tikah.com.br`, `www.tikah.com.br` e dominios de tenants que apontem para a plataforma.
- Ativar proxy/CDN com TLS completo, redirecionamento HTTP para HTTPS e HSTS.
- Manter a landing publica cacheavel, mas nunca cachear rotas autenticadas ou APIs sensiveis.

## Regras WAF obrigatorias

- Desafiar ou bloquear trafego anomalo para `/admin`, `/tikah-admin`, `/organizador`, `/dashboard` e `/api/auth/*`.
- Aplicar managed rules para OWASP Top 10, SQLi, XSS, LFI/RFI e path traversal.
- Bloquear metodos HTTP inesperados fora de `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `HEAD` e `OPTIONS`.
- Bloquear user agents vazios ou claramente automatizados quando atingirem rotas administrativas.

## Rate limit de borda

- `/api/auth/*`: 10 requisicoes por minuto por IP, com desafio progressivo.
- `/login`: 20 requisicoes por 10 minutos por IP.
- Uploads: 30 requisicoes por 10 minutos por IP e limite compativel com 6 MB.
- Contato, importacoes e APIs publicas sensiveis: 60 requisicoes por 10 minutos por IP.
- Webhooks devem ser isentos de desafio visual, mas protegidos por segredo e limite especifico por origem.

## Bots e geografia

- Ativar bot fight ou equivalente em modo monitoramento por 24 horas; depois trocar para desafio em rotas sensiveis.
- Desafiar paises fora do publico esperado quando a operacao confirmar que isso nao afeta palestrantes, avaliadores ou equipe.
- Registrar falsos positivos no log de manutencao.

## Checklist de validacao

- Landing abre sem desafio para usuario comum.
- `/api/health` responde pela borda sem cache indevido.
- `/login` e rotas administrativas recebem desafio/rate limit sob repeticao.
- Webhooks continuam recebendo chamadas do provedor financeiro.
- Regras e screenshots ficam anexados ao registro de manutencao.
