¿Cómo puedo defenderme contra solicitudes GET maliciosas?
Estas solicitudes no parecen realmente maliciosas. Al menos, según su descripción, no causan ningún daño, es decir, no ejecutan código no deseado, inyección SQL o ataques similares. Sólo necesitan algunos recursos para procesar. Lo que ve es lo que todos los operadores de un servidor web pueden ver en los archivos de registro: muchas solicitudes que no coinciden con nada existente en el servidor porque alguien está explorando Internet y buscando sistemas vulnerables. Además, estas solicitudes también pueden ser causadas por cambios en su sitio donde las URL antes válidas ahora no son válidas, pero los robots aún recuerdan las URL antiguas y las revisan para ver si hay actualizaciones.
Si estas solicitudes le molestan, puede cambiar su aplicación para ignorar dichas solicitudes (y no registrarlas como errores) o filtrar estas solicitudes por un servidor / proxy inverso frente a su aplicación.
Si bien el firewall de aplicación web sugerido (WAF) puede filtrar este tipo de solicitudes, consideraría excesivo instalar uno solo para filtrar estas solicitudes inofensivas. Pero si se usa correctamente (es decir, se adapta a la aplicación en lugar de simplemente instalarse y olvidarse, como suele ocurrir), puede ser una capa útil de protección. Y mientras que el fail2ban sugerido puede ayudar, también es útil si estas solicitudes se originan solo en unas pocas direcciones IP únicas, lo que a menudo no es el caso. Además, la confianza en fail2ban puede bloquear usuarios válidos, ya que los enlaces no válidos a su sitio pueden incluirse en correos electrónicos u otros sitios web y, por lo tanto, la dirección IP de origen de la solicitud no es el atacante, sino un usuario inocente que fue engañado al visitar este enlace. Pero fail2ban solo ve la IP de origen y el mensaje de error y luego bloquea al usuario inocente.
Lo que debe hacer es asegurarse de que su aplicación no sea vulnerable y OWASP es un buen recurso para obtener información sobre cómo proteger aplicaciones web. Si su aplicación es segura, entonces no tiene ningún problema al tratar con este tipo de solicitudes. Pero para limitar el uso de recursos de solicitudes no válidas, debe asegurarse de que estas solicitudes se detecten y rechacen lo antes posible en su aplicación, es decir, sería malo si las solicitudes no válidas también desencadenaran consultas costosas en una base de datos.