Desde que integre Grafana, de vez en cuando veo los traces, y ayer me encontre con un par de errores 500 tipo 3 y media de la mañana, que despues no se repitieron. Fui a mirar Clodwatch, y alguien le estaba pegando a la API publica con parametros "raros". Como corcho encontraron la URL de la API publica? Eso sera tarea para otro post, lo mas probable es que simplemente probaron (no era exactamente dificil encontrarlo) pero el tema es que si ya saben que hay algo ahi, a pesar que es publica, a pesar que no tiene nada "peligroso", los bots van a empezar a romper los 🥚🥚
Este humilde blog corre con LAMBDA con unas librerias para armar Minimal API en .NET que se llama FastEndpoints. Usa el patron REPR Design Pattern (Request-Endpoint-Response), viene con clases e implementaciones para facilitar la seguridad, validaciones, integration tests, unit tests, etc. Muy bueno, realmente.
Entonces, decidi meterle autenticacion con una API Key a la API Publica ("Porque odias mis trenes, señor, se suponia que era una API publica, no tengo ganas de tener alertas de 5xx en Cloudwatch porque un bot quiere romper las cosas").
Asi que veamos como decidi resolverlo.