|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : septembre 2012 Messages : 5 ![]() |
Bonjour,
je viens vous demander de l'aide car je me retrouve confronté à un problème qui me dépasse. Depuis quelques jours, je trouvais mon site perso (blog/CV/portfolio) de plus en plus lent à l'affichage de pages. J'ai d'abord pensé que ça venait d'OVH qui héberge mon serveur dédié (Debian 6), mais ça s'est aggravé au point qu'il n'y a plus moyen d'afficher une page. Sur le monitoring OVH, j'ai découvert que mon site subit un traffic entrant d'environ 10Mbps en continu. J'ai trouvé sur le serveur un fichier de log d'erreurs Apache qui dépassait 8Go. Netstat m'affiche en permanence 255 requêtes de connexion simultanées. J'ai essayé d'installer mod_evasive pour Apache, et d'ajouter un filtre iptables à mon firewall pour limiter le nombre de connexions par minute. C'est toujours pareil. Je vous colle un bout de ce que j'ai trouvé dans mon /var/log/apache2/other_vhosts_access.log : Code :
Si vous avez quelque idée qui pourrait m'aider à solutionner ça, elle sera on ne peut plus bienvenue. |
||
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Je te conseil d'installer mod qos. ça ne règlera pas le problème de chargement d'url qui n'appartienne pas a ton site, mais ça limitera la casse.
Une partie de la conf qui pourrait t’être utile, sachant que tous les paramètres sont détaillés sur la page du module. Le fichier de conf est au même endroit que celui du mod evasive Code :
Pour ce qui est du chargement de requêtes invalides, tu devrais regarder du coté de la configuration de php. "allow_url_fopen" et "alow_url_include", sont deux directives qui peuvent être dangereuse, mais au vu de la description du contenu de ton site, elles ne semblent pas nécessaire. |
||
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : septembre 2012 Messages : 5 ![]() |
J'ai installé et configuré mod_qos, merci beaucoup, au moins Apache réussit à sortir un peu la tête de l'eau.
Pour ce qui est de PHP, mon site n'est pas concerné, c'est du java, du Play!Framework exactement Par contre, il y a toujours ce problème de centaines de connexions par seconde qui m'inquiète. D'où est-ce que ça peut venir ? |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : octobre 2009 Messages : 26 ![]() |
Une idée soudaine: tu n'aurais pas activé mod proxy à tout hasard?
Ça expliquerait pourquoi les request sont prises en compte et redirigées. |
|
|
20
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : septembre 2012 Messages : 5 ![]() |
Si, j'ai dû activer mod_proxy, car Play!Framework fonctionne en écoute sur un port, et un vhost redirige les requêtes reçues sur le port 80 vers ce port.
Mais ça n'a jamais posé de problème jusqu'à il y a quelques jours quand mon trafic entrant s'est mis à exploser. Quel problème pose mod_proxy dans mon cas exactement ? Il y a un moyen de le contourner ? |
|
|
10
|
|
|
#6 | ||
|
Membre du Club
![]() Inscription : octobre 2009 Messages : 26 ![]() |
En gros il redirige les requêtes quelque soient leur provenance. Alors que tu souhaiterais que cela ne soit fait que pour des requêtes venant de ton serveur. En résumé tu sers de proxy pour aller naviguer sur d'autre site, les scanner ou même les attaquer.
En gros, ajoute la directive suivante (doc de la directive) dans les conf de mod proxy: Code :
|
||
|
|
20
|
|
|
#7 | ||
|
Invité de passage
![]() Étudiant Inscription : septembre 2012 Messages : 5 ![]() |
En lisant le contenu du fichier proxy.conf, j'ai vu qu'il suffisait de supprimer la ligne "ProxyRequests On" pour désactiver la fonctionnalité qui me pose problème.
Je trouve ça fou qu'elle soit présente par défaut dans le fichier de config, alors qu'ils spécifient eux-mêmes dans les commentaires que cette ligne est dangereuse. Est-ce que cette config est suffisante du coup ? Lorsque j'essaie d'ajouter le Require dedans, je me prends systématiquement des erreurs 500. Code :
Edit : y a-t-il un moyen de vérifier que maintenant ma config est correcte et que mon serveur ne peut plus servir de free proxy ? Edit 2 : visiblement maintenant toutes les requêtes qui arrivent sont effectivement redirigées vers mon application. Ce qui n'est en fait pas vraiment mieux, je n'ai pas très envie que tous les types qui m'envoient des requêtes de type "naked 13 years old girl" sur la recherche yahoo via mon proxy tombent sur mon site perso D'après ce que tu décris ta directive Require devrait me permettre de restreindre ça, mais pour l'instant je n'arrive pas à la faire fonctionner. |
||
|
|
00
|
|
|
#8 | ||
|
Membre du Club
![]() Inscription : octobre 2009 Messages : 26 ![]() |
En fait mon explication était mauvaise, mais tu as fait ce qu'il fallait.
Après, le problème c'est que on peut envoyer nimporte quoi comme requête, et apache les traitera. Mais j'ai trouvé cette astuce: Code :
Sinon pour vérifier la config, utilise telnet pour te connecter sur ton host telnet sur le port 80 sur ton ip. Et écrit une requête "GET undomain.com" |
||
|
|
20
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : septembre 2012 Messages : 5 ![]() |
Vraiment malin, parfait, ça fonctionne nickel !
J'ai accès via mon framework aux requêtes qu'il reçoit, et il ne reçoit plus rien d'autre que les pages que je lui demande d'afficher, au lieu de 500 appels à la page d'erreur par seconde. Encore une fois merci énormément, au moins cet incident m'aura appris pas mal de choses et mon serveur est beaucoup plus sécurisé qu'avant |
|
|
00
|
|
|
#10 |
Quentin Forumeur. Inscription : octobre 2012 Messages : 15 ![]() |
C'était un DdoS, sur les applications OVH la base de mémoire est limité, d'où le ralentissement des pages (Du moins, c'est mon avis)
|
|
|
04
|
Copyright © 2000-2013 - www.developpez.com