SQUADER
Find a party
News

Ночная атака на Squader: как solo-разработчик отбил взлом

История о том, как Squader столкнулся с credential stuffing. Что заметил единственный разработчик, какие меры сработали и почему rate limiting, аудит API и алерты важны даже для маленького проекта.

Ночная атака на Squader: как я отбил взлом в одиночку

В 02:47 телефон завибрировал. Мониторинг: аномальный рост неудачных входов. Squader - мой проект: .NET-бэкенд, Flutter-клиенты, сайт. Я единственный разработчик. Не команда безопасников - я, ноутбук и логи.

Сначала подумал: «Наверное, я что-то сломал». Нагрузка не взлетела, сервер не упал. Но в логах аутентификации неудачных попыток стало на порядок больше. Странность в распределении: не один аккаунт долбили сотни раз, а много разных email, по несколько попыток, разные IP, один эндпоинт логина.

Это credential stuffing. Кто-то взял email и пароли из чужой утечки и проверял их на Squader. Люди часто используют один пароль на разных сайтах. Если совпал - аккаунт «увели». Атака шла медленно, чтобы не попасть под блокировку по IP.

Паника была первые минуты. Потом вспомнил: за пару месяцев до этого мы с ИИ-агентом прогнали аудит API - 402 эндпоинта, авторизация, валидация, права доступа. Тогда я добавил rate limiting на Redis. Он уже отдавал 429, но порог по IP не срабатывал быстро: атака шла с многих адресов.

Сделал три вещи. Счётчик неудачных попыток на аккаунт: не вечная блокировка, а экспоненциальная задержка. После третьей ошибки вход медленнее, после пятой - ещё медленнее. Перебор это убивает, живому человеку почти не мешает. Невидимая капча на логине. Алерт: система сама говорит «посмотри сюда», если порог превышен.

Атака захлебнулась. Скрипты получали 429, капчу и задержки. По логам ни одна попытка в ту ночь не завершилась успешным входом.

Утром я смотрел на ровный график и злился. Не на того, кто перебирал пароли. На себя - за то, что мог не заметить. Маленький проект кажется маленьким только автору. Для скрипта Squader - просто ещё один эндпоинт.

Вывод: безопасность solo-разработчика - не про дорогие инструменты, а про закрытые базовые дыры. Rate limiting, валидация, проверка прав, капча, алерты. Если думаете «меня не коснётся, я маленький» - коснётся. Вопрос лишь в готовности.

Squader - поиск тиммейтов. Но этой ночью он был полигоном для одного разработчика, который понял: даже если ты один, у тебя есть команда - ты сам и проверки, добавленные заранее.

Заходите на squader.pro.

Related

Comments (0)

No comments yet.