Grafikart / Grafikart.fr

Dépôt pour la nouvelle version de Grafikart.fr
642 stars 180 forks source link

Sécurité des comptes et lutte contre le brute force #40

Closed Grafikart closed 4 years ago

Grafikart commented 4 years ago

Problématique

Un méchant hacker peut trouver le mot de passe d'un utilisateur en essayant de se connecter avec différents mots de passe

Solution

On mémorise les tentatives de connexion échouées de l'utilisateur

SwithFr commented 4 years ago

👍 ça me semble simple et efficace :)

Fredxd commented 4 years ago

Pour moi c’est la responsabilité de l’utilisateur de mettre un mot de passe secure. Donc je vois pas comment trouver un mot de passe un minimum sécurisé sans brute force. Et dans le cas de brute force il y aura fail2ban pour s’en charger.

Perso j’utilise des mots de passe différents sur les différents site où je m’inscrit et cela m’arrive de faire de mauvaise saisie jusqu’à ce que je me rappel du bon. Et ca me découragerait dans le cas ou me compte serait bloquer

Pour finir mon avis serait de rien faire sur cette partie :)

edouard-lebas commented 4 years ago

Controller le brute force via des login attempts c'est déjà une bonne chose mais cela ne protège pas complètement. Si un malveillant connais le mot de passe d'un utilisateurs (A cause d'une fuite d'une base, phishing), il passera à travers ce filtre. C'est pour cela qu'enregistrer le device de l'utilisateur est la solution utilisée par de nombreux sites. Discord, teamviewer, lastpass, fb, blizzard ... Pour ce faire, il y a des chances qu'ils utilisent le Fingerprinting des navigateurs. REF Envoie d'un email lors de la connexion depuis un nouveau device avec l'ip / localisation pour valider que c'est bien lui qui se connecte. Fail2ban se chargera de supporter la charge du brute force de masse.

Grafikart commented 4 years ago

L'idée n'est pas de protéger contre le vol de compte (le compte n'a pas beaucoup de valeur et si ton mot de passe est dans la nature, tu auras d'autres soucis je pense) mais d'éviter que les mots de passe soit découvert au travers de Grafikart et que cela soit utilisé ensuite sur d'autres sites.

Une alerte lors d'une connexion depuis une nouvelle IP est un enfer si tu navigue sur mobile et peut finalement rendre l'utilisation du site plus pénible que nécessaire :(. Cependant si tu juge ça important je peux ajouter une option dans la partie compte utilisateur pour recevoir ce genre de notification.

Enfin, pour l'aspect sécurité si l'utilisateur choisit de mettre un mot de passe qu'il utilise partout cela est sa responsabilité et je ne pourrais rien faire contre cela.

ComFoxx commented 4 years ago

Le but ici est surtout de dissuader les apprentis hackers, ceux qui tentent de brute force. Pour cela, ce système protégera un minimum le compte de l'utilisateur ciblé et fail2ban empêchera qu'ils recommencent et qu'ils floodent le site par cette occasion.

Du côté de l'utilisateur, il a toujours accès à son compte par l'intermédiaire d'un email. Certes il ne connaîtra pas les informations de connexions du pirate, mais que faire de ces informations ?

C'est à l'utilisateur de choisir un mot de passe fort et de faire attention de ne pas le divulguer.

Un compte Grafikart.fr n'a pas énormément de valeur (ou alors un compte premium). Si un problème survient, on pourra toujours entrer en contact avec Grafikart pour le résoudre.

Ce système n'est pas performant si l'attaquant se connecte avec des adresses IP différentes et qu'il essaye de brute force chaque compte du site (X tentatives par X tentatives), ce qui est, à mon avis, un gaspillage de moyen. De plus, ce système n'a pas pour but d'être un anti DDOS.

En conclusion, je trouve ce système (que j'ai proposé sur Discord) plutôt efficace.

maxhelias commented 4 years ago

Tu as tout ce qu'il faut ici : https://blog.eleven-labs.com/fr/symfony-brute-force-protection/

Spomky commented 4 years ago

Tu veux essayer de mettre en place une connexion sans mot de passe avec Webauthn ? Je développe une série de lib et bundle symfony pour mettre ça en place simplement et faire en sorte que ça s'adapte sur tous types de projets. C'est totalement fonctionnel aujourd'hui et les seules fonctionnalités manquantes sont liées à des fonctionnalités de très haut niveau de sécurité non-nécessaires pour ce type de projet.

Grafikart commented 4 years ago

@Spomky Je ne suis pas du tout familier avec ce système d'authentification. Il faut que je me renseigne et que je vois si c'est vraiment qqchose d'utilisé.