4 votes

Grokking attaque sophistiquée par dictionnaire

Il semble que l'un de mes serveurs subisse une attaque par dictionnaire sophistiquée sur ssh, dans la mesure où je vois un tas de noms d'utilisateurs essayés sur l'un de mes serveurs par ordre alphabétique avec des échecs de mot de passe.

Les choses inhabituelles à ce sujet sont :

  • Il n'y a qu'une seule tentative toutes les 2 minutes
  • chaque tentative provient d'une adresse IP différente

Pouvez-vous m'aider à comprendre comment faire à partir de différentes adresses IP, peut-elle être bloquée efficacement ? et la lenteur de la persistance de l'attaque (il faudra probablement plusieurs mois pour passer l'alphabet) signifie-t-elle quelque chose de spécifique ?

J'aimerais également savoir si quelqu'un d'autre observe actuellement une activité similaire sur ses serveurs ssh publics (c'est-à-dire si nous sommes une cible spécifique ou si cet attaquant couvre des milliers de serveurs ssh avec cette attaque).

Par ailleurs, y a-t-il un moyen pour moi de révéler quels mots de passe (ou même hachages) sont essayés ? Je remarque que chaque nom n'est essayé qu'une ou deux fois. I supposez ils essaient "mot de passe" ou le nom d'utilisateur de l'utilisateur - mais Puis-je le vérifier ?

6voto

Dave Points 864

La réponse facile à cette question est n'utilisez pas de mots de passe ! !!

Vous pouvez :

  • utiliser clés ssh . Cryptez-les pour plus de sécurité
  • utilisez un générateur de mot de passe à usage unique comme Mobile-OTP
  • utiliser kerberos

Si vous devez utiliser des mots de passe, autorisez-les uniquement à partir de sous-réseaux auxquels vous faites confiance, et non de l'ensemble de l'Internet. De plus, il est utile d'exécuter votre démon ssh sur un autre port que 22. Normalement, je ne suggère pas ce genre de choses, mais si cela permet de réduire le volume des attaques que vous subissez, c'est tant mieux.


En réponse à vos préoccupations spécifiques :

  • J'ai vu ce genre d'attaques sur tous les hôtes que je dirige et qui ont un serveur ssh public.
  • Je soupçonne qu'ils utilisent un dictionnaire de noms d'utilisateurs/mots de passe développé à partir de l'expérience passée de ce qui fonctionne. Par exemple, mes journaux ont
    • 18 tentatives contre l'utilisateur "ftp"
    • 23 tentatives contre l'utilisateur "forum
    • 3 pour l'utilisateur "bernard"
    • 1 pour l'utilisateur "bret"
  • J'ai également vu ce genre d'attaque où ils utilisaient des identifiants spécifiques au site, mais ceux-ci étaient probablement extraits du serveur ldap du site (les universités, il faut les aimer !).
  • Ces attaques viennent probablement de zombie des ordinateurs qui ont un contrôle centralisé impressionnant.
  • ces attaques arrivent au rythme d'une toutes les 1 à 5 minutes, toute la journée, tous les jours.
  • Je viens d'essayer de truquer sshd pour voir s'il est trivial de collecter le mot de passe que l'attaquant tente, et il semble qu'il faille patcher le code.
    • ces ont fait cela et ont constaté que les mots de passe étaient souvent des permutations du nom d'utilisateur ou d'un mot de passe bien connu comme sql ou admin.

0 votes

Merci, vos réponses sont d'une grande aide. Quant à vos suggestions de mots de passe, ce n'est pas l'objet de ma question - mais je suppose qu'il est utile de les avoir dans le fil de discussion de toute façon.

0 votes

Le type qui a dit "ignorez les attaques" avait raison (et je ne sais pas pourquoi il a été rétrogradé). Si vous avez une politique de mot de passe à peu près saine, comme "n'utilisez pas votre login comme mot de passe", ces attaques ne vont pas fonctionner.

3voto

fencepost Points 972

Voici une discussion et une analyse d'une attaque de botnet "slow brutes" qui a débuté en 2008 : Ronde finale des Brutes lentes

Autre discussion de la même période à ce site suggère

Fail2ban n'est qu'un outil parmi d'autres pour améliorer la sécurité des serveurs. Bien sûr, la première étape consiste à éviter l'utilisation de mots de passe et à utiliser plutôt l'authentification par clé de serveur. En outre, limitez le trafic autorisé à certaines IP, interdisez les plages d'IP, utilisez des tables d'IP, utilisez des listes noires telles que rsync-mirrors.uceprotect.net pour mettre à jour votre iptables pour les origines et les réseaux d'origine connus des pirates SSH. Pour plus de détails sur les 3 niveaux de listes noires ci-dessus, voir uceprotect.net.

D'autres éléments que j'ai vus suggérer en rapport avec ce type de tentative recommandent de surveiller les tentatives échouées et de bloquer les IP sources - éventuellement, la même IP sera utilisée pour une autre sonde, donc en détectant et en mettant sur liste noire après les tentatives de connexion avec un compte inexistant, vous réduisez progressivement la menace au prix d'un traitement accru des règles du pare-feu. De plus, il peut être préférable de ne pas bloquer après une seule tentative de connexion - les fautes de frappe ne sont pas rares.

0 votes

Fail2ban (tel que nous l'avons configuré) nécessite 4 échecs dans un certain laps de temps pour bloquer une adresse IP, et je n'ai pas encore vu une adresse IP répétée - donc avec des tentatives se produisant à des intervalles de 2 minutes, cela ne va pas se produire.

0 votes

Je pense que le bannissement devrait fonctionner à la même vitesse (glaciale) que les attaques, donc votre délai de fail2ban devrait probablement être fixé à quelque chose comme un an. D'après ce que j'ai lu sur son fonctionnement, il faudrait probablement que vous fassiez votre propre implémentation pour enregistrer les IP et les horodatages extraits des fichiers journaux.

0 votes

Je pense qu'il est assez probable qu'un utilisateur légitime ait 4 échecs de connexion en un an - et alors qu'allons-nous faire ? les bannir pour une année supplémentaire ??

3voto

JamesRyan Points 8138

La meilleure réponse est de ne rien faire. Tant que vos utilisateurs ont des mots de passe forts de 8 caractères ou plus, à ce rythme, il faudra probablement environ 3000 millions d'années pour le forcer par force brute !

0 votes

Une déclaration plutôt extrême, mais aussi 100% valide. Des politiques de mot de passe modestes rendent ces attaques inutiles.

2voto

Liudvikas Bukys Points 3578

Je ne suis pas sûr de votre mise en œuvre réelle, mais voici quelques conseils généraux :

Vérifiez vos mots de passe (avec john the ripper ou autre), et voyez si vous pouvez augmenter le délai de connexion.

0 votes

Augmenter le délai d'attente ? Je ne suis pas sûr de comprendre où vous voulez en venir. Faites-vous référence au temps pendant lequel le serveur retient une mauvaise connexion avant de la refuser ? L'attaque est déjà TRÈS lente - je ne peux pas imaginer avoir un délai d'attente supérieur à 2 minutes. Ce ne serait pas pratique pour les utilisateurs légitimes.

0 votes

+1 pour l'audit des mots de passe tho

0 votes

Non, je veux dire qu'il devrait falloir près de deux secondes à l'attaquant pour voir une réponse échouée. De cette façon, sa vitesse d'attaque maximale sera d'une touche toutes les deux secondes.

2voto

Aaron Brown Points 1667

Installez denyhosts ou fail2ban - ils bloqueront par IP après un certain nombre d'attaques. denyhosts fonctionne sur /etc/hosts.deny et je crois que fail2ban fonctionne sur les règles iptables.

1 votes

Comment fail2ban empêcherait-il des hôtes aléatoires sur Internet de vous attaquer ? Voici un exemple tiré d'une boîte que je gère : ben de 62.96.29.34, ben de 61.74.75.58, benjamin de 143.107.98.250, benoit de 80.152.177.173, bernard de 41.206.41.90, bernard de 202.37.78.13, bernard de 70.52.195.87, berndt de 78.43.82.153, et ainsi de suite. Et, ils essaient à des intervalles de deux à cinq minutes. fail2ban est inutile contre les hordes de zombies.

0 votes

Chris, je vois exactement les mêmes noms, mais des adresses IP différentes. Cela confirme qu'il s'agit d'une attaque de grande envergure qui n'est pas dirigée spécifiquement contre nous - ce qui est ce que je voulais entendre. MERCI !

0 votes

J'ai mal compris la nature exacte du problème, mais je soupçonne que vous voyez plus d'un résultat provenant d'une IP particulière à un moment donné. Au minimum, l'installation de denyhosts ou fail2ban ne fera pas de mal et ne peut qu'améliorer le problème. Dans le cas d'une attaque distribuée, il est peu probable que quelque chose fonctionne sans la mise en place d'une règle de refus de tout et la mise en liste blanche de certaines IP.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X