D'innombrables process de SSH (défunts?), Comment empêcher que cela ne se produise?

Mon hébergeur vServer menace d'annuler notre contrat si je n'arrête pas de créer des milliers (9000 pour être précis) des process SSH. Je ne sais pas s'ils ont fait disparaître les process ou s'ils étaient comme ceux-là quand ils les ont trouvés. Ils m'ont envoyé un document contenant des milliers de lignes comme

sshd 19716 0.0 0.0 0 0 ? Z Jan25 0:00 [sshd] <defunct> sshd 19739 0.0 0.0 0 0 ? Z Jan25 0:00 [sshd] <defunct> sshd 19753 0.0 0.0 0 0 ? Z Jan25 0:00 [sshd] <defunct> sshd 19776 0.0 0.0 0 0 ? Z Jan26 0:00 [sshd] <defunct> 

Je ne sais pas comment cela s'est passé et j'aimerais connaître une solution afin de ne pas être annulée avant de remettre le server sous tension!
La seule chose que je peux penser, c'est que je suis souvent connecté au server avec une connection extrêmement instable. Cela pourrait-il mener à la création de milliers de process sur des semaines et des mois?
Mon server pourrait-il être piraté? Je n'utilise pas fail2ban (ni je sais comment), mais j'utilise un file key.

Le server s'exécute sur Debian avec Apache et un Tomcat.

One Solution collect form web for “D'innombrables process de SSH (défunts?), Comment empêcher que cela ne se produise?”

Prenez vos précautions. Les options sont du meilleur au pire.

Option 1: utiliser fail2ban pour limiter l'échec

Installez fail2ban. C'est votre meilleure option, car elle bloque celui qui essaie de se connecter avec des informations d'identification non valides après quelques tentatives.

Option 2: limiter les tentatives échouées dans iptables

Le programme d'installation iptables limite les nouvelles connections à SSH.

 # Create new SSHSCAN chain iptables -N SSHSCAN # Send new SSH attempts to SSHSCAN chain. iptables -A INPUT -m tcp -p tcp --dport 22 -m state --state NEW -j SSHSCAN # Identify a recent-match list, based on the source address iptables -A SSHSCAN -m recent --set --name SSH --rsource # Log and drop if there are more than 5 iptables -A SSHSCAN -m recent --update --seconds 10 --hitcount 5 --name SSH --rsource -j LOG --log-prefix "Anti SSH-Bruteforce: " --log-level 6 iptables -A SSHSCAN -m recent --update --seconds 10 --hitcount 5 --name SSH --rsource -j DROP 

Vérifiez les informations pour plus d'informations sur la correspondance récente dans iptables.

Merci à @ gaurav-pundir pour les commands.

Option 3: limiter la source des access SSH

Optin 3 est un pare-feu de configuration afin que vous puissiez vous assurer que seul vous pouvez accéder à: bloquer SSH afin que seul votre adresse IP (si elle est statique) ou votre réseau de fournisseurs peuvent accéder. L'option de bloc réseau n'est pas pratique et vous ne disposez probablement pas d'une IP fixe. Même si c'est le pire, pour les adresses dynamics, vous pouvez envisager de l'implémenter, même si vous avez une autre option mise en œuvre.

Source de problème

Modifier : à partir de votre list récente, il me semble que votre connection instable laisse les connections zombies. Cela ne réglera pas votre problème, mais ne causera aucun préjudice.

  • ssh - keys et mot de passe
  • SSH: key privée multiple ou unique?
  • SSH à un ordinateur qui sera alors SSH vers un autre ordinateur [dupliqué]
  • IPTables Reroute SSH en fonction de la string de connection?
  • À quoi servent les keys dans / etc / ssh / used?
  • AuthorizedKeysCommand n'est pas exécuté
  • J'ai besoin de lire un file distant avec des journaux à partir d'un hôte distant via SSH
  • Pourquoi ssh fonctionnerait-il la première, la deuxième et la troisième fois, mais le time sur le quasortingème?
  • Accédez à iomega StorCenter ix4-200d utilitaire de vidage de SSH
  • Tunnels SSH avec plusieurs adresses IP sortantes
  • Impossible SSH dans la machine virtuelle
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.