Know-How
Brute Force prevence
Brute force útok zkouší hesla systematicky. Bez ochrany je otázkou času, kdy uspěje.
Ochranné mechanismy
- Rate limiting per IP a per účet
- Progressive delays (exponential backoff)
- Account lockout po N pokusech
- CAPTCHA po N neúspěších
- MFA jako poslední obrana
Implementace
# Python — progressive delay
async def login(username, password):
attempts = await get_failed_attempts(username)
if attempts > 5:
delay = min(2 ** (attempts - 5), 300) # Max 5 min
await asyncio.sleep(delay)
if not verify_password(username, password):
await increment_failed_attempts(username)
raise AuthError("Invalid credentials")
await reset_failed_attempts(username)
return create_session(username)
Klíčový takeaway
Rate limiting + progressive delays + CAPTCHA + MFA. Žádný single point of defense.