Asegurar las interfaces públicas
Lo básico
Autenticación en cada ruta, incluso en las que parecen poco interesantes. Una comprobación de autorización sobre el recurso y no solo sobre la conexión. Un límite de tasa por consumidor. Y un tamaño de petición limitado, incluida la profundidad de anidamiento.
Exposición silenciosa
Listas que devuelven más campos de los necesarios, un recuento de resultados que revela existencia, y mensajes que distinguen 'no existe' de 'sin permiso'. Los tres permiten mapear el sistema sin romper nada.
Devuelve solo lo necesario, y mantén el comportamiento de rechazo coherente.
Gestionar las claves de los consumidores
Una clave por consumidor, permisos definidos, capacidad de revocación inmediata y registro de uso. Y un documento que diga explícitamente qué está permitido hacer con la interfaz y qué no.
En profundidad
Registra las peticiones rechazadas y alerta sobre patrones: escaneo de rutas, intentos con identificadores secuenciales, una tasa inusual desde una fuente. La mayoría de los intentos de explotación aparecen en ese ruido mucho antes de que tengan éxito.