Skip to content
This repository has been archived by the owner. It is now read-only.

Lock a user's account after X unsuccessful login attempts #394

Closed
ckarlof opened this issue Dec 10, 2013 · 17 comments
Closed

Lock a user's account after X unsuccessful login attempts #394

ckarlof opened this issue Dec 10, 2013 · 17 comments

Comments

@ckarlof
Copy link
Contributor

@ckarlof ckarlof commented Dec 10, 2013

Per #222 (comment)

  1. lock a user's account after "x" total unsuccessful consecutive login attempts. By moving to X consecutive failed logins instead of resetting the quota after 1 hour, we may thwart attempts for attackers to throttle login requests to stay under suspicion. A fine line between "security" and mass inconvenience.
@jbonacci
Copy link

@jbonacci jbonacci commented Dec 10, 2013

👍 to this security feature.
But just how will we lock the account?
And how will we notify the user? through an email message?
or some message in the browser on the next attempt to login?

@pdehaan
Copy link
Contributor

@pdehaan pdehaan commented Feb 4, 2014

You should be able to reset the account by going through the password reset flow.

@pdehaan
Copy link
Contributor

@pdehaan pdehaan commented Feb 4, 2014

The code for this should be in Persona to check for X attempts in Y minutes.

@pdehaan
Copy link
Contributor

@pdehaan pdehaan commented Feb 4, 2014

/cc @jrgm Can you find the discussion or code in mozilla/Persona repo. Thanks.

@jrgm
Copy link
Contributor

@jrgm jrgm commented Feb 4, 2014

For reference, this is the bug for Persona mozilla/persona#2656 and the PR to implement mozilla/persona#3337. (I misremembered how it was done, and there is no time component; it's simply a count of consecutive failures and the user has to 'forget" their password to regain account access).

@dannycoates
Copy link
Member

@dannycoates dannycoates commented Feb 4, 2014

We can't just use the forgot password flow because wrapKb gets reset when you complete the reset. This would allow anyone to reset anyone's wrapKb by intentionally locking their account. Not cool.

@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Mar 21, 2014

I think we should at least get something basic in by train-08.

@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Mar 21, 2014

This does raise the question of whether our policies and algorithms on this are public.

@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Mar 21, 2014

What options do we have for notifying a client that they logged wrong too many times in a row?

This one?
status code 429, errno 114: client has sent too many requests

Does Android support this? @ncalexan?

@rfk
Copy link
Member

@rfk rfk commented Mar 21, 2014

status code 429, errno 114: client has sent too many requests

yep, that's broadly what this is intended for

@ncalexan
Copy link
Member

@ncalexan ncalexan commented Mar 21, 2014

@ckarlof Android will say something generic: "There was a problem."

See http://mxr.mozilla.org/mozilla-central/source/mobile/android/base/locales/en-US/sync_strings.dtd#217

We can land better messaging for 31.

@dannycoates
Copy link
Member

@dannycoates dannycoates commented Mar 23, 2014

This does raise the question of whether our policies and algorithms on this are public

I intend to implement this and #520 as a separate service that the auth-server queries before handling the request. So it will be possible to have private implementations of these if we need to.

@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Mar 23, 2014

I intend to implement this and #520 as a separate service that the auth-server queries before handling the request. So it will be possible to have private implementations of these if we need to.

Just what I was thinking this weekend as well.

@ckarlof ckarlof modified the milestones: train-10 (Apr 14), train-08 (Mar 31) Apr 4, 2014
@ckarlof ckarlof modified the milestones: train-11 (Apr 21), train-10 (Apr 14) Apr 15, 2014
@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Apr 15, 2014

@dannycoates is this on your radar for this week? I think we need some bare bones disaster mechanism in place for Fx 29 GA.

@dannycoates
Copy link
Member

@dannycoates dannycoates commented Apr 15, 2014

@ckarlof we already rate limit by failed login attempts, 5 tries in 15 minutes, i.e. you can't login even with valid credentials during that time after 5 failures. I do plan on making that piece more robust this week. Do we need something that requires user intervention to unlock the account?

@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Apr 15, 2014

Right, #664. I'll close this then.

Do we need something that requires user intervention to unlock the account?

Not in general, but it would be nice if resetting the password reset the counts.

I'm going to open an issue to revisit these params for #664 before Fx 29 GA.

@ckarlof ckarlof closed this Apr 15, 2014
@ckarlof
Copy link
Contributor Author

@ckarlof ckarlof commented Apr 15, 2014

Take it to #680.

rfk added a commit that referenced this issue Oct 24, 2018
Fix a couple of dependency related things
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants