API Security / OWASP / Hardening
Seguridad de APIs: checklist mínimo antes de exponer un endpoint
Controles prácticos para reducir riesgo en APIs públicas: autenticación, autorización, validación, rate limits, logs y pruebas ofensivas.
28-06-2026
Una API expuesta es una interfaz de negocio. Si permite consultar, modificar o enviar información, también puede ser abusada para extraer datos, automatizar fraude o escalar privilegios.
Antes de publicar un endpoint, conviene revisar este baseline.
Autenticación
- Usar mecanismos estándar: OAuth 2.0, OIDC, tokens firmados o sesiones robustas.
- No aceptar tokens en query string.
- Rotar secretos y llaves.
- Aplicar expiración y revocación.
Autorización
- Validar permisos por objeto, no solo por ruta.
- Probar acceso horizontal: usuario A intentando ver datos de usuario B.
- Probar acceso vertical: usuario común intentando acciones admin.
- Centralizar reglas de autorización cuando sea posible.
Validación de entrada
- Definir schemas por endpoint.
- Rechazar propiedades inesperadas.
- Validar tipos, rangos, tamaños y formatos.
- Normalizar datos antes de procesarlos.
Rate limits y abuso
- Limitar por IP, usuario, token y acción sensible.
- Aplicar límites distintos para login, búsqueda, exportación y creación masiva.
- Detectar automatización con patrones de comportamiento.
Manejo de errores
- No revelar stack traces.
- No exponer IDs internos sensibles.
- Usar mensajes consistentes.
- Registrar detalle interno sin mostrarlo al cliente.
Logs y trazabilidad
- Registrar actor, acción, recurso, resultado y origen.
- Correlacionar request ID entre frontend, API y proveedores.
- Alertar exportaciones masivas, errores repetidos y acciones administrativas.
Pruebas ofensivas
- Fuzzing básico.
- Pruebas de autorización por objeto.
- Revisión de endpoints no documentados.
- Pruebas de deserialización, SSRF, inyección y mass assignment.
Cierre
Una API segura no depende de un gateway solamente. El gateway ayuda, pero la autorización, validación y lógica de negocio deben resistir pruebas con datos reales y usuarios reales.