<p dir="ltr">KEYCLOAK-3371</p>
<br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 28, 2016, 14:02 Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Joakim,<br>
<br>
What you&#39;re suggesting makes sense. I&#39;m just trying to say that in<br>
order to have it implemented, we should have a rate limit for password<br>
resets.<br>
<br>
Anyways, please file a jira for it.<br>
<br>
On 2016-07-28, Joakim Löfgren wrote:<br>
&gt; Well everything can be automated, yes.<br>
&gt;<br>
&gt; I&#39;ll explain in more detail.<br>
&gt;<br>
&gt; 1. Hacker or myself fails to login 3 times<br>
&gt; 2. Brute force detection temporarily disables my account<br>
&gt; 3. I enter my email in the reset password form and submit.<br>
&gt; 4. An email lands in my inbox<br>
&gt; 5. Account is still temporarily disabled<br>
&gt; 6. I prove my identity (or at least access to the email account) and click<br>
&gt; the reset link in the email<br>
&gt; 7. Account is unlocked and I get a login session and prompted to update my<br>
&gt; password<br>
&gt;<br>
&gt; This prevents someone from continuously trying to hack my account and thus<br>
&gt; keeping me locked out of my account.<br>
&gt;<br>
&gt; It also provides a better experience for someone who has just forgotten his<br>
&gt; or her password and attempts to login a few too many times.<br>
&gt;<br>
&gt; Just waiting for the account to unlock so the password reset works again<br>
&gt; isn&#39;t more secure in my mind. Just more tedious.<br>
&gt;<br>
&gt; Thoughts?<br>
&gt;<br>
&gt; On Wed, Jul 27, 2016, 14:16 Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On 2016-07-27, Joakim Löfgren wrote:<br>
&gt; &gt; &gt; Not if you have to click the link in the email for it to be unlocked ?<br>
&gt; &gt;<br>
&gt; &gt; You know that can be easily automated, right?<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Tue, Jul 26, 2016, 13:34 Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On 2016-07-26, Joakim Löfgren wrote:<br>
&gt; &gt; &gt; &gt; &gt; Hey,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; I noticed that if you get your account temporarily locked due to the<br>
&gt; &gt; &gt; &gt; brute<br>
&gt; &gt; &gt; &gt; &gt; force detection then you cannot reset your password until the<br>
&gt; &gt; temporary<br>
&gt; &gt; &gt; &gt; &gt; locked has been lifted.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Is this behaviour intended ?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; From what I can tell, this is how it works today and that&#39;s<br>
&gt; &gt; intentional.<br>
&gt; &gt; &gt; &gt; I think that in order to enable password reset for blocked accounts,<br>
&gt; &gt; &gt; &gt; rate limiting for password reset should be introduced, otherwise, an<br>
&gt; &gt; &gt; &gt; attacker could try it again.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; We&#39;ve gotten a few users that become confused when they do not<br>
&gt; &gt; receive a<br>
&gt; &gt; &gt; &gt; &gt; reset password email, and thus contact us asking for help.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Sincerely,<br>
&gt; &gt; &gt; &gt; &gt; Joakim<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &gt; keycloak-dev mailing list<br>
&gt; &gt; &gt; &gt; &gt; <a href="mailto:keycloak-dev@lists.jboss.org" target="_blank">keycloak-dev@lists.jboss.org</a><br>
&gt; &gt; &gt; &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; abstractj<br>
&gt; &gt; &gt; &gt; PGP: 0x84DC9914<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt;<br>
&gt; &gt; abstractj<br>
&gt; &gt; PGP: 0x84DC9914<br>
&gt; &gt;<br>
<br>
--<br>
<br>
abstractj<br>
PGP: 0x84DC9914<br>
</blockquote></div>