Интернет-магазин «МагазинОнлайн» обратился к нам в itfresh.ru после серии инцидентов: за последний месяц сайт трижды пытались взломать через SQL-инъекции в форме поиска товаров, дважды — через XSS в отзывах. Одна из атак оказалась успешной — злоумышленник получил дамп таблицы с email-адресами 14 000 клиентов.
Инфраструктура магазина:
- Фронт — Nginx 1.24 как reverse proxy, 2 backend-сервера с PHP 8.2 + Laravel
- БД — MySQL 8.0 с 45 таблицами, 2.3 млн строк товаров
- Трафик — 15 000 уникальных посетителей/день, пики до 40 000 в распродажи
- Защита — отсутствует: ни WAF, ни rate limiting, ни IP-блокировки
Логи Nginx за последнюю неделю показали масштаб проблемы:
# Считаем подозрительные запросы за неделю
grep -cE "(union.*select|concat.*0x|sleep\(|benchmark\(|/etc/passwd|\.\./)" /var/log/nginx/access.log
# Результат: 47 832 подозрительных запроса
# Топ-10 IP по количеству подозрительных запросов
grep -E "(union.*select|concat.*0x|sleep\()" /var/log/nginx/access.log \
| awk '{print $1}' | sort | uniq -c | sort -rn | head -10
# 12847 185.220.101.34
# 8932 45.148.10.74
# 6721 178.62.55.12
# 4210 91.132.147.88
# ...
Задача: развернуть WAF, который блокирует атаки без ложных срабатываний на легитимном трафике магазина.
Оставить комментарий