Serveur Apache ralenti
14 messages
• Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- davidtennis
- WRInaute discret

- Messages: 55
- Inscription: 5 Avr 2007
Serveur Apache ralenti
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
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
- davidtennis
- WRInaute discret

- Messages: 55
- Inscription: 5 Avr 2007
Re: Serveur Apache ralenti
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.
Ce sont toutes des connexions sur mon port 80 donc je ne pensais pas que c'était un scan.
-

zeb - WRInaute accro

- Messages: 4569
- Inscription: 5 Déc 2004
Re: Serveur Apache ralenti
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

- Messages: 55
- Inscription: 5 Avr 2007
Re: Serveur Apache ralenti
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...
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...
- davidtennis
- WRInaute discret

- Messages: 55
- Inscription: 5 Avr 2007
Re: Serveur Apache ralenti
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 ?
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é

- Messages: 508
- Inscription: 13 Juin 2005
Re: Serveur Apache ralenti
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
Une parade ?
Ce firewall ou l'équivalent: http://www.configserver.com/cp/csf.html et ajuster les paramètres de la section suivante:
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é

- Messages: 1765
- Inscription: 31 Aoû 2007
Re: Serveur Apache ralenti
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.
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

- Messages: 55
- Inscription: 5 Avr 2007
Re: Serveur Apache ralenti
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.
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

- Messages: 2687
- Inscription: 13 Fév 2004
Re: Serveur Apache ralenti
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.
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

- Messages: 4569
- Inscription: 5 Déc 2004
Re: Serveur Apache ralenti
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

- Messages: 55
- Inscription: 5 Avr 2007
Re: Serveur Apache ralenti
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 :
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
14 messages
• Page 1 sur 1
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 :
- Port Serveur Apache
- prob serveur dédié et apache ?
- [Serveur dédié] Pb avec Apache
- configuration serveur dedie apache 2 bind
- Lighttpd et apache sur le même serveur I
- Apache 2 sature mémoire puis plante serveur
- [Article] Lighttpd et apache sur le même serveur II
- Problème de fontes ttf sur serveur apache
- Redirection 301 d'une page avec serveur non Apache
- Requête http connect sur serveur web Apache 2
- La classe C de l'adresse IP
Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur). - Test du code HTTP d'une page
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
