Exposição de Endpoints
A exposição indevida de endpoints ocorre quando a API revela mais informações do que o necessário sobre a estrutura do sistema, versões de software ou dados internos, facilitando o trabalho de um atacante durante a fase de reconhecimento.
Riscos Comuns
- Endpoints de Debug: Esquecer rotas como
/debug,/infoou/envativas em produção. - Nomenclatura Previsível: Usar
/admin/delete-all-userssem proteção adequada. - Vazamento de Estrutura: Mensagens de erro que revelam nomes de tabelas, colunas do banco ou stack traces do servidor.
Como fazer vs Como não fazer
✅ Como fazer
- Utilize o princípio do Privilégio Mínimo: se um endpoint não é necessário para a funcionalidade pública, ele não deve estar acessível na rede pública.
- Remova documentações de API (como o Swagger/OpenAPI UI) dos ambientes de produção, mantendo-os apenas em Staging/Dev ou atrás de autenticação forte.
- Utilize nomes de rotas que descrevam o recurso, não a implementação técnica.
❌ Como não fazer
- Não deixe rotas de teste ou "Mocks" ativas em produção.
- Não retorne objetos do banco de dados (Models) diretamente na resposta da API; utilize DTOs (Data Transfer Objects) ou Mappers para enviar apenas os campos necessários ao Frontend.
- Não utilize versões de software ou nomes de bibliotecas nos cabeçalhos de resposta (ex:
X-Powered-By: Express).