[U-co] Aumento de carga en servidor web

Fabian Rodriguez magicfab en ubuntu.com
Jue Oct 1 13:26:11 UTC 2009


Hernando Bocanegra wrote:
> Buenos dias compañeros,
> 
> Tengo un problema bastante grave y os agradeceria si me pudieran dar una luz
> al respecto.
> 

La mayoría de problemas de carga en servidores web provienen de
agotamiento de recursos... que en general provienen de ataques DOS
(Denial of Service).

Mira en tus logs si hay patrones de acceso abusivos. Por ejemplo para
listar accesos a archivos PHP en orden:

sudo cat /var/log/apache2/access.log| awk '{print $7}' | sort | uniq -c
|sort -n | grep php

El resultado sería similar a:
1 /index.php?cat=WiFi
1 /pm_search.php
1 /r.php?d=colext.orgerror.php
1 /r.php?d=linuxquebec.org
2 /blog/2002/07/03/les-forums-de-discussion-de-retour/index.php
2 /blog/wp-cron.php?check=f7f69e0710322abf770ce2c790fd5a63
2 /blog/xmlrpc.php?rsd
2 /wp/wp-rdf.php
25 /blog/wp-comments-post.php

La cifra en la primera columna indica el número de "hits".

(lo probé en un log de poco tráfico..)

Recuerda ajustar los ejemplos a tu caso particular.. por ejemplo si tu
sitio no es en PHP :)

También puedes buscar frecuencia de accesos por IP (en una sóla línea):
sudo cat /var/log/apache2/access.log| awk '{print $1}' | sort | uniq -c
|sort -n

Ejemplo de resultado:

  23 dhcp-47-196.nomad.chalmers.se
  27 58.214.107.39
  28 194.8.75.64
  31 rate-limited-proxy-209-85-238-24.google.com
  32 65.55.232.23
  33 crawl9.dotnetdotcom.org
  33 humboldt.canonical.com
  41 ip-212-117-168-22.server.lu
  46 61.135.216.104
  96 llf531368.crawl.yahoo.net
 104 219-87-28-2.static.tfn.net.tw
 104 adsl-99-55-180-6.dsl.bcvloh.sbcglobal.net
1119 crawl-66-249-67-82.googlebot.com

La cifra en la primera columna indica el número de visitas de la misma
IP o host. Por ejemplo aquí 1120 visitas de un bot de indexación de
Google se vé abusivo y desproporcionado. O quizás según el contexto sea
normal.

Con esa información puedes decidir si optimizas alguna parte de tu sitio
web, o si bloqueas algunas direcciones, o una combinación de ambas cosas.

Eso es más bien básico, pero en los casos que me han tocado, quienes
tenían este problema de abuso no habían hecho estos chequeos y al
hacerlos pudieron identificar otras cosas. Puede parecer una pregunta
simple pero como principiante en asuntos de servidor cada vez que hice
la pregunta incluso a colegas se quedaban con la mirada atónita.. La
mayoría de sysadmin que conozco están rodeados de herramientas
sofisticadas y es difícil tener explicaciones básicas de asuntos como éste.

Ojalá te sirva, de cualquier modo me interesa saber cómo resuelves tu
caso.

Suerte,

Fabian




Más información sobre la lista de distribución Ubuntu-co