<div dir="ltr">Bruno - I&#39;m not following why it needs to be rate limited. The attacker would have to have access to the users email to be able to click on the reset password link to unlock the account. However, it would be better to only unlock the account once the password has been updated and not when the link is clicked.</div><div class="gmail_extra"><br><div class="gmail_quote">On 29 July 2016 at 10:44, Joakim Löfgren <span dir="ltr">&lt;<a href="mailto:joakim.lofgren@gmail.com" target="_blank">joakim.lofgren@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">KEYCLOAK-3371</p><div class="HOEnZb"><div class="h5">
<br><div class="gmail_quote"><div dir="ltr">On Thu, Jul 28, 2016, 14:02 Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org" target="_blank">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; ______________________________<wbr>_________________<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/<wbr>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>
</div></div><br>______________________________<wbr>_________________<br>
keycloak-dev mailing list<br>
<a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/keycloak-dev</a><br></blockquote></div><br></div>