Aller au contenu

Requête émanant de localhost sur mon serveur ?


NiCoS

Sujets conseillés

Hello,

Sur mon serveur en prod, j'ai eu des load average assez élevés hier. En regardant le résultat d'un server-status, j'ai vu que j'avais 50% des requêtes apache qui émanaient de localhost (sous la forme 127.0.0.1) et qui demandaient la racine du site.

J'ai beau greppé de part et d'autres, je ne vois pas d'ou ca vient.

Ex :

1   -   0/0/72   .	1.13   487   0   0.0   0.00   0.17	127.0.0.1   vds305.sivit.org   GET / HTTP/1.0
11-1 - 0/0/145 . 5.44 1430 0 0.0 0.00 0.82 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
12-1 - 0/0/119 . 2.51 1300 0 0.0 0.00 0.76 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
13-0 - 0/0/61 . 1.38 2874 0 0.0 0.00 0.37 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
14-0 - 0/0/1 . 0.00 3214 1 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
15-0 - 0/0/1 . 0.00 3213 1 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
16-0 - 0/0/1 . 0.00 3212 0 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
17-0 - 0/0/1 . 0.00 3211 0 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
18-0 - 0/0/1 . 0.00 3210 1 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
19-0 - 0/0/1 . 0.00 3209 1 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0
20-0 - 0/0/1 . 0.00 3208 1 0.0 0.00 0.00 127.0.0.1 vds305.sivit.org GET / HTTP/1.0

Ce qui est étrange, c'est qu'il n'y a aucun PID lié :(

dpkg -l apache2*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=========================-=========================-==================================================================
ii apache2 2.2.3-4 Next generation, scalable, extendable web server
rc apache2-common 2.0.55-4.1 next generation, scalable, extendable web server
ii apache2-mpm-prefork 2.2.3-4 Traditional model for Apache HTTPD 2.1
ii apache2-utils 2.2.3-4 utility programs for webservers
ii apache2.2-common 2.2.3-4 Next generation, scalable, extendable web server

Sinon PHP est dans sa version 5.2.0-10+lenny1, MySQL dans sa version 5.0.38-1 et mod_python en version 3.3.1-1.

Pour apache, les modules activés sont :

alias.load		  authz_groupfile.load  cgi.load	  dir.load	  mod_python.load   rewrite.load   status.load
auth_basic.load authz_host.load deflate.conf env.load negotiation.load setenvif.load vhost_alias.load
authn_file.load authz_user.load deflate.load headers.load php5.conf ssl.conf
authz_default.load autoindex.load dir.conf mime.load php5.load ssl.load

Autre truc, dans error.log, je vois des appels vers un répertoire "htdocs" qui a lieu très très fréquemment (avec des écarts de qqs minutes à qqs secondes) :

[Sun Jun 17 09:33:06 2007] [error] [client 127.0.0.1] File does not exist: /htdocs
[Sun Jun 17 09:38:32 2007] [error] [client 127.0.0.1] File does not exist: /htdocs

J'ai rien vu d'anormal avec un chkrootkit, lsof, nmap, etc.

Auriez-vous une idée sur ces requêtes étranges ???

Modifié par NiCoS
Lien vers le commentaire
Partager sur d’autres sites

salut

t'as pas monté un reverse proxy avec apache?

ca peut etre un robot qui se sert de ton serveur pour tenter de "naviguer"...

(testes en mettant dans ton navigateur ton serveur en proxy sur le port 80)

Modifié par glibre
Lien vers le commentaire
Partager sur d’autres sites

J'ai trouvé, c'est apache 2.2 qui génère ces requêtes avec pour user agent : Apache internet dummy connection. Apparemment c'est une "feature" de Apache 2.x (sauf qu'en Apache 2.0, ce n'était pas loggué).

Apparemment, ce n'est rien de grave. Une solution serait de passer du mpm prefork à worker mais il me semble que ce n'est pas possible avec PHP au moins.

Cf :

http://www.issociate.de/board/post/316864/..._requests?.html

Pour éviter de pourrir vos logs apache et pister le truc, vous pouvez créer un répertoire htdocs à la racine de votre serveur. Pour vérifier que c'est bien lié à apache2, faites un fichier /htdocs/index.php contenant :

<?php
ob_start();
phpinfo();
$buff = ob_get_contents();
$fp = fopen('/tmp/trouver-htdocs.txt', a);
fwrite($fp, $buff);
fclose($fp);
ob_end_clean();

Ensuite, dans /tmp/trouver-htdocs.txt, faites une recherche sur HTTP_USER_AGENT :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...