
Tengo una lista de bots para bloquear, así que estuve pensando que fail2ban podría ser una solución hasta que me di cuenta de que mod_security sería más eficiente en este tipo de tareas.
La cantidad de bots es enorme, por lo que el archivo de configuración contendrá una lista larga.
Mi pregunta es sobre el rendimiento (memoria, procesador, disco, etc.):
¿Tener una lista enorme de bots para bloquear afectará el rendimiento de Apache en un sitio con mucho tráfico?
Respuesta1
El rendimiento no debería ser un problema; verifique la función @rbl de ModSecurity en combinación con el almacenamiento en caché de DNS local, que le permitirá realizar un seguimiento de los infractores en DNS y utilizar esa zona DNS como referencia al decidir permitir o bloquear alguna conexión.
Respuesta2
En lugar de administrar una larga lista de bots, puede filtrar los bots en función de algunas palabras clave presentes en la cadena de agente de usuario y solo permitir el paso de ciertos bots.
Utilizo esto para bloquear todas las arañas/bots que no quiero que rastreen mi sitio. Luego, de esos, solo dejo pasar a aquellos que me interesan en indexar el sitio web. Todos los demás quedan bloqueados por el firewall.
Hasta ahora esto funciona bastante bien para mí.
sudo nohup tail -f /var/log/apache2/access.log | awk -F' - |\"' 'tolower($7) ~ /bot|crawler|spider/ && tolower($7) !~ /google|yahoo|bing|msn|ask|aol|duckduckgo/{system(" sudo ufw deny from "$1" to any comment \""$7"\"")}' > /dev/null &