Prevención de vulnerabilidades en API

Al diseñar APIs, es fundamental que la seguridad sea una prioridad desde la fase inicial de desarrollo. Para mitigar riesgos, asegúrate de seguir estas buenas prácticas:

  • Protección de la documentación: Si la API no está destinada a ser pública, restringe el acceso a su documentación.
  • Mantenimiento actualizado: Asegúrate de que la documentación refleje la realidad del aplicativo. Esto permite que los auditores de seguridad tengan una visibilidad completa de la superficie de ataque legítima.
  • Listas blancas de métodos: Implementa una lista blanca (allowlist) de los métodos HTTP permitidos (por ejemplo, permitir solo GET y POST, y deshabilitar explícitamente otros como PUT o DELETE si no son necesarios).
  • Validación de Content-Type: Verifica que el tipo de contenido sea el esperado para cada solicitud o respuesta, rechazando cualquier formato no soportado.
  • Mensajes de error genéricos: Evita mensajes de error detallados que puedan revelar información sobre la infraestructura, tecnologías o lógica interna, ya que esto facilita la fase de recon de un atacante.
  • Seguridad en versiones antiguas: Aplica medidas de protección en todas las versiones de la API. Es un error común proteger solo la versión de producción actual y dejar versiones obsoletas expuestas y vulnerables.
  • Mitigación de asignación masiva: Para prevenir ataques de Mass Assignment, define una lista blanca de las propiedades que el usuario tiene permitido actualizar y bloquea estrictamente el acceso a propiedades sensibles (como campos de rol, ID o estado de cuenta).