Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | Re: Account Lockouts |
|---|---|
| Date: | Fri, 03 Dec 2004 17:19:44 -0500 |
Harrison Gladden asked on 2 Dec 2004: > What are successfull techniques that could be used on the web > interface to avoid having a script run against it that would > potentially lock out 15000 user accounts, and create a headache for > the system administrators who have to manually unlock each account?
Remember, the real goal is to make password guessing impractical. Anything you do is fine, as long as you practically achieve your real goal without greater harm to some other goal. You can make the lockout times quite short, or even not have lockouts at all, if you can do something else to make password guessing impractical. For example:
* Don't allow users to set easily-guessed passwords; just reject them, and don't let users log in until they've selected a good one or you've auto-created a good one for them. Users may be more likely to write them down; if you're primarily worried about network-based guessing attacks, that may be a good trade. I don't like letting the system select your password; I prefer checking the password to ensure it's okay. * Don't lock out if the user logs in using the console and/or trusted IP addresses and/or "last IP address" Obviously, this opens you up to password guessing attacks if an attacker is in those IP address ranges, and a good attacker spoof an IP address too (so you want to combine this with other techniques). * Lock out only a given IP range (typically a.b.c.*), and require the use of TCP to make it harder for an attacker to really create a vast set of IP addresses to use. * Shorten the lock-out time. If the password is hard to guess, a lock-out of 5 seconds will still make it extremely difficult to guess the password in your lifetime. Watch out for parallel logins, though. This can still mean that an attacker can always lock out everyone, but only during the duration of an attack; halt the attack & the lockouts cease quickly. * Delay any password verification. E.G.: accept_password(); wait(2 seconds); check_password(); Again, this makes password guessing attacks really hard to execute in reasonable time. Make sure that people can't do thousands of logins in parallel, though, or this is easy to work around.
There are lots of other obvious ways to (partly) deal with this. If I were you, I'd probably combine several of the above techniques, depending on the situation. E.g., require the user to select a good password, don't lock out the IP address they successfully logged in to last time, always delay password verification (e.g., 2 seconds) with a limited number of simultaneous logins, and have a very brief lock-out (say 10 seconds).
By itself, short lock-out times aren't that great, but if you combine it with other approaches they may work well for you. You're actually better off worrying about making the user select a good password FIRST; then the other stuff is less important.
There's no free lunch. Lock-outs make it harder to gain entry by attackers, but also create a denial-of-service opportunity for attackers. You need to consider your specific circumstances to figure out what the best balance is.
--- David A. Wheeler
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Account Lockouts, Mark Burnett |
|---|---|
| Next by Date: | Re: Account Lockouts, Michael Silk |
| Previous by Thread: | Re: Account Lockouts, Jason Coombs |
| Next by Thread: | Re: Account Lockouts, Valdis . Kletnieks |
| Indexes: | [Date] [Thread] [Top] [All Lists] |