Question

Je suis dans la phase de planification de développement d'une application web que je veux faire aussi sûr que possible. Je suis assez clair sur la façon de le faire d'un point de vue technique, mais il y a un énorme trou de sécurité potentiel: Je veux que le site pour avoir les utilisateurs.

Comme quelqu'un qui n'a jamais été un utilisateur sait, les utilisateurs oublient les noms d'utilisateur, mots de passe oublier, parfois oublier qu'ils avaient même un compte avec votre site. Les utilisateurs répondent aux e-mails de phishing et de donner leurs informations de connexion. Si vous faites tout ce qu'ils trouvent trop compliqué, ils ne seront pas utiliser votre site, il doit être simple et tout se produire en quelques clics que possible, mais nous devons équilibrer cela en le rendant aussi dur que possible pour les utilisateurs accidentellement donner leurs informations de connexion et de conserver l'accès au service aussi sécurisé que possible.

Ce que je suis particulièrement intéressé par des stratégies qui vont au-delà de la combinaison standard de nom d'utilisateur et mot de passe et les moyens de récupération ou la réinitialisation des mots de passe qui rendent les choses faciles pour les utilisateurs, mais difficile pour tous ceux qui essaient de voler leur compte. Je sais que beaucoup de sites fournissent une question de sécurité réglée par l'utilisateur supplémentaire, mais parce que je ne pas créer des utilisateurs pas faire confiance à une question stupide comme « ce qui est 1 + 1 » Je ne vois pas comment cela peut garantir la sécurité.

Y at-il des stratégies qui pourraient être utilisables à l'utilisateur les plus désemparés, mais difficile à une attaque déterminée et ciblée visant à briser dans leur compte? Sinon, quelles sont les choses les plus proches que nous pourrions obtenir? En tant qu'utilisateur quels sont les meilleurs / pires sites de ce que vous avez rencontrés et pourquoi?

Était-ce utile?

La solution

La seule façon que je connaisse pour construire un site web sécurisé est vraiment d'exiger un mot de passe et un dispositif défi / réponse.

Par exemple, TreasuryDirect.gov vous envoie une carte avec une grille de caractères aléatoires. Dans le cadre du processus d'ouverture de session, vous êtes invité à fournir les caractères contenus dans des cellules spécifiques de la grille. Mais cela coûte cher et prend du temps; il a besoin pour obtenir les cartes, de les suivre et de les envoyer. De plus, si une personne perd la carte, ils ne peuvent se connecter jusqu'à ce que vous obtenez une nouvelle carte. Dans le cas de TreasuryDirect, où vous pourriez être la gestion de millions de dollars, ce tracas vaut la peine. Vous seul pouvez déterminer si elle en vaut la peine pour votre site.

Une autre option est d'ajouter une image de validation, comme beaucoup de banques. Je crois que cette option permet seulement des attaques de phishing traversin si vous pensez phishing sera un problème, cela pourrait être une option.

Je crois que les autres alternatives, y compris ce que la plupart des banques utilisent, semblent être en sécurité, mais ne sont pas vraiment. Les questions de sécurité, par exemple, je crois que les sites compromis plus qu'ils ne l'aide. D'autres pensent cela aussi .

Une autre chose sera d'encourager les utilisateurs à utiliser un « mot de passe » au lieu d'un mot de passe Jeff Atwood recommande . Amazon a adopté cette approche et leur PayPhrase Newish.

Autres conseils

Je pense que vous ne devriez pas réinventer la roue. La plupart des sites ont une solution qui fonctionne pour les mots de passe oubliés, et qui est l'envoi d'un lien vers le compte e-mail de l'utilisateur. La seule façon de ce plan se détraque est si le compte e-mail a été compromise.

Il est évident que les données utilisateur plus importantes sur votre site Web est, plus les mesures de sécurité, vous devriez avoir, mais ces mesures de sécurité supplémentaires ont un impact sur la facilité d'utilisation de votre site. Quelle est l'importance des données sur votre site? Si vous avez 2 ou 3 systèmes d'authentification comme parfois e-banques?

L'aspect le plus important est « faire l'entrée d'utilisateur non confiance ». Si vous faites cela, la plupart des problèmes de sécurité n'existent et il n'y aura pas d'impact sur la facilité d'utilisation. Si vous voulez être paranoïaque, aller de l'avant et de construire un système de sécurité de fantaisie, mais ne pas oublier que cela pourrait avoir un impact de la façon dont les utilisateurs utilisent votre site (pour le pire). Vous devez trouver un équilibre entre ces 2 choses.

Pour l'OP: Mode d'emploi standard approches de la sécurité sur les sites Web. Il y aura inévitablement des utilisateurs de crétin qui se noient et marcher loin de votre site sécurisé, mais c'est la nature de la bête. Vous voulez la sécurité, vous devrez sacrifier une certaine souplesse (et encore, il existe des pratiques connues sur la sécurité qui ont bien fonctionné d'un point de vue convivial.)

En outre, lorsqu'un utilisateur se éloigne, il est généralement pour d'autres choses que la sécurité (conception web merdique, navigation confus, mauvaises performances, manque de fiabilité, etc.) la sécurité Obtrusive est généralement le résultat d'une architecture pauvre, et non de la sécurité lui-même. Gardez cela à l'esprit.

Ma seule suggestion sur la « utilisable mais sécurisé » avant serait d'avoir questions posées, mais les réponses saisies par l'utilisateur (par exemple lieu remarquable, d'abord le nom de l'animal, la date notable). Bien que ceux-ci ne sont pas étanches individuellement, ce qui les rend répondre à une combinaison de deux ou trois questions sur la personne specfic devrait être assez bon.

Et ne pas oublier les mots Captcha ou similaires à ralentir ou d'identifier le forçage brute.

Vous pouvez également utiliser et OpenID OAuth plutôt que d'avoir utilisateur de créer un nouveau compte

À moins que vous comprenez tous les cas de pointe pour traiter en toute sécurité avec l'authentification et des sessions, ne mettent pas en œuvre vous-même.

l'authentification et la gestion session interrompue est l'un des 10 principaux problèmes de sécurité OWASP , Et il y a une raison pour ça. « Viser juste » est si complexe, vous devez être un expert en sécurité web.

Si possible, utilisez un système auth tiers. Par exemple, utiliser des comptes Google. Laissez-les s'inquiètent tout ce genre de choses.

Comme par votre commentaire

Je ne fais pas confiance aux utilisateurs de ne pas créer un question stupide comme "ce qui est 1 + 1" I ne voient pas comment cela peut-il garantir sécurité.

Vous n'avez pas besoin de garantir la sécurité - en fait d'avoir une telle question ne devrait pas être un problème. Permettre aux utilisateurs de définir les conseils dont ils ont besoin.

pour eBanking, il y a une cible assez juteuse que phishers font faire de l'argent, donc si vous êtes dans le même espace, vous pouvez regarder ce que certaines banques font avec beaucoup de succès dans l'espace anti-phishing - antiphishing.org a quelques informations utiles, puis des applications telles que Rapport de Trusteer fournir davantage de sécurité autour de la connexion, et pour les zones de plus grande valeur qu'ils utilisent 2 facteur auth, souvent sous la forme de cartes à puce.

Les solutions pour les différents niveaux de risque différents et facilité d'utilisation sont assez bien compris, vous trouverez peut-être il est plus simple de réutiliser un concept existant que Réaménagement - le coût des tests d'utilisation pourrait être élevé

Licencié sous: CC-BY-SA avec attribution
scroll top