Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Supprimer les connexions ouvertes?
Envoyé par: 2dc

Bonjour,

J'ai un serveur qui tourne sur fedora core 6 et qui propose différents services (http, mail, cvs, ...).
Ce matin je me rend compte que les services ne sont plus accessibles, la connexion est bien effectuée mais je me ramasse un timeout.
Si je fais un netstat -an je vois qu'il y a un paquet de connexion tcp (au moins 200) qui sont en CLOSE_WAIT.
Et pour la plupart, le port distant est le 80 et le port local est assez aléatoire (de 50000 à 60000).
Donc première question, d'où viennent toutes ces connexions? Se pourrait-il que je recoive un timeout car ma machine est saturée de connexions? Et enfin est-il de supprimer toutes ces connexions?

Merci d'avance pour votre aide!

Poste le Monday 26 February 2007 11:47:14
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: chromosome

Tu es sur de ce que tu dis ?
Ne serait-ce pas plutot le 80 en local et les autres en remote ?
Car tu nous dis que ton serveur est un serveur web (en autre)

Sinon ce phenomene est normal, beaucoup de client web ne ferme pas proprement les sessions http.
Il te faut donc faire 2 choses, changer les settings de ta machine pour qu'elle coupe plus rapidement les connexions fantomes, et changer les settings de ton apache pour qu'il les conserve moins longtemps et qu'il en supporte plus.


Poste le Monday 26 February 2007 14:42:42
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: 2dc

Oui je suis sûr, c'est bien le port 80 en remote.
Et quand je fais un whois des IPs des CLOSE_WAIT, je tombe sur des ips allemandes, russes etc. Ce qui est bizarre vu que c'est un serveur de test qui ne devrait normalement pas avoir de visites...
Est-ce possible que ce nombre important de connexions (plus de 400) rende mon serveur innacessible?
Merci

Poste le Monday 26 February 2007 15:08:40
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: lolotux

Citation
2dc
Oui je suis sûr, c'est bien le port 80 en remote.
Et quand je fais un whois des IPs des CLOSE_WAIT,
je tombe sur des ips allemandes, russes etc. Ce
qui est bizarre vu que c'est un serveur de test
qui ne devrait normalement pas avoir de
visites...

N'es tu pas allé sur des sites allemands, russes...? Avec ce PC ?

Citation
2dc
Est-ce possible que ce nombre important de
connexions (plus de 400) rende mon serveur
innacessible?
Merci

Oui, c'est possible !

Mais j'ai un petit pressentiment.. :-( (Hacking ?)

Chromosome est bien meilleur que moi... J'attends avec impatience ses réponses...

Software is like sex !
It's better when it's Free !

Poste le Monday 26 February 2007 15:23:52
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: 2dc

Non, je ne suis allé sur aucun site, je ne m'en sers jamais comme client, juste comme serveur.
Le seul truc qui me vient en tête c'est que j'ai installé un antivirus pour le postfix qui se met à jour automatiquement toutes les nuits. Peut-être que ça vient de lui ces connexions?

Mais j'ai moi aussi un mauvais pressentiment... :-(

Poste le Monday 26 February 2007 15:33:14
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: 2dc

Mais ce qui est bizarre aussi c'est que j'ai encore accès en ssh à la machine, ou encore aux machines virtuelles via le port 904... c'est vraiment les services CVS et POP3 qui sont en timeout...

Poste le Monday 26 February 2007 15:40:43
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: lolotux

As tu des process bizarres ?
Comme je l'ai dit sans autres précisions, cela me fait penser (sentiment) à un hackage !
Lorsque tu feras un "netstat -tc" et que tu trouves une connexion bizarre :
"le port distant est le 80 et le port local est assez aléatoire (de 50000 à 60000)"

Fais un lsof | grep port-aléatoire

Pour identifier un processus.

Software is like sex !
It's better when it's Free !

Poste le Monday 26 February 2007 20:04:31
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: chromosome

Bon alors voici quelques infos (attendues par lolotux ;-))

Pour que ta machine soit bloquee car trop de port sont ouverts il t'en faudrait bien plus que 200.
Par contre une application peut etre bloquee car elle a par exemple une limite a 200 process (fork).
Maintenant il faudrait savoir quelle application exactement sur ta machine est bloquee.

Ensuite tu soutiens que les port 80 sont en remote, et la ca me pose un probleme, car si tu as un CLOSE_WAIT, ca veut dire qu'une application sur ta machine a soit etabli une session vers ce port 80, soit ce port 80 a ouvert une session sur ce port aleatoire, mais la ca voudrait dire qu'une application tourne et passe son temps a ce mettre ne listen sur pleins de ports (et ca je n'y crois pas)

Maintenant pourquoi ne taperais-tu pas cette adresse dans un browser (ce site russe ou allemand) et regarder ou tu tombes, c'est peut-etre effectivement l'anti-virus qui prend ses fichiers d'update, et tu aurais par exemple un firewall qui droperait la session (de facon pas tres propre) de maniere a laisser un CLOSE_WAIT.

Poste le Monday 26 February 2007 23:50:06
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: 2dc

Bon bon, voilà où j'en suis.

J'ai effectué un reboot physique de la machine et j'ai configuré iptables.
Tout re-fonctionne normalement, les 400 connexion en CLOSE_WAIT ont été supprimées.

Ce matin je refais un netstat et je vois que j'ai de nouveau une 10aine de connexions en CLOSE_WAIT, toujours sur le port 80 distant.
Apparament c'est moins grave que prévu car en tappant l'adresse dans mon navigateur je tombe (pour la plupart) sur des sites de ftp, ou autres repository yum. Donc ça pourrait en effet bien être l'antivirus qui se met à jour.

Mais le problème m'ennuie toujours, comment se fait-il que ces connexions ne se ferment jamais et restent indéfiniment en CLOSE_WAIT? Car d'ici quelques semaines je vais de nouveau avoir le problème et mes services seront bloqués...

Si vous avez une solution à cela, c'est parfait!

Merci pour vos réponses.

Poste le Tuesday 27 February 2007 09:01:25
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: chromosome

Normalement seul ton anti-virus sera bloque, pas les autres process.
Par contre peux-tu nous fournir tes regles d'iptables, car c'est assez etrange de tomber sur ce genre de session.

Maintenant tu peux essayer en changeant les settings de tcp_fin_timeout, tcp_keepalive_intvl et tcp_keepalive_time.

Poste le Tuesday 27 February 2007 09:42:03
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: lolotux

Citation
chromosome
Bon alors voici quelques infos (attendues par
lolotux )

.....

Ensuite tu soutiens que les port 80 sont en
remote, et la ca me pose un probleme, car si tu as
un CLOSE_WAIT, ca veut dire qu'une application sur
ta machine a soit etabli une session vers ce port
80
....

C'est à cette partie là que je pensais...
Ayant eut l'année dernière une machine hackée...
Les services ne répondant plus... Trop de charge.... etc

(chui un peu parano depuis...)

Software is like sex !
It's better when it's Free !

Poste le Tuesday 27 February 2007 13:27:02
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: chromosome

Comment est-ce possible !!!
Je n'ai jamais eu une machine hacke, et pourtant j'en ai gere beaucoup, et j'en gere encore pas mal.

Peut-etre parce que sur mes machines je mets le strict necessaire, pas d'interface graphique, pas de daemon qui ne me servent pas, bref le strict necessaire (j'aime cet aspect spartiate, c'est comme pour mes vacances, le moins possible de fioriture et c'est parfait, sac a dos, la brousse ou le desert, une groude et c'est tout :-) )

Poste le Tuesday 27 February 2007 14:55:37
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: lolotux

C'est une petite machine perso qui offre du web, mail, ftp...(trop de service pour elle toute seule ! Mais j'attend un mescène ;-) )
Le hack a été réalisé par injection de code sur php (phpBcool smiley, par un compte user.
Cela avait stocké un rep .machin sur le compte, avec bot irc...
Le bot se lançait que si le user se loguait, ce qui n'est pas arrivé ! :-)

Depuis mon php.ini est des plus restrictif !
Le shell de mes users est /bin/false
Et j'ai ajouté un délais de connexion sur SSH en port déplacé de 10 secondes.

Software is like sex !
It's better when it's Free !

Poste le Tuesday 27 February 2007 15:44:14
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: boogy

si c'est le par-feu tu peux regarder un tuto sur mon forum:

[forum.bogdan-nicorici.com]
www.bogdan-nicorici.com

Poste le Thursday 19 April 2007 15:15:04
Répondre     Citer    
Re: Supprimer les connexions ouvertes?
Envoyé par: oudoubah

Citation
boogy
tu peux regarder un tuto sur
mon forum

<@#%!>
C'est ta signature ou quoi? Non parce qu'après avoir regardé tes posts ici, c'est à peu près la seule réponse que tu proposes.

Se faire de la pub comme ça sans vraiment répondre à la question, je trouve ça plus que moyen.
En plus, les tutoriaux dont tu parles brillent par leur absence (en tout cas, je n'ai pas trouvé).

Est-ce que tu aimerais qu'on vienne sur ton forum uniquement pour faire de la pub pour un autre? Non, bien c'est pareil!
</@#%!>

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Thursday 19 April 2007 22:40:10
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Supprimer les connexions ouvertes?
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons