JeuWeb - Crée ton jeu par navigateur
Renforcer définitivement la sécurité ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Renforcer définitivement la sécurité ? (/showthread.php?tid=6515)

Pages : 1 2 3 4


RE: Renforcer définitivement la sécurité? - Akira777 - 15-12-2012

(14-12-2012, 05:06 PM)Xenos a écrit : Beaucoup de gens ont des mdp de 6-8 caractères. En les obligeant à prendre 12 caractères, ils seront forcés de changer de mot de passe, et du coup, beaucoup vont en prendre un très simple à retenir, et donc, moins sécurisé que le mdp de 6 caractères ("Ujd7H5" est bien plus sûr que "anticonstitutionnel")... Donc je ne pense pas que ce soit une bonne solution.

Celle que je préfère consiste à indiquer la "complexité" du mot de passe que l'utiisateur est en train de définir. Quand l'utilisateur voit "Password: weak / medium" à coté du champ "Set a password", il va avoir tendance à le complexifier, surtout si, en plus, un petit smiley lui tire la tête Sad

Je ne comprends pas la procédure
Citation :- Je me suis trompé de mot de passe et souhaite débloquer mon compte : Je me connecte et débloque mon compte.
...
Est-ce que celka veut dire:
- je fais trop d'essais de mdp, donc le compte est bloqué
- je rentre chez moi
- je retrouve mon mdp
- je l'entre
- le compte est alors accessible
- je dois le débloquer dans mes paramètres
?

Pour te donner un exemple concret :

16h30:10s
Une erreur de mot de passe -> Blocage du compte pendant 30 secondes histoire d'emmerder les bruteforces.

16h30:31s
Seconde erreur de mot de passe -> Blocage du compte pour 30 secondes supplémentaires.

16h31:02s
Troisième erreur de mot de passe. Un captcha s'affiche sur une page spéciale, demandant d'inscrire le bon mot de passe.

Si le mot de passe est bon, on réinitialise tous les paramaètres de sécurité et on connecte au compte.
On envoi quand même un mail de sécurité à l'utilisateur histoire de le prévenir que qu'il y'a eu 3 erreurs dans le mot de passe.

Si le mot de passe est mauvais lors de cette dernière tentative. Plus rien n'est possible depuis le site. L'utilisateur doit débloquer son compte depuis un lien unique dans le mail, et sera invité à entrer le bon mot de passe pour se connecter ou, s'il a bel et bien perdu son mot de passe, on lui propose de le changer.

Dans ce mail, on envoi aussi des informations sur les tentatives de connexion à l'utilisateur (navigateur, ip, date, système). Histoire de se dire : "Ah, c'est moi avec mon mobile ou au cybercafé qui me suis planté d'identifiants mais je n'avais pas accès à mes mails"; ou alors il pourra se dire "Bizarre, à ce moment je n'ai pas tenté de me connecter."

Si on en arrive à ce quatrième essai, ou "l'essai qui bloque tout" et qu'il n'y a pas eu de connexion avec succès, c'est que c'est un brute-force et que dans ce cas, il sera définitivement bloqué pour ce compte. Soit que l'utilisateur ne se souvient pas de son mot de passe. Dans ce cas, on évite l'embrouille, on lui envoi un mail pour qu'il "débloque son compte et se connecte" ou pour qu'il "change son mot de passe, qu'il débloque et se connecte". Classique et efficace.

Second point. Le système enregistre quand a lui, les IP des tentatives infructueuses, il ne pourra donc pas aller plus loin que 3 tentatives par compte (4, s'il est capable de passer le captcha). Une IP qui sera parvenu à bloquer 3 comptes en tout (il a une adresse mail, il bloque le compte, et ce 3 fois, donc) vera son adresse IP bannie du site.
Et si une adresse IP correspond à un compte joueur, un mail sera envoyé à l'adresse associée (ip -> compte -> mail), afin qu'il y réponde et donne une explication à ses 3 blocage de compte, pour déblocage manuel de son IP.

Procédure, un peu complexe, mais relativement complète.


RE: Renforcer définitivement la sécurité? - Xenos - 15-12-2012

Dans ma résidence de l'an passé, on avait tous la même IP, puisque le routeur était centralisé pour environ 150 élèves. Avec ce système, le risque devient fort que l'IP de ce routeur atteigne les 3 comptes bloqués... ou le nombre de tentatives limites.

De plus, s'il y a blocage d'IP, vu la saturation des adresses IPv4 à l'heure actuelle, il y a un risque de bloquer une IP, que cette IP change de propriétaire, et que ce nouveau propriétaire se retrouve bloqué sans comprendre pourquoi...

De plus, il y a le risque qu'un bot passe sur tous les comptes pour activer le captcha sur chacun d'eux (en faisant 2 tentatives par compte), puis qu'une personne mal intentionnée aille remplir le captcha pour faire la 3e tentative, et bloquer le compte d'un joueur (cela peut être suffisant pour que le joueur en question ne joue pas de la journée, par flemme de débloquer le compte ou par peur car le compte est bloqué sans qu'il n'ai rien demandé), et là, bim, ce joueur qui n'a pas joué de la journée se fait massacrer dans le jeu par le "pirate".

Enfin, un système de liens par mail est une porte grande ouverte au phising, qui risque d'être un nouveau soucis...


Je préfère un principe du style "Après 3 tentatives, un captcha", et "une fois le captcha activé, chaque tentative sur un compte est séparé de X secondes de la précédente". Le captcha évite le bot, et pour "verrouiller" un compte, il faudrait que la personne pirate entre des mots de passe bidon en boucle (toutes les X secondes) de sorte que le blocage soit à chaque fois relancé pour X secondes... Ca semble un peu rébarbatif pour le pirate... Après, on peut bricoler un peu plus en mettant en place un système d'aléatoire qui va mettre en pause la page (coté serveur) de connexion pour une durée aléatoire: même si le pirate essaie de se connecter en boucle, du fait de cet aléatoire, le détenteur légitime du compte a encore des chances de passer et de pouvoir se connecter.
On peut aussi se baser sur l'IP pour savoir si la personne a fait 100 essais avec captcha ou 1 seul (s'il en a fait 100, pour cette IP, l'attente sera plus longue, alors que si c'est la 1ere tentative avec captcha, l'attente sera courte). Ainsi, le pirate devra changer son IP s'il veut bénéficier d'un nouveau "crédit" de temps. Or, cette opération prendra quelques secondes (je pense), et donc, le détenteur légitime du compte pourra tranquilement se connecter.

Bref, j'aime mieux ce système, peut-être avec une approche plus "probabiliste" que ta méthode, mais qui évite l'envoie de mails intempestifs et la "peur" qu'un utilisateur ressentira peut-être en voyant, dans sa boite, un mail "Quelqu'un a essayé de vous pirater votre compte de jeu" (mail qui sera surement phisé d'ailleurs).


RE: Renforcer définitivement la sécurité? - BAK - 16-12-2012

Je trouve l'idée de mettre un message pour indiquer que le mot de passe est trop simple une très bonne chose.
Un message du type "Votre mot de passe est le 7ème le + utilisé sur Internet", accompagné d'une explication sur les dangers d'un mot de passe simple, donne à réfléchir.


RE: Renforcer définitivement la sécurité? - srm - 16-12-2012

Et puis, en soit si l'utilisateur se fait voler son compte parce qu'il a mis un mot de passe bidon, ça le regarde. Tu le préviens des risques quand il met un mot de passe faible et après c'est pas ton soucis Smile


RE: Renforcer définitivement la sécurité? - php_addict - 16-12-2012

oui idem, au bout de X échecs => captcha et si encore plus d'échecs captcha avec de plus en plus de caractères

c'est la seule solution viable, je ne comprends toujours pas comment des webmasters peuvent se fier à l'ip...


RE: Renforcer définitivement la sécurité? - Akira777 - 16-12-2012

@Xenos : Comme je le disais. C'est un exemple. La connexion se fait par mail + mot de passe. Et l'adresse email de chacun des utilisateurs n'est pas visible publiquement. Donc avant de brutforcer "mail + mot de passe" et bloquer trois comptes, y'a de la marge...

A moins que le lanceur du bruteforce est la liste des mails des utilisateurs. Donc, peu de chance qu'un simple bruteforce puisse faire des dégâts à ce niveau.

Le côté partage d'IP que tu mentionnes, je le connais bien (ayant été en cité universitaire quelques mois). Mais il n'entre véritablement pas en ligne de compte ici, car deux points à mentionner ici :

- Le blocage IP a des limites un peu plus élevées que 3 tentatives. Justement pour éviter ce problème. Et ce blocage IP n'est gardé que 12h.
- Secondement, on parle ici d'un jeu par navigateur. C'aurait été un réseau social, un site de vente en ligne ou plus généralement un site avec plus de visiteurs, on repassera sur ce système...

@php_addict : Ma foi, il faut bien à un moment donné faire quelque chose de plus radical. Là, les limites sont suffisamment souple pour éviter le blocage. Encore une fois, on est sur un jeu par navigateur. Bruteforcer un compte n'a strictement aucun intérêt. Si quelqu'un veut être efficace, autant qu'il s'occupe de phpmyadmin, du FTP ou autre...


RE: Renforcer définitivement la sécurité? - Akira777 - 16-12-2012

M'enfin, il est quand même à noter que dans cette façon de fonctionner, l'adresse IP n'est qu'un paramètre de l'équation.

La façon classique de faire, captcha + temps d'attente est très suffisante. Mais mon choix de fonctionnement, pour ne citer que celui là, est un choix d'ergonomie. Je ne veux pas que l'utilisateur se retrouve bloqué sur une page ou il aura un sentiment de frustration de ne pas retrouver son mot de passe.

Le bloquer au bout du quatrième et dernier essai, puis de l'inviter à débloquer son compte par mail et accessoirement de changer son mot de passe directement (en passant, sans qu'il ait besoin de passer par la procédure "mot de passe oublié"), est, en plus d'être une parade contre le bruteforce, m'a permis et là c'est l'expérience qui parle, d'empêcher le départ d'une certaine tranche utilisateur : à savoir, ceux qui, pour un jeu par navigateur n'ont que quelques jours / heures de jeu, et qui abandonnent leur compte suite à une erreur de mot de passe.


RE: Renforcer définitivement la sécurité? - srm - 16-12-2012

La chose simple à faire (plutôt qu'un captcha) c'est de limiter le nombre d'essais par minute voir plus pour la même IP et le même compte.