Serveur Apache ralenti

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

davidtennis
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: 5 Avr 2007

Serveur Apache ralenti

Message le Ven Nov 11, 2011 17:55

Bonjour,

J'ai un serveur Apache 2 avec php 5. Le serveur rame parfois avec un grand nombre de process Apache ouverts en même temps. J'ai remarqué qu'à ce moment en faisant "netstat", j'avais une adresse ip (jamais la même) qui apparaît un grand nombre de fois en "ESTABLISHED" (cf exemple ci-dessous) et que ça pouvait ne pas changer pendant pluseirus minutes avant que ces connexions "ESTABLISHED" ne disparaissent.

Je ne sais vraiment à quoi c'est dû. Que peut-on y faire ?
Merci

tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2620 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2657 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2707 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2739 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2737 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2709 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2669 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2659 ESTABLISHED
tcp 0 11520 mon.ip.est.ici:80 41.201.89.249:1312 ESTABLISHED
tcp 0 0 mon.ip.est.ici:80 66.249.72.33:52617 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2742 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2733 ESTABLISHED
tcp 0 13068 mon.ip.est.ici:80 86.77.144.243:1913 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2516 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2727 ESTABLISHED
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2697 ESTABLISHED


zeb
WRInaute accro
WRInaute accro
 
Messages: 4569
Inscription: 5 Déc 2004

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 18:00

ça ressemble à un scan externe sur ton serveur, en vue de trouver les services qui tournent, donc les failles possible a exploiter.

davidtennis
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: 5 Avr 2007

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 18:31

ah oui. Qu'est-ce qui te fait dire ça ?
Ce sont toutes des connexions sur mon port 80 donc je ne pensais pas que c'était un scan.


f_trt
WRInaute impliqué
WRInaute impliqué
 
Messages: 927
Inscription: 17 Sep 2005

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 19:57

Et cette adresse Ip tu as fait une recherche sur sa localisation ou ce que cela peut être ?
Voir même tenter un scan dessus pour voir le systeme d'exploitation ou si tu peux avoir des infos.


zeb
WRInaute accro
WRInaute accro
 
Messages: 4569
Inscription: 5 Déc 2004

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 20:15

davidtennis a écrit:Ce sont toutes des connexions sur mon port 80 donc je ne pensais pas que c'était un scan.

Autant pour moi donc :
tcp 0 12960 mon.ip.est.ici:80 41.201.106.206:2620 ESTABLISHED veux dire que :
mon.ip.est.ici:80 (ton serveur écoutant sur le 80) 41.201.106.206:2620 ESTABLISHED (répond sur le port 2620).

Auquel cas, vue le nombre de connections depuis la même IP c'est plutôt du DOS.

davidtennis
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: 5 Avr 2007

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 20:25

Effectivement, au début je pensais que c'était du DOS, car effectivement ce sont des IPs qui selon les logs apache des requêtes répétées sur une même page en peu de temps.

Mais il y a plusieurs indices qui me font douter sur le fait que ce soit du DOS:
- ce comportement provient d'IP qui correspondent à des utilisateurs connectés au site (bizarre, a priori quelqu'un qui fait une attaque DOS ne se loggue pas en même temps sur le site)
- j'ai l'impression que ce n'est pas tellement lié à des tas de requêtes simultanées, mais plutôt à des connexions qui restent ouvertes et ne finissent jamais. Le lien "mon.ip.est.ici:80 41.201.106.206:2620" reste en état "ESTABLISHED" très longtemps, parfois pendant plusieurs minutes.

Bref, je n'arrive pas à bien comprendre le problème et je ne sais plus où chercher pour trouver la cause et trouver une parade...


zeb
WRInaute accro
WRInaute accro
 
Messages: 4569
Inscription: 5 Déc 2004

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 20:30

N'aurais tu pas un module, une anime, un ajax ou autre qui bouclerait dans la page ?

davidtennis
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: 5 Avr 2007

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 20:48

Tu veux dire que c'est peut-être un script quelque part qui s'exécute indéfiniment ?
Oui c'est pas impossible. Apache ou PHP logguent ce genre de problème de script qui tourne sans fin ? Ou il y a un autre moyen de les détecter ?

techron
WRInaute impliqué
WRInaute impliqué
 
Messages: 508
Inscription: 13 Juin 2005

Re: Serveur Apache ralenti

Message le Ven Nov 11, 2011 23:46

Zeb a bien répondu. C'est un scan du type Intellitamper ou l'équivalent. Un peu de lecture : http://www.google.com/#hl=en&sugexp=ppwl&cp=10&gs_id=1u&xhr=t&q=intell ... 24&bih=636

Un exemple avec une seule connexion:
Time: Mon Feb 21 06:28:58 2011 +0100
IP: 203.81.92.160 (MM/Myanmar/-)
Connections: 493
Blocked: Permanent Block

tcp: 108.59.XXX.XX:1384 -> 207.XXX.XXX.XX:80 (ESTABLISHED)


Une parade ?
Ce firewall ou l'équivalent: http://www.configserver.com/cp/csf.html et ajuster les paramètres de la section suivante:

SECTION:Connection Tracking
###############################################################################
# Connection Tracking. This option enables tracking of all connections from IP
# addresses to the server. If the total number of connections is greater than
# this value then the offending IP address is blocked. This can be used to help
# prevent some types of DOS attack.
#
# Care should be taken with this option. It's entirely possible that you will
# see false-positives. Some protocols can be connection hungry, e.g. FTP, IMAPD
# and HTTP so it could be quite easy to trigger, especially with a lot of
# closed connections in TIME_WAIT. However, for a server that is prone to DOS
# attacks this may be very useful. A reasonable setting for this option might
# be around 300.
#
# To disable this feature, set this to 0
CT_LIMIT = Default: 0 [0 or 10-1000]

# Connection Tracking interval. Set this to the the number of seconds between
# connection tracking scans
CT_INTERVAL = Default: 30 [10-3600]

# Send an email alert if an IP address is blocked due to connection tracking
CT_EMAIL_ALERT = Default: 1 [0-1]

# If you want to make IP blocks permanent then set this to 1, otherwise blocks
# will be temporary and will be cleared after CT_BLOCK_TIME seconds
CT_PERMANENT = Default: 0 [0-1]

# If you opt for temporary IP blocks for CT, then the following is the interval
# in seconds that the IP will remained blocked for (e.g. 1800 = 30 mins)
CT_BLOCK_TIME = Default: 1800 [300-86400]

# If you don't want to count the TIME_WAIT state against the connection count
# then set the following to "1"
CT_SKIP_TIME_WAIT = Default: 0 [0-1]

# If you only want to count specific states (e.g. SYN_RECV) then add the states
# to the following as a comma separated list. E.g. "SYN_RECV,TIME_WAIT"
#
# Leave this option empty to count all states against CT_LIMIT
CT_STATES =

# If you only want to count specific ports (e.g. 80,443) then add the ports
# to the following as a comma separated list. E.g. "80,443"
#
# Leave this option empty to count all ports against CT_LIMIT
CT_PORTS =


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Serveur Apache ralenti

Message le Sam Nov 12, 2011 13:41

Déjà un ptit mod evasive ferait peut-être un peu de bien.
Ca pourrait venir aussi de ton keep alive, tu peux tester de le désactiver/diminuer.

Edit: vu la connexion (IP en 41. => AFRINIC) c'est généralement/souvent des connexions lentes :
une théorie : t'as beaucoup d'élément sur ta page, un peu "long" à télécharger avec une connexion assez lente, du coup si tu as 200 éléments sur ta page faisant 100Ko et que ma vitesse de téléchargement est de 200Ko/s, ça ferait 100s par élément pendant lesquels j'aurais du ESTABLISHED.
J'ai prit des valeurs rondes et un peu farfelues pour expliquer, mais c'est une idée. A noter que 200Ko/s est une très bonne connexion. Si tu as développé ton site avec une connexion très rapide française, tests-le avec un téléphone portable en connexion "lente" ça pourrait donner une idée.
Bon, c'est qu'une théorie possible.

P.S: tu masques ton IP mais pas celle de la potentiel personne qui t'attaques: soit tu affiches tout, soit tu masques tout.

davidtennis
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: 5 Avr 2007

Re: Serveur Apache ralenti

Message le Sam Nov 12, 2011 23:05

Merci

Le mod_evasive était déjà installé, avec des paramètres un poil plus restrictifs que la config de base. Du coup le firewall suggéré ajouterait une autre protection ou c'est la même chose que mod_evasive ce qeu tu évoques ?

Sinon le serveur en question ne sert que des pages PHP. Tous les éléments statiques (javascript, css, images) sont servis depuis d'autres serveurs, donc ça ne devrait pas interférer.

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2687
Inscription: 13 Fév 2004

Re: Serveur Apache ralenti

Message le Dim Nov 13, 2011 1:29

Sérieusement, vous arrivez quand même très vite à des conclusions qui me semblent être basées sur rien.

Beaucoup de connexions depuis la même IP dans netstat, ça ne permet pas de tirer grand chose comme conclusions. La première chose à faire, c'est de regarder les logs Apache pour voir les requêtes correspondantes, et surtout de regarder ce que dit mod_status à ce moment-là (qui permet de voir quelles sont les connexions actives, les requêtes associées, l'état de chaque connexion...).

Sans ces deux informations, il me semble difficile de tirer des conclusions sérieuses (qui peuvent aller de la mauvaise configuration Apache à une attaque DOS, et beaucoup d'autres choses entre les deux).

Jacques.


zeb
WRInaute accro
WRInaute accro
 
Messages: 4569
Inscription: 5 Déc 2004

Re: Serveur Apache ralenti

Message le Dim Nov 13, 2011 15:53

jcaron a écrit:Sérieusement, vous arrivez quand même très vite à des conclusions qui me semblent être basées sur rien.

Oui c'est pas faux, mais ce qui est bizarre c'est que le serveur ralenti a ce moment là et que le sujet sous entends que dans les autres cas tout se passe bien. donc oui il y a plusieurs causes possibles don certaines peuvent être légitimes mais le ralentissement sous entend plus une action inappropriée qu'autre chose.

@davidtennis > Pour l'histoire du script qui ralentirait le serveur, je pense a un genre de script ajax sur une page qui effectuerait une requête répétée avec un setinterval() (par exemple)

davidtennis
WRInaute discret
WRInaute discret
 
Messages: 55
Inscription: 5 Avr 2007

Re: Serveur Apache ralenti

Message le Mar Nov 15, 2011 22:33

Bonjour,

Après avoir regardé mod_Status comme vous le suggérez pendant ces moments de plantage, voici ce que je découvre, un bon nombre de requêtes (issues de la même IP et sur la même page) qui semblent être bloquées en état W (sending reply).
Ca précise le problème mais je ne vois pas vraiment comment corriger ça...

Voici un extrait de mod_Status avec les exemples de "childs" qui semblent bloqués :

Code: Tout sélectionner
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
2-7 11474 0/177/177 W 7.60 217 0 0.0 1.58 1.58 77.ip.xx.xx www.monsite.com GET /une/page/du/site HTTP/1.1
3-7 11476 0/122/122 W 6.52 239 0 0.0 1.02 1.02 77.ip.xx.xx www.monsite.com GET /une/page/du/site HTTP/1.1
21-7 11975 0/11/97 W 0.86 226 0 0.0 0.18 0.93 77.ip.xx.xx www.monsite.com GET /une/page/du/site HTTP/1.1


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités