Archivo de la categoría: Google

cut | sort | uniq: Apache logs

[spanish]

Muchas veces cuando un servidor web va lento es posible que esté ante un “ataque”, intencionado o no, por parte de algún bot. He visto casos en los que el propio Google Bot o bots de universidades u otros indexadores generaban más de la mitad del tráfico de un sitio web. Estos casos no son un ataque DoS como tal, sería tráfico legítimo, pero el resultado es que nos “tumban” el servicio. En algunos casos como con Google se puede configurar con las Webmaster Tools y los ficheros sitemaps y/o robots.txt la frecuencia de las visitas y a qué páginas acceder, en otros no y tendremos que valorar filtrar ese tráfico a nivel de firewall. Pero en cualquier caso el primer paso es detectar que realmente hay una IP (o un grupo de IPs) que nos está “machacando” y con whois averiguar quién es.

Para ver las cinco IPs con más accesos en el Apache podemos ejecutar algo así:

[/spanish]
[english]

Many times the reason because a web server is slow and unresponsive is that it’s under “attack”, on purpose or not, by a bot. I’ve seen cases where Google Bot, bots from research engines from universities or some other kind of indexer were responsible for more than half the traffic of a site. These cases are not real DoS attacks, this traffic can be considered legitimate, but the result is that it brings the service down. You can instruct some of these bots not to visit your site so often, like Google Bot using the Google Webmaster Tools and the sitemaps and/or robots.txt files, but usually you can’t and have to consider filtering all this traffic at the firewall. But in any case, the first step is realizing that a single IP (or a couple of them) is responsible for most of your traffic, identifying this IP and using whois learn who it belongs to.

You can run something like this to list the top five IP addresses on your Apache’s access.log:

[/english]



cut -d" " -f 1 access.log | sort | uniq -c | sort -nr | head -n 5