2 votes

La protection par force brute de sudo est-elle vraiment utile ?

Dans cette question : Pourquoi y a-t-il un délai lors de la saisie d'un mauvais mot de passe ? il semble qu'il y ait un délai d'attente de 1 à 2 secondes dans sudo lorsqu'il reçoit un mauvais mot de passe afin de rendre les tentatives de craquage plus difficiles.

Cela est gênant pour de nombreux utilisateurs, et est-ce vraiment une solution au problème ?

Qu'est-ce qui empêche un attaquant d'exécuter des milliers d'instances sudo en parallèle et de tester des milliers de mots de passe différents par seconde ? Le délai d'attente ne l'empêche pas.

3voto

Mufaka Points 54

Votre mot de passe est correct du premier coup ?

Curieusement, j'ai pensé à tester votre affirmation selon laquelle le délai n'arrêterait pas une brute. Il semble idiot qu'il puisse permettre cela... Mais ici j'exécute 2000 threads séparés en même temps. Et ça marche.

parallel -j2000 sh -c 'echo $"{}\n" | sudo -S echo; echo done' -- {1..2000}

Cette litière auth.log avec des échecs mais il n'apparaît jamais au-dessus de "2 tentatives de mot de passe incorrect".

I croyait que PAM était censé arrêter les gens. D'où le retard.
Il peut s'agir d'une [mauvaise] conception ou d'un simple bug [assez grave].

J'ai un système avec un mot de passe faible sur le réseau. Je suis tenté d'essayer cette méthode pour voir s'il est possible de forcer le mot de passe par force brute.

2voto

Ce retard ne vise pas seulement à rendre les attaques par force brute plus difficiles. Il s'agit aussi de la fuite d'informations. Il y a quelques années, un célèbre exploit SunOS reposait sur le fait de savoir qu'un mot de passe était erroné en observant la vitesse de retour des commandes.

Souvent, les attaques de sécurité ne reposent pas sur un seul vecteur, mais combinent les vecteurs de manière intéressante pour tirer parti de petits bogues ou d'oublis.

En cachant aux attaquants les bonnes et les mauvaises tentatives, vous réduisez la surface d'attaque globale. C'est la bonne chose à faire.

Si vous ne l'aimez pas, il existe d'autres méthodes d'authentification que vous pouvez utiliser.

1voto

Rinzwind Points 270388

Comment envisagez-vous que cela se passe "en parallèle" ?

Avec un mot de passe de 8 caractères, vous avez (26+26+10+12=) 74^8 mots possibles. Ce qui fait 899.194.740.203.776 mots uniques. Avec un délai de 3 secondes (c'est 3 ;-) ) cela fait 85.539.834 années (899.194.740.203.776 * 3 / (365*24*60*60)). Supposons que vous ayez besoin de la moitié des essais, cela ferait 42 769 917 ans. Même avec 100000 (impossible je sais) tentatives en parallèle cela prendrait (en moyenne) environ 427 ans.

Un système qui a besoin d'être protégé (par exemple une base de données de comptes d'utilisateurs) aura un bon mot de passe (donc les 8 caractères pourraient être encore plus) et aura également un système de messagerie configuré pour alerter un administrateur que quelqu'un échoue souvent dans l'utilisation du mot de passe.

Vous croyez toujours que c'est possible ?

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