Как реализовать brute force защиту для login endpoint?

Middle
322 просмотров
AFK Offer AI

Брутфорс защита: 1) Rate limiting по IP: 5 попыток за 15 минут. express-rate-limit с Redis store. 2) Account lockout: после N неудачных попыток заблокировать аккаунт на M минут — счётчик в Redis с TTL. 3) Progressive delay: каждая попытка чуть медленнее (bcrypt cost factor помогает). 4) CAPTCHA после N попыток. 5) Уведомление по email при подозрительной активности. 6) Никогда не показывай разные сообщения "неверный email" vs "неверный пароль" — это позволяет enumerate users. Всегда: "неверные учётные данные".

Следующий вопрос

Как интегрировать Prisma в NestJS?