Votre question

Attaque d'un pirate ?

Tags :
  • Sites Internet
  • Programmation
Dernière réponse : dans Programmation
28 Novembre 2006 13:38:32

Bonjour à tous,

Il y a quelques semaines, j'ai eu un différend avec le développeur qui avait travaillé sur le développement du back-office du site Internet de l'agence que je dirige.

Depuis samedi, comme par hasard (même peut-être est-ce seulement un hasard), toutes les pages JPS du site affichent une belle erreur HTTP Status 500 (le site est sur Apache Tomcat), ce qui est plutôt dramatique pour le "sérieux" de ma société.

Quand j'essaie de me connecter à ma base SQL pour savoir ce qui se passe, voilà ce qui s'affiche :

phpMyAdmin - error
#1226 - User 'blabla' has exceeded the 'max_connections' resource (current value: 50)

Le service technique de mon herbergeur althosting m'a alors répondu ceci :
1) Un de vos scripts semble se connecter a la base mysql mais ne se referme pas nous avons plusieurs centaines de connection de votre utilisateur en mode sleep, merci de remedié à ce problème.
2) Il semble qu'il y ai quelque part sur votre site une fonction qui se connecte en permanence sur le serveur sans jamais se deconnecter (les requetes restent en mode sleep) d'ou l'erreur que vous obtenez.
3) Vous n'etes pas en mesure de vous connecter car il y a trop de connection actuellement de votre compte sur le serveur sql, il semble que ce soit votre site qui crée ses connections , sans doute une requete sql non fermé, nous avons reseter votre nombre de connection votre site devrait donc remarcher mais il faudrait pouvoir identifier la requete qui pose problème.

Effectivement, depuis qu'ils ont "reseté" la chose, ça marche, mais la liste des processus de la base SQL s'allonge minute après minute :

ID Utilisateur Serveur Base de don. Commande Durée
16743 blabla localhost:2611 blabla Sleep 1550
16744 blabla localhost:4823 blabla Sleep 1523
16746 blabla localhost:4851 blabla Sleep 1425
16748 blabla localhost:1917 blabla Sleep 1346
16749 blabla localhost:3083 blabla Sleep 1308
16753 blabla localhost:3246 blabla Sleep 1259
16755 blabla localhost:3176 blabla Sleep 1242
16760 blabla localhost:2721 blabla Sleep 1180
16815 blabla localhost:1346 blabla Sleep 956
16825 blabla localhost:1955 blabla Sleep 904
16842 blabla localhost:1237 blabla Sleep 674
16844 blabla localhost:2410 blabla Sleep 561
16845 blabla localhost:1358 blabla Sleep 496
16889 blabla localhost:4893 blabla Sleep 386
16903 blabla localhost:4442 blabla Sleep 194
16919 blabla localhost:2445 blabla Sleep 86

Je suis légèrement nul en informatique (je sais programmé en C et HTML, mais rien de plus), mais savez-vous ce qui se passe et ce que je peux faire pour réparer le problème ?

Mille mercis ! :-)

Autres pages sur : attaque pirate

a c 145 L Programmation
28 Novembre 2006 14:05:44

A mon avis, c'est un problème de conception (les connexions ne sont pas refermées) et peut-être qu'un script est appelé un peu trop fréquemment.
Il faut s'orienter vers les stats d'utilisation web pour voir quel script est en cause et quelle IP l'appelle fréquemment (pour la bannir le cas échéant).
28 Novembre 2006 14:21:17

Merci pour ta réponse, mais le site a toujours bien marché, et il n'y a pas de "pic" de fréquentation. Je ne comprends pas, donc.
Contenus similaires
a c 145 L Programmation
28 Novembre 2006 14:27:38

Vérifies bien les logs pour voir si un fichier particulier n'est pas appelé fréquemment, quitte à demander à althosting s'ils peuvent jeter un oeil sur les logs apaches (ils sont habituellement réactifs et prêt à rendre service)
28 Novembre 2006 14:30:41

il n'y a pas forcément besoin d'un pic de fréquentation.
juste plusieurs visites, et au bout d'un moment, ca foiraute.
28 Novembre 2006 16:31:16

La série noire continue, puisque lorsque j'envoie un fichier sur le serveur via mon FTP, ça me met maintenant :
"Requested action not taken (e.g., file or directory not found, no access)"
28 Novembre 2006 20:21:44

par sécurité déja, change tes accès si l'autre personne les connaissaient.
4 Décembre 2006 17:58:44

Salut à tous,

L’hébergeur a résolu provisoirement le problème. Le développeur de la SSII qui avait pris en charge le développement d’une partie de l’application (puis j’avais fait appel à un deuxième développeur pour terminer l’application) m’a également répondu.
Vous trouverez ci-dessous leurs réponses.

Si cela vous donne des idées de solutions, n’hésitez pas ! Je vous en remercie d’avance ! :-)




REPONSE DE L’HEBERGEUR :
Nous avons mis en place une solution qui fait que les connections inactive sont coupé au bout de 30mn pour réduire le nombre de connection venant de votre site, cela dis si le nombre de visite augmente le problème risque de se reproduire, si vous avez le moyen de savoir comment fonctionne vos requetes mysql pour les fermer ca sera utile sinon on restera comme ca pour le moment



REPONSE DU DEVELOPPEUR :
J'ai jeté un coup d'oeil sur les process mysql, et il semble qu'il y ait
effectivement création d'un nouveau process toutes les 90 seconds environ.
Les process disparaissent au bout d'une demi-heure, c'est probablement
le timeout défini dans mysql pour une connexion inactive. Si ce taux
de naissance et de mort reste contant, le nombre de process devrait etre
d'une vingtaine environ, en permanence. Mais si la création de process
est plus rapide on peut donc arriver à la limite des 50 process.

J'ignore ce qui génère ces process. Je n'ai pas les autorisations pour faire
des commandes systèmes sur la machine et investiguer davantage. Est-ce
que cette période de 90 secondes vous dit quelque chose? Avez-vous convenu
avec l'autre développeur d'un système de surveillance ou d'interrogation
régulière de la base? Sinon il est possible qu'un utilisateur ait installé
un système de ce genre. Avez-vous par exemple la possiblité de consulter
les statistiques d'accès à vos pages, et vérifier si quelqu'un ne fait
pas login régulièrement ?
5 Décembre 2006 09:59:33

Faut payer plus chère ses devellopeurs, ca évite ce genre de problèmes.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS