Как попытка взлома сервиса переводов стала сигналом усилить защиту

Как попытка взлома сервиса переводов стала сигналом усилить защиту

Задача

Недавно на одном из наших проектов — сервисе международных денежных переводов — произошла попытка взлома. Подобные инциденты случаются регулярно, и нужно быть всегда начеку.

Злоумышленник пытался проникнуть в систему через цепочку уязвимостей: похитил токен, подменял запросы и стремился получить доступ к приватным эндпоинтам и админке.

Используя токен другого пользователя, он попытался вывести средства на свои счета. На мгновение ситуация выглядела критичной, но система безопасности сработала вовремя и предотвратила взлом. Транзакции отменили, и все деньги остались на месте.

Решение

В тот момент мы как раз работали над новыми функциями по просьбе заказчика. Но инцидент сразу же переключил наше внимание на безопасность — мы сосредоточились на устранении критических уязвимостей.

Полный список мер мы не раскрываем — чтобы не давать злоумышленникам лишней информации. Но основные шаги можем обозначить.

Мы закрыли доступ к внутренним API, ограничили регистрацию новых пользователей и внедрили управление активными сессиями: теперь можно видеть все сессии пользователя и при необходимости завершать их вручную.

Также усилили защиту от XSS и CSRF: запретили inline-скрипты, добавили проверку полей на опасные символы.

Настроили мониторинг подозрительной активности, логирование важных действий и автоматические уведомления в Telegram при обнаружении угроз.

Все приватные эндпоинты теперь защищены токенами или сессиями с проверкой статуса и контролем доступа — это значительно повысило устойчивость системы к атакам.

Результат

Безопасность нельзя откладывать ради новых функций. Эта ситуация показала, что наша команда умеет быстро реагировать и эффективно укреплять защиту. Благодаря совместным усилиям с заказчиком мы не только вовремя заметили уязвимости, но и сделали систему намного надежнее.

Стек технологий

Python, FastAPI, Flask, PostgreSQL, Redis.

2
Начать дискуссию