I'd like to get your advice about following:
I have web-application on Tomcat using jsp, where users after entering their login and password (both are defined automatically and not changed after account creation) are able to enter their personal page.
I want to make some protection for user accounts using ArrayList on server with users' login ids, where amount of not successful logins for some login ids will be hold (there will be thread making amount value zero after some time period).
In case amount is bigger than some defined value - block login (until amount cleaned) and send to user email link, after clicking on which amount value will be set to 0 internally in server. I will work on that, but my question is about if this approach is correct one and such ArrayList
will satisfy needs:
List<User> users = Collections.synchronizedList(userList);
and access it using synchronized set
and get
methods.
The aim is to get protection against brute-force attacks (manual or maybe even server driven).
Is there a way to defend against access attacks (making many login attempts in short periods of time)?
Thanks in advance.