Las APIs son la nueva superficie de ataque
Las APIs ya no son infraestructura auxiliar: son el núcleo de los negocios digitales. Tu app móvil, tu e-commerce, tus integraciones B2B y tu arquitectura en la nube se comunican mediante APIs. Y los atacantes lo saben perfectamente.
El OWASP API Security Top 10 documenta las categorías más críticas. Conocerlas es el primer paso para no ser la próxima víctima.
Las vulnerabilidades más críticas
BOLA — Broken Object Level Authorization
El atacante manipula un ID en la URL para acceder a datos de otros usuarios. Afecta al 72% de las APIs analizadas. La validación de autorización debe hacerse por recurso, no solo por rol.
Broken Authentication
Tokens JWT sin expiración, secretos débiles, falta de MFA o endpoints sin rate limiting. Permite robo de sesión y fuerza bruta sin detección.
Broken Object Property Authorization
La API devuelve o acepta campos que el usuario no debería ver o modificar (mass assignment). Los atacantes envían campos extra para escalar privilegios.
Unrestricted Resource Consumption
Sin límites de peticiones, tamaño de payload o complejidad de consulta, un atacante puede degradar el servicio sin necesitar un DDoS masivo.
Este fragmento requiere el módulo JWT comercial de NGINX Plus. El archivo de claves debe contener un JSON Web Key Set (JWKS), no una clave pública PEM. Envía el token en la cabecera Authorization: Bearer; incluirlo en una URL puede exponerlo en los registros. Consulta la documentación JWT de NGINX y las recomendaciones de transporte de tokens del RFC 6750.
Coloca este fragmento dentro del contexto http y configura por separado el certificado TLS y el upstream del backend. Valida el emisor, la audiencia y los permisos sobre cada recurso antes de usarlo en producción: validar el token no sustituye las comprobaciones de autorización.
# NGINX Plus — fragmento dentro de http { ... }
limit_req_zone $binary_remote_addr zone=api:10m rate=30r/m;
server {
listen 443 ssl;
# Certificado TLS y upstream del backend configurados por separado.
# Lee Authorization: Bearer de forma predeterminada.
auth_jwt "API Zone";
auth_jwt_key_file /etc/nginx/api-jwks.json;
location /api/ {
limit_req zone=api burst=10 nodelay;
limit_req_status 429;
add_header X-Content-Type-Options "nosniff";
add_header Strict-Transport-Security "max-age=31536000";
proxy_pass http://backend;
}
}
"Una API sin autenticación es una puerta trasera con cartel de bienvenida. Sin rate limiting, es una invitación al abuso."
Zenith — Primitive Labs
Checklist de seguridad para tu API
- 01
Autenticación — JWT con expiración corta, refresh tokens rotativos, MFA en endpoints críticos.
- 02
Autorización — Validar BOLA en cada recurso. Principio de menor privilegio por token/scope.
- 03
Validación de entrada — Schema validation estricta. Rechazar peticiones con campos inesperados.
- 04
Rate limiting — Por IP, por usuario y por endpoint. Respuesta 429 con cabecera Retry-After.
- 05
Logging — Registrar todas las peticiones con IP, user-agent y usuario. Alertas ante patrones anómalos.



