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.

  • forward ssh utilisant le port 80
  • ssh -t -t sudo affiche mon mot de passe
  • Ubuntu 16.04 Terminal SSH Client lent - comparer à Windows Putty SSH Client
  • Comment recomstackr PHP
  • Je souhaite un premier access non interactif
  • Transfert TCP sur SSH avec socat ou tout autre redirecteur tcp, sur sshd avec le renvoi tcp désactivé
  • login SSH avec key publique RSA
  • Systemd / ssh: Impossible d'allouer de la memory
  • (ssh) login fermée par
  • Fonction Hash dans un shell qui pourrait être utilisé pour un port ssh à partir de (disons) hwaddr de eth0
  • ssh request un mot de passe malgré ssh-copy-id
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.