Le mot de passe de la force brute sur le serveur SSH ne fonctionnera pas?

J'utilise un serveur SSH sur mon ordinateur personnel. Le journal a-t-il eu beaucoup de personnes (ou des robots?) À plusieurs reprises en essayant de se connecter à mon serveur (c'est-à-dire avant de changer le port par défaut), ce qui m'a fait un peu effrayé. J'étais inquiet au sujet de leurs attaques de dictionnaire ou de la supposition de mot de passe de force brute.

Mais alors, si vous tapez un mot de passe erroné (ou un nom d'utilisateur incorrect), le serveur attend environ 2 secondes avant de demander un nouveau mot de passe. Un attaquant peut alors essayer un mot de passe pendant 2 secondes. J'ai donc conclu que ces attaques ne constituent pas une grande menace (tant que votre mot de passe ne se compose pas de mots de dictionnaire). Est-ce que j'ai raison?

Les suggestions dans les autres réponses pour vous protéger davantage lorsque vous utilisez SSH sont très sensibles.

Mais plus précisément à votre question, les attaques de force brutales d'un seul utilisateur sont peu susceptibles d'être efficaces sauf contre les combinaisons de nom d'utilisateur / mot de passe commun ou les mots de dictionnaire. Une hauteur de mot de passe alphanumérique aléatoire de 9 lettres prendra environ 6 millions d'années à deviner.

Cependant, il est également possible d'attaquer avec un grand botnet coordonné qui vous permet de minimiser l'impact d'un délai de 2 secondes sur le serveur pour chaque utilisateur. Un million de bots (évidemment, pas exactement probable) réduirait votre temps de craquage jusqu'à un peu plus effrayant de 6,4 ans

La force brute SSH sur les mots de passe racine qui ne sont pas vraiment, vraiment faciles (p. Ex. "Dieu";)) ne réussiront probablement jamais. Cependant, il y a tellement de gens qui l'essaient, j'imagine qu'il y a suffisamment de personnes qui utilisent suffisamment de mot de passe pour que les attaquants puissent essayer.

Donc oui, si vous utilisez des mots de passe forts, vous êtes probablement en sécurité, mais il existe plusieurs choses que vous pouvez faire pour améliorer votre sécurité encore plus loin (et permettre de rire sur une tentative de connexion de 50k dans vos fichiers journaux chaque jour):

  • Utilisez fail2ban pour bloquer automatiquement les attaquants de force brute (il crée des règles iptables basées sur vos fichiers journaux, je pense).
  • Désactivez complètement le compte racine en utilisant "passwd -l" et utilisez sudo à la place (assurez-vous d'activer et de tester sudo avant d' exécuter cette commande!)
  • Et encore mieux: désactivez les identifiants de mot de passe via SSH dans sshd_config (PasswordAuthentication no) et utilisez les fichiers clés à la place.

J'installe DenyHosts sur toutes les machines équipées de serveurs ssh face à Internet. Il ajoute automatiquement les adresses IP source des connexions à l'échec des hôtes à plusieurs reprises.

Il y a un peu plus que vous pouvez faire avec BlockSSHd .

BlockSSHD est un script Perl basé sur BruteForceBlocker v1.2.3 qui ajoute dynamiquement les règles IPTables pour les règles de pare-feu Linux et pf pour BSD qui bloquent les attaques de force brut SSH. Il peut également détecter les pannes de connexion ProFTPd.

C'est assez soigné et flexible.

Le script BlockSSHD peut débloquer l'adresse IP après une période. Ceci est activé dans le fichier de configuration blocksshd.conf à l'aide de l'option de déblocage et de la période définie à l'aide de l'option unblock_timeout.

Le script BlockSSHD peut également enregistrer les adresses IP bloquées dans un fichier et réappliquer ces adresses IP bloquées lorsque le script est relancé. Cela vous permet de restaurer les adresses IP précédemment bloquées après un redémarrage ou lorsque les règles de votre pare-feu sont rincées.

Une récente digg6 façons de rendre vos connexions SSH plus sécurisées .

  1. Choisissez des mots de passe forts
    • Désactiver la connexion racine directe
    • Désactiver les connexions basées sur le mot de passe
    • Exécutez SSH sur un port non standard
    • Interdire les délinquants persistants (le chemin iptables)
    • Permet de basculer BlockSSHd
    • Python basé sur Fail2Ban
    • Limite de taux des connexions ( iptables à nouveau )

Toujours paranoïaque? Authentification utilisateur à deux facteurs ,
Sécurisez votre déploiement SSH avec l'authentification à deux facteurs WiKID