Tengo una API Node y Express para mi backend, actualmente se ejecuta en Heroku y en mis registros veo bots que intentan enviar spam a la API con malas intenciones, tratando de llegar a puntos finales como GET /.env y GET /.aws-secret . Mi API simplemente devolverá un 404 ya que estos puntos finales no existen, pero me gustaría evitar que estos bots realicen todas estas solicitudes. Ya tengo un limitador de velocidad, pero es molesto ver que los bots todavía hacen solicitudes básicamente todos los días tratando de llegar a un punto final.
He visto algunas respuestas aquí sobre cómo bloquear una dirección IP usando Express, pero mi idea sería tener una lista de puntos finales en la lista negra (como GET /.env ) y prohibir cualquier IP que haga una solicitud a esos puntos finales, excepto No sé si esta solución es ideal, ¿cuál sería la mejor manera de deshacerse de estos bots que intentan llegar a puntos finales vulnerables?
Puede incluir en la lista negra archivos y directorios confidenciales y cada vez que alguien intente acceder a ellos, no devuelva ninguna respuesta.
La cura para este problema podría ser peor que una enfermedad.
La limitación de velocidad tiene una alta probabilidad de bloquear usuarios válidos, ya que los scripts tienden a ser más persistentes que los humanos para lograr sus objetivos.
¿Bloquear direcciones IP? Es posible que desee probarlo. Tenga en cuenta que una IP no significa una sola persona, máquina o script. Las direcciones IP a menudo se comparten entre muchos usuarios que utilizan el mismo enrutador. Prohibirá a los usuarios legítimos al hacerlo.
La mejor idea parece ser algún tipo de mecanismo captcha: demuestra que eres humano resolviendo un acertijo que es fácil para los humanos, pero difícil para las máquinas.